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

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

壁面計算マクロ修正依頼
”AutoCADマクロ屋本舗”には、いつもお世話になっております。
今回初めて投稿します。
AUTOCADLT2017(AUTOCAD2020)を使用しています。

建築設計を行っています。壁面積を算出するためのマクロを作成し
修正を続けてきたのですが、うまくいきません。
自分の力では、ここまでが限界でした。
ご教示願います。

マクロの内容としましては、壁線(PLINE)から、線長さを読み取り、
壁高さを手入力し、線分中点上段に長さを、線分中点下段に長さx高さ=壁面積を
記入させるものですが、
連続使用をした時に最後の壁面積だけうまく行きません。
壁高さを、$M="setenv;h1;壁面高さ:^X\" でh1に代入し、下段高さ記入と 下段壁面積算出に利用しているのですが、
どうも2回目の壁面積(=長さx高さ)の時に、前回コマンド使用時のh1で計算しているようです。 
マクロ講座にある■中級 2.DIESEL評価の遅らせ方を参考に試行してみたのですが、
やっぱりうまくいっていません。

問題のマクロは以下の通りです。
よろしくお願いします。


*^C^Clengthen;\dy;;ucs;ob;non;@;$M="setenv;h1;壁面高さ:^X\"_text;J;BC;mid;@;$M=$(*,2.5,$(getvar,DIMSCALE));0;長さ=$(rtos,$(/,$(getvar,PERIMETER),1000),2,2)M;_text;J;TC;mid;@;$M=$(*,2.5,$(getvar,DIMSCALE));0;壁面積:$(rtos,$(/,$(getvar,PERIMETER),1000),2,2)Mx"""$(getenv,h1)"""㎜=$(rtos,$(/,$(*,$(getvar,PERIMETER),""""""""""""$(getenv,h1)""""""""""""),1000000),2,2)㎡;ucs;p

  • Anz
  • 2021/08/28 (Sat) 23:05:28
Re: 壁面計算マクロ修正依頼
DIESEL評価の遅らせ方は考えなくても良いようです。
[$M=]が出て来た時点で以降の評価(計算)がされます。
なので、[$M=]は一箇所でOKです。

*^C^Clengthen;\dy;;ucs;ob;non;@;setenv;h1;壁面高さ:^X\_text;BC;mid;@;$M=$(*,2.5,$(getvar,DIMSCALE));0;長さ=$(rtos,$(/,$(getvar,PERIMETER),1000),2,2)M;_text;TC;mid;@;;0;壁面積:$(rtos,$(/,$(getvar,PERIMETER),1000),2,2)Mx$(getenv,h1)㎜=$(rtos,$(/,$(*,$(getvar,PERIMETER),$(getenv,h1)),1000000),2,2)㎡;ucs;p

※ text;j;bc; → text;bc; 位置合わせ[j]は省略できます。
  下段文字の文字高さ入力は省略できます。
  • Den
  • 2021/08/29 (Sun) 11:28:44
Re: 壁面計算マクロ修正依頼
DEN 様

早々の回答ありがとうございました。
確かに、DIESEL評価の遅らせ方は考えなくても良いようです。
アドバイスの通りで、解決しました。

時間をかけて、悩んでいたのですが、非常に助かりました。
非常に感謝しております。
  • Anz
  • 2021/08/29 (Sun) 23:05:45

返信フォーム






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