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

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

線分長さ取得(複数)
お世話になります

線分の長さをテキストで表示させたいのですが、複数の線分(ポリライン含む)

を一括で選択し、作図させることは可能でしょうか?

一つの線分のものは作れたのですが・・・

*^C^C_lengthen;\;;;text;j;bc;mid;@;50;0;($M=$(rtos,$(getvar,perimeter),2,0));_chprop;l;;c;200;;

出来れば複数を一括で作図し、線分の角度に合わせられれば良いのですが・・・

良い方法があれば教えて頂けないでしょうか
(AutoCAD2015を使用しています)


  • ぼす
  • 2016/08/02 (Tue) 22:58:24
Re: 線分長さ取得(複数)
作ってみました。お試しください。


♪一括選択 線分長さ記入
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),select;\lengthen;dy;;copybase;non;0<0;p;;-layout;d;L-S;setenv;to;1,;to;2;;cv;$(getenv,CreateViewports);;CreateViewports;0;-layout;n;L-S;;s;L-S;pasteblock;non;0<0;zoom;a;explode;l,,,)$(nth,$(getenv,to),,,;to;3;lengthen;l;;ucs;ob;l;id;mid;$M="""$(/,$(getvar,perimeter),2)<0;ucs;p;text;j;bc;mid;@;$(*,$(getvar,dimscale),5);0;($(rtos,$(getvar,perimeter),2,0))""";chprop;l;;c;200;;copybase;non;0<0;l;;erase;l;;;l;,,)$(nth,$(getenv,to),,,,;to;4;-layout;s;Model;pasteclip;non;0<0;-layout;s;L-S;select;l;;setenv;to;2,-layout;s;Model;;d;L-S;setenv;CreateViewports;$(getenv,cv))^M

●使い方
1.線分オブジェクトを選択
  ※処理が終了するまでお待ちください。

▲注意
1.レイアウト名「L-S」をダミーで使用しています。
  作業上、上記のレイアウトを使われる場合は、マクロ中の「L-S」を変更して下さい。


動作確認 LT2013


※動作が止まる等の不具合がある場合は
 マクロ実行後の流れをコピー貼り付け下さい。
 (キーボードF2⇒テキストウィンドウ表示)
  • とってぃ
  • 2016/08/03 (Wed) 08:57:31
Re: 線分長さ取得(複数)
とってぃさん 返信ありがとうございます

何回か試しましたが途中で止まってしまいます


コマンド: setenv
変数名を入力: to
値 <3>: 0
コマンド:
コマンド:
EXECUTETOOL
コマンド: to
TOOLBAR ツールバー名を入力 または [すべて(ALL)]: 4
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <4>: -layout
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <-layout>: s
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <s>: Model
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <Model>: pasteclip
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <pasteclip>: non
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <non>: 0<0
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <0<0>: -layout
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <-layout>: s
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <s>: L-S
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <L-S>: select
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <select>: l
ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <l>:
コマンド: setenv
変数名を入力: to
値 <0>: 2
コマンド:
コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <2>: 0
コマンド:
コマンド:
SETENV
変数名を入力: to
値 <0>: 3
コマンド:
コマンド: lengthen
計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <増減(DE)>: l
現在の長さ: 3272.3774
計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <増減(DE)>:
増減の長さを入力 または [角度(A)] <0.0000>: ucs
距離を数値で入力してください, 2 点を指定 または オプションのキーワードを入力してください。
増減の長さを入力 または [角度(A)] <0.0000>: *キャンセル*


この用になってしまい、モデル空間で止まってしまいます
私のパソコン設定の問題でしょうか?
  • ぼす
  • 2016/08/03 (Wed) 19:01:19
Re: 線分長さ取得(複数)
ちょっと修正しましたので再度お試しください。

♪一括選択 線分長さ記入 改
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),select;\lengthen;dy;;copybase;non;0<0;p;;-layout;d;L-S;setenv;to;1,;to;2;;cv;$(getenv,CreateViewports);;CreateViewports;0;-layout;n;L-S;;s;L-S;pasteblock;non;0<0;zoom;a;explode;l,,,)$(nth,$(getenv,to),,,;to;3;lengthen;l;;;ucs;ob;l;id;mid;$M="""$(/,$(getvar,perimeter),2)<0;ucs;p;text;j;bc;mid;@;$(*,$(getvar,dimscale),5);0;($(rtos,$(getvar,perimeter),2,0))""";chprop;l;;c;200;;copybase;non;0<0;l;;erase;l;;;l;,,)$(nth,$(getenv,to),,,,;to;4;-layout;s;Model;pasteclip;non;0<0;-layout;s;L-S;select;l;;setenv;to;2,-layout;s;Model;;d;L-S;setenv;CreateViewports;$(getenv,cv))^M
  • とってぃ
  • 2016/08/04 (Thu) 08:15:27
Re: 線分長さ取得(複数)
とってぃ様

いつもお世話になっております

きちんと動作しました。

本当にありがとうございます。

  • ぼす
  • 2016/08/04 (Thu) 08:58:07
Re: Re: 線分長さ取得(複数)
このカスタムにミリメートルをメートルに変えるというのを付け足すとどうなるのでしょうか?
  • 板原聡子
  • MAIL
  • 2020/01/08 (Wed) 05:26:28
Re: 線分長さ取得(複数)
($(rtos,$(getvar,perimeter),2,0))を

($(rtos,$(*,$(getvar,perimeter),0.001),2,0))に

変更すれば良いかと思います
  • chibi-tom
  • 2020/01/08 (Wed) 08:51:45

返信フォーム






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