AutoCADマクロ屋本舗 掲示板


標高表記マクロ

1:h_s :

2018/07/25 (Wed) 19:37:01

皆様お世話になります。
マクロの改造をお願い出来ませんか?

現在下記のマクロを使用させて頂いております。
^C^C基準文字=【 0:EL 1:GL 2:FL 3:BL 】^X^Puseri2;\^Pline;\$M=\.xz;non;@;$(index,1,$(getvar,lastpoint));;lengthen;dy;;;l;;;erase;l;;;l;;dimordinate;\t;$M="$(nth,$(getvar,useri2),EL+,GL+,FL+,BL+)$(rtos,$(+,$(/,$(getvar,perimeter),1),100),2,2)";\explode;l;;l^M
本マクロでは、基準点から物体の高さを計測し、計測数値に+100して表記されます。
現在は、基準点が±0では無い為、マクロ終盤の100の数値を基準標高数値に打ち変えて使用しています。
もう少し効率良く作業が出来ないかと思いお願いした次第です。
希望動作は下記の通りとなります。

〇希望動作
標高の表記は ”▽+******* BOP 又は ▽+******* COP ”としたいです (***の部分は計測値)
基準標高を毎回任意の数値を入力したいです
BOP、COP表記を毎回選択出来るようにしたいです
基準標高が-******の場合もあります
寸法単位はmmです

使用Ver.は2016レギュラー版です。
皆様どうぞ宜しくお願い致します。
2:とってぃ :

2018/07/26 (Thu) 09:19:17

>基準標高を毎回任意の数値を入力したいです
>BOP、COP表記を毎回選択出来るようにしたいです

マクロ開始部分の
^C^C ⇒ *^C^C
にするだけで、上記2つは解決します。


>基準標高が-******の場合もあります
マイナス値になる場合はどの様な場合ですか?
元のマクロでは、lengthenコマンドで長さを計測しているだけなので
マイナスの値の判断は不可能かと。
3:h_s :

2018/07/26 (Thu) 10:19:10

とってぃ様
お世話様です。
ご回答ありがとうございます。

>基準標高を毎回任意の数値を入力したいです
基準標高は、現マクロでは±0の地点から物体までの計算値+100が表記されます。
業務上、基準標高が+1500であったり、-3000であったりする為、基準標高が変わる度にマクロ内の100の数値を基準標高数値に変更しております。
マクロ文を変更するのではなく、コマンド実行時に基準標高を入力出来ないものかと考えております。
(基準標高を入力し、物体までの計算値を入力値にプラスし表記させたいです)

>BOP、COP表記を毎回選択出来るようにしたいです
BOP、COPについては、標高表記後に後付けでBOP or COPを追記しております
(▽+計算値 → ▽+計算値 BOP or COP と表記させたい)

>マイナス値になる場合はどの様な場合ですか?
基準標高が-1000、物体が基準標高から2000に位置にあった場合、▽+1000 BOP or COP となるように表記させたいです。

ご教授頂いた内容でマクロ修正致しましたが、特に変化はありませんでした。申し訳ありません。
ご確認宜しくお願い致します。
4:とってぃ :

2018/07/26 (Thu) 11:33:59

意味が分かりました。

修正してみましたのでお試しください。


*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;txt1;基準文字=【 0:EL 1:GL 2:FL 3:BL 】^X\;hk;基準標高記入^X\;txt2;挿入文字=【 0:BOP 1:COP 】^X\id;\setenv;to;1,,)$(nth,$(getenv,to),,;to;0;line;non;@;\.xz;non;@;$(index,1,$(getvar,lastpoint));;lengthen;dy;;;l;;;erase;l;;;l;;setenv;to;2,)$(nth,$(getenv,to),,,dimordinate;\t;$(nth,$(getenv,txt1),EL,GL,FL,BL)$(if,$(>,$(getenv,hk),0),+,)$(rtos,$(+,$(/,$(getvar,perimeter),1),$(getenv,hk)),2,2)$(nth,$(getenv,txt2),BOP,COP);\explode;l;;l)^M
5:Lon :

2018/07/26 (Thu) 11:34:29

そのマクロを改造するのは面倒だったので、(というかご希望の状態には出来ないと思われるので)
新しく作ってみました。

条件として、
記入する図面は断面図(立面、側面)
UCSは、ワールド。(又は回転していないUCS)

*^C^C$M=useri3;0;$(nth,$(getvar,useri3),useri2;【 0:COP 1:BOP 】<$(getvar,useri2)>^X\userr2;【基準標高】<$(getvar,userr2)>^X\id;【基準点クリック】^X\useri3;1,userr3;$(-,$(getvar,userr2),$(index,1,$(getvar,lastpoint)));useri3;2,,,)$(nth,$(getvar,useri3),,,id;【計測点クリック】^X\useri3;3,userr4;$(rtos,$(+,$(index,1,$(getvar,lastpoint)),$(getvar,userr3)),2,2);useri3;4,)$(nth,$(getvar,useri3),,,,,dimordinate;\t;▽$(if,$(>,0,$(getvar,userr4)),,$(if,$(getvar,userr4),+,%%P))$(getvar,userr4) $(nth,$(getvar,useri2),COP,BOP);\explode;l;;l;useri3;2)^M

操作手順
①COP or BOP 選択(0か1を入力:前回と同じで良いならエンターのみ)
②基準標高入力(前回と同じで良いならエンターのみ)
③基準点クリック(基準標高の場所)
④計測点クリック
⑤寸法記入点クリック&数値記入位置クリック
 以降、④⑤④⑤・・・・の繰り返し。
終了はEscキーを押す(右クリックでは終了しません)
6:h_s :

2018/07/26 (Thu) 18:51:00

とってぃ様
Lon様

貴重なお時間下さりありがとうございました。
お二方のマクロバッチリ動作致しました!
作業効率が大幅にアップしました!
この度は本当にありがとうございました。
7:h_s :

2018/09/22 (Sat) 21:12:45


お世話になります。

先日作成して頂いたマクロ大変重宝しております。
少しだけ修正をお願いしても宜しいでしょうか。

Lon様に作成頂いたマクロで、
操作手順 ④計測点と⑤寸法記入点が同じなので、⑤の寸法記入点クリック作業を省き、
④計測点クリック→⑤数値記入位置クリックとしたいのですが可能でしょうか。

お手数おかけ致しますが、宜しくお願い致します。
8:とってぃ :

2018/09/24 (Mon) 09:37:49

*^C^C$M=useri3;0;$(nth,$(getvar,useri3),useri2;【 0:COP 1:BOP 】<$(getvar,useri2)>^X\userr2;【基準標高】<$(getvar,userr2)>^X\id;【基準点クリック】^X\useri3;1,userr3;$(-,$(getvar,userr2),$(index,1,$(getvar,lastpoint)));useri3;2,,,)$(nth,$(getvar,useri3),,,id;【計測点クリック】^X\useri3;3,userr4;$(rtos,$(+,$(index,1,$(getvar,lastpoint)),$(getvar,userr3)),2,2);useri3;4,)$(nth,$(getvar,useri3),,,,,dimordinate;non;@;t;▽$(if,$(>,0,$(getvar,userr4)),,$(if,$(getvar,userr4),+,%%P))$(getvar,userr4) $(nth,$(getvar,useri2),COP,BOP);\explode;l;;l;useri3;2)^M

動作未確認ですが、こんな感じかな?
9:h_s :

2018/09/24 (Mon) 10:15:24

とってぃ様

ありがとうございます。
バッチリ動作致しました!

お休みのところ申し訳ありませんでした。
ありがとうございました。

  • 名前: E-mail(省略可):
  • 画像:

Copyright © 1999- FC2, inc All Rights Reserved.