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

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

2点クリック長さ合計
初めての投稿となります。よろしくお願いいたします。AC LT 2019を使用しています。
ネット上のマクロを検索してカスタムコマンドに貼り付けて利用しているレベルの者です。

添付ファイルのように各装置間の配線長さを計測するために、普段の作業はDISTコマンドを使用し、
A点とB点をクリックして、デルタX=3292とデルタY=-1754の絶対値を電卓で足して「5.0m」と求める作業を
頻繁に行っております。
「138.一発合計長さ計測」に辿り着き試してみたのですが、やりたい事は同じではあるものの
クリックする手数がDISTよりも多く結局DISTを使う作業に戻ってしまいました。
138.のマクロをカスタマイズして「2点クリック長さ計測」に変更できないか考えましたが、
どこから学んで良いのか分からず投稿することにしました。
私の努力不足かもしれませんがフォローいただけると助かる状況です。
よろしくお願いいたします。

  • さんちゃん
  • 2020/06/25 (Thu) 09:25:54
Re: 2点クリック長さ合計
単純に考えるとこんな感じでしょうか

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),id;1点目を指定:^X\setenv;to;1,;p1;$(getvar,lastpoint);id;2点目を指定:^X\setenv;to;2,;p2;$(getvar,lastpoint);;to;3,,,,)$(nth,$(getenv,to),,,,pline;non;$(index,0,$(getenv,p1))","$(index,1,$(getenv,p1));non;$(index,0,$(getenv,p1))","$(index,1,$(getenv,p2));non;$(index,0,$(getenv,p2))","$(index,1,$(getenv,p2));;setenv;to;4,,,)$(nth,$(getenv,to),,,,,lengthen;l;dy;;erase;l;;setenv;to;5,;l1;$(getvar,perimeter);;to;6,^Csetenv;^Z^X【合計:$(getenv,l1)】^X)^M
  • chibi-tom
  • 2020/06/25 (Thu) 10:54:58
Re: 2点クリック長さ合計
こっちのほうが単純かな?

^C^Crectang;1点目を指定:^X\2点目を指定:^X\lengthen;l;dy;;erase;l;;^Csetenv;^Z^X【合計:$M=$(/,$(getvar,perimeter),2)】^X^M
  • chibi-tom
  • 2020/06/25 (Thu) 11:33:18
Re: 2点クリック長さ合計
^C^Cline;\$M=\$M=;3dpoly;non;@;.x;$(getvar,lastpoint);"$(getvar,lastpoint)";non;$(getvar,lastpoint);;lengthen;l;dy;;erase;l;;;l;;perimeter;

作ってみた。
動作未検証。

13:30 マクロ変更しました。 lwpoly→3dpoly
  • Lon
  • 2020/06/25 (Thu) 12:04:15
Re: 2点クリック長さ合計
chibi-tomさん、Lonさん、早々のご回答ありがとうございました。
3つとも試しました。3件目は私の入れ方が悪いのか思うような動作になりませんでしたが、
1件目、2件目は思っていた動作そのものでした。

^C^Crectang;1点目を指定:^X\2点目を指定:^X\lengthen;l;dy;;erase;l;;^Csetenv;^Z^X【合計:$M=$(/,$(getvar,perimeter),2)】^X^M
こちらのマクロを活用させていただきます。

スピード解決に感謝いたします。
ありがとうございました。
  • さんちゃん
  • 2020/06/25 (Thu) 13:09:46

返信フォーム






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