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

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

累計面積マクロ修正のお願い
autocad2019です。

ハッチングの累計面積をクリックして、個々の面積を表示させる、また総面積も表記させるというマクロを作成していただきました。

そこで、
①CAD上の面積は、mm単位で作図しているので、表示させる面積は「m2」にしたい。
(例えば、1,000,000mm2なので、1000000で割って1m2としたい。)

②表示単位を1.00m2と下2桁で表示したい

というお願いがございます。

ちなみに、使用しているマクロは、

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;rs;0;;to;1,;to;0;offset;;^Xオブジェクト選択:^X\;setenv;to;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;setenv;to;2,,,,,)$(nth,$(getenv,to),,,setenv;p1;$(getvar,lastpoint);area;o;l;setenv;to;3,-mtext;non;$(getenv,p1);non;@;A=$(rtos,$(/,$(getvar,area),1))㎡;;setenv;to;4,,,)$(nth,$(getenv,to),,,,,offset;;^X次のオブジェクト選択:A=$(rtos,$(/,$(getvar,area),1000000))㎡,ΣA=$(rtos,$(/,$(+,$(getenv,rs),$(getvar,area)),1000000))㎡[総面積記入(R-Click)]^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;5,setenv;to;6)""",,)$(nth,$(getenv,to),,,,,,;to;4;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;setenv;rs;$(+,$(getenv,rs),$(getvar,area));;to;2,-mtext;\@;総面積=$(rtos,$(/,$(+,$(getenv,rs),$(getvar,area)),1000000))㎡;;id;)^M


です。よろしくお願いいたします。
  • 森本
  • MAIL
  • 2020/06/29 (Mon) 14:28:37
Re: 累計面積マクロ修正のお願い
ご提示のマクロが下記のマクロと微妙に違うのは何か意味がありますか?

https://ameblo.jp/totthi-macro/entry-11078217286.html

ご提示のマクロ:A=$(rtos,$(/,$(getvar,area),1))㎡
とってぃさんのマクロ:面積=$(rtos,$(/,$(getvar,area),1000000))㎡
面積=がA=になっているのは関係ないとして除算の数値が『1』と『1000000』では答えが違ってきます

あと
②表示単位を1.00m2と下2桁で表示したい
についてはとりあえず
下記を試してみてください

現在設定している寸法スタイルの「基本単位タブ」
0省略表記の末尾のチェックを外す
  • chibi-tom
  • 2020/06/29 (Mon) 16:01:51
Re: 累計面積マクロ修正のお願い
chibi-tomさん、ありがとうございます。

①の表示単位の変換は、

私が編集したマクロが間違っていました。すみまんせん。

面積=$(rtos,$(/,$(getvar,area),1000000))㎡

と入力したつもりが、作成ミスで「1000000」が「1」となっていました。

↑修正してできました。

続いて、②の例えが悪かったのですが、0.6548m2→0.66m2と表記したい

という意味です。

何とかなりますか?

  • 森本
  • MAIL
  • 2020/06/29 (Mon) 16:25:05
Re: 累計面積マクロ修正のお願い
0省略表記の末尾のチェックを外すにも対応しています

事前にチェックを外す必要はないと思います。

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;rs;0;;to;1,,,,,,,)$(nth,$(getenv,to),,;to;0;offset;;^Xオブジェクト選択:^X\;setenv;to;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;setenv;to;2,,,,,,)$(nth,$(getenv,to),,,setenv;p1;$(getvar,lastpoint);area;o;l;setenv;dz;$(getvar,DIMZIN);DIMZIN;1;setenv;to;3,,,,,)$(nth,$(getenv,to),,,,-mtext;non;$(getenv,p1);non;@;A=$(rtos,$(/,$(getvar,area),1000000),2,2)㎡;;DIMZIN;$(getenv,dz);setenv;to;4,,,,)$(nth,$(getenv,to),,,,,offset;;^X次のオブジェクト選択:A=$(rtos,$(/,$(getvar,area),1000000),2,2)㎡,ΣA=$(rtos,$(/,$(+,$(getenv,rs),$(getvar,area)),1000000),2,2)㎡[総面積記入(R-Click)]^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;5,setenv;to;6)""",,,)$(nth,$(getenv,to),,,,,,;to;4;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;setenv;rs;$(+,$(getenv,rs),$(getvar,area));;to;2,,)$(nth,$(getenv,to),,,,,,,;dz;$(getvar,DIMZIN);DIMZIN;1;setenv;to;7,)$(nth,$(getenv,to),,,,,,,,-mtext;\@;総面積=$(rtos,$(/,$(+,$(getenv,rs),$(getvar,area)),1000000),2,2)㎡;;DIMZIN;$(getenv,dz);id;)^M

余計なことかもしれませんが、『下2桁』と『少数第2位=小数点以下2桁』は意味が違うと思います
時代の流れで『伝われば良い』との考えもあるかもしれませんし
自分だけかもしれないのでおっさんの戯言とスルーしていただいても構いません
  • chibi-tom
  • 2020/06/29 (Mon) 16:41:47
Re: 累計面積マクロ修正のお願い
chibi-tom様 

ありがとうございました。

思い通りのマクロを作成して頂き、助かりました。

「『下2桁』と『少数第2位』は違うと思います。」←その通りです。

私が誤用しておりました。今後から、気を付けます。

重ねてお礼申し上げます。
  • 森本
  • MAIL
  • 2020/06/29 (Mon) 18:10:45

返信フォーム






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