この掲示板は AutoCADマクロ屋本舗 の掲示板です。

【 注意 】最初に必ず ↓↓ 下記内容 ↓↓ を参照ください。
① マクロが分からない方は、まず 【 マクロ講座 】 を参照ください。
② 質問の前に 【 マクロ使用前の注意事項 】 をお読みください。
③ 質問する時は、新規投稿フォーム下の【 新規投稿時のお願い 】を必ずお読みください。

寸法値の「文字のみの移動」について
AutoCAD LT 2018を使用しています。

寸法値の「文字のみの移動」で右(または左)へ100移動させる
コマンドマクロはありますでしょうか。


たとえば画像の寸法値50の部分ですが、
隣の寸法値と重なってしまうので右へ100移動させています。
この作業をコマンドマクロなどでできれば・・・と思うのですが、
よい方法ありましたら教えてください。
(LTで無理でしたら、AutoCADやメカニカルの方法、VBAなどでも構いません)


このようなパターンの図面がたくさんあり、
毎回マウスでぽちぽち・・・は手がしびれてくる作業なので、
文字をワンクリックで移動できたらいいな・・・と思いました。

よろしくお願いいたします。
  • 2018/02/19 (Mon) 09:24:59
Re: 寸法値の「文字のみの移動」について
作ってみました。
お試しを。

♪寸法値文字のみ100移動
*^c^c$M=setenv;to;0;$(nth,$(getenv,to),offset;;^x^x寸法値を指定【$(if,$(eq,$(getenv,sw),0),右,左)方向】-切替(Rc)-^x\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;setenv;to;2,setenv;to;1)""",;sw;$(if,$(eq,$(getenv,sw),0),1,0),)$(nth,$(getenv,to),,,copy;p;;non;@;non;@;erase;p;;copy;l;;non;@;non;@;explode;l;ucs;ob;l;erase;p;;aidimtextmove;2;l;;$(if,$(getenv,sw),-,)100<0;ucs;p)^M

●使い方
1.寸法値を指定 ※右クリックで右⇔左方向切替
  以下繰返し

  • とってぃ
  • 2018/02/19 (Mon) 11:20:04
Re: Re: 寸法値の「文字のみの移動」について
とってぃさん、ありがとうございます!

LTでは無理なのかも...と思っておりました。
コマンドマクロで可能だったのですね、
活用させて頂きます。
  • 2018/02/19 (Mon) 21:39:51
Re: 寸法値の「文字のみの移動」について
とってぃさんのマクロですが、
もし寸法の自動調整がON(はい)の場合、それが解除されてしまいますので解除されない様に組み替えてみました。
寸法を@で選択していますので、場合によってはエラーが出るかもしれません。
自動調整を使ってないなら、とってぃさんのマクロの方が安定していますので、こちらは使わないで下さい。

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),offset;;^x^x寸法値を指定【$(if,$(eq,$(getenv,sw),0),右,左)方向】-切替(Rc)-^x\$M="""$(if,$(getvar,cmdactive),;copy;non;@;non;@;;non;@;non;@;setenv;to;2,setenv;to;1)""",;sw;$(if,$(eq,$(getenv,sw),0),1,0),)$(nth,$(getenv,to),,,explode;l;ucs;ob;l;erase;p;;aidimtextmove;2;@;;$(if,$(getenv,sw),-,)100<0;ucs;p)^M
  • Lon
  • 2018/02/20 (Tue) 08:50:15
Re: Re: 寸法値の「文字のみの移動」について
Lonさん、
ありがとうございます!

自動調整がONになっているもの、
OFFになっているものがありますので、
ますます動作が安定しそうです。


もう1つお教え頂きたいのですが、
1度目のクリックで100移動し、
もう一度クリックするとまた100、
さらにクリックするとまた100...というように
移動を繰り返せないでしょうか?
  • 2018/02/20 (Tue) 17:26:15
Re: 寸法値の「文字のみの移動」について
Lonさんの方のマクロを修正してみました。
お試しを。

♪寸法値文字のみ100移動 改
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),offset;;^x^x寸法値を指定【$(if,$(eq,$(getenv,sw),0),右,左)方向】-切替(Rc)-^x\$M="""$(if,$(getvar,cmdactive),;copy;non;@;non;@;;non;@;non;@;setenv;to;2,setenv;to;1)""",;sw;$(if,$(eq,$(getenv,sw),0),1,0),)$(nth,$(getenv,to),,,ucs;ob;l;explode;l;ucs;ob;0<0;erase;p;;aidimtextmove;2;@;;$(if,$(getenv,sw),-,)100<0;ucs;p;;p)^M
  • とってぃ
  • 2018/02/21 (Wed) 08:50:24
ありがとうございました!
とってぃ様

ありがとうございました。
動作が確認できました。
ぽちぽち作業が減り、とても楽になります!
今は理解できない部分が多いですが、
じっくり勉強させていただきます。
  • 2018/02/21 (Wed) 10:08:12
Re: 寸法値の「文字のみの移動」について
横から失礼します。
上記マクロで左右ではなく、
寸法値を上下に移動させたい場合は
どういった記述になるのでしょうか。
お教え頂けれは幸いです。
よろしくお願いいたします。
  • 金太郎
  • 2022/01/10 (Mon) 02:20:00
Re: 寸法値の「文字のみの移動」について
下記の2か所を書き換えると良いと思います。

1)【$(if,$(eq,$(getenv,sw),0),右,左)方向】→【$(if,$(eq,$(getenv,sw),0),上,下)方向】
2) 100<0;ucs;p;;p)^M→100<90;ucs;p;;p)^M

ちなみに上記にある「100」が移動量です。
  • Den
  • 2022/01/10 (Mon) 22:31:52
Re: 寸法値の「文字のみの移動」について
早々にお教えいただきありがとうございます。
<0を<90にするとY軸方向の変位量になるのですね。
大変勉強になりました。

ありがとうございます。
  • 金太郎
  • 2022/01/11 (Tue) 10:44:37

返信フォーム






プレビュー (投稿前に内容を確認)