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

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

無題
お世話になっております。

画像のような
工程を行う際のマクロは御座いますでしょうか?

それぞれの四角を円に向かって
同じ距離を移動したいのです。
いまは一つずつ移動しています。

どうぞよろしくお願いいたします。


★AUTOCAD2019使用中です。
  • muti
  • 2019/09/05 (Thu) 10:38:14
Re: 左右同時移動
件名を無題にしてしまいました
  • muti
  • 2019/09/05 (Thu) 10:39:39
Re: 無題
かなり無理が有る気がしますね
何をどれだけ動かすはそれぞれ選択しなくてはならないので
一度に選択してこれは右、これはそのまま、これは左と判断するのは視覚のみだと思います

制限がたくさんありますが
添付画像だけで考えればこんな感じで可能かもしれません

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),ucs;w;setenv;l1;移動距離を入力^X\join;中央の円を選択^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;ucs;ob;non;@;setenv;to;1,^Csetenv;to;0)""",,,)$(nth,$(getenv,to),,join;四角の縦線部分を選択^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;setenv;p1;$(getvar,lastpoint);;to;2,^Csetenv;to;0)""",,)$(nth,$(getenv,to),,,line;non;0<0;per;$(getenv,p1);;ucs;ob;l;erase;l;;setenv;p2;$M="""$(getvar,lastpoint)""";move;non;@;;non;@;@$(getenv,l1)<W;setenv;to;3,)$(nth,$(getenv,to),,,,id;-$(index,0,$(getenv,p2))","$(index,1,$(getenv,p2));move;non;@;;non;@;@$(getenv,l1)<E;ucs;p;;p;^Csetenv;to;0)^M

1.マクロ起動
2.移動距離を入力
2.中央の円を選択
3.どちらかの四角の『縦の線分』を選択

・左右の四角の位置が均等に離れていること前提です
・移動距離で-記入すると離れます

また、R版の様なので他にも方法があるかもしれないが
使用したことが無いのでわかりません

setenv,getenvが使用できなかったら
MAIN MENUの【レギュラー版での使用に関する注意事項】
https://ameblo.jp/totthi-macro/entry-10895232361.html
を対応してください
  • chibi-tom
  • 2019/09/05 (Thu) 12:29:00
Re: 無題
chibi-tom様
ご対応ありがとうございます。

この動作を希望しておりました!
しかし、画像のオブジェクトは仮なのです...
他オブジェクトだとやはり厳しいのですか?
  • muti
  • 2019/09/05 (Thu) 14:01:27
Re: 無題
やってみてください

やっていることはUCSの移動と座標の取得、及びオブジェクトの移動、反対側はX座標に-をつけただけですので
円の中心から垂線が引けるオブジェクトであれば可能だと思います
  • chibi-tom
  • 2019/09/05 (Thu) 14:16:25
Re: 無題
chibi-tom様
ご対応ありがとうございます。

試してみたところ、
円以外のオブジェクト、ブロックでも
正常動作しました!

ありがとうございました。
  • muti
  • 2019/09/05 (Thu) 14:24:10

返信フォーム






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