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

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

長さ記入マクロについて
AutoCAD LT2014 にて長らく下記の長さ記入マクロを使用させて頂いておりましたが
AutoCAD LT2021 にバージョン変更となり使用できなくなってしまいました。

長さ記入(m)
*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;;@;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(/,$(getvar,perimeter),1000),2,2);;ucs;w;^M;

長さ記入(mm)
*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;;@;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(getvar,perimeter),2,0);;ucs;w;^M;

オブジェクトを選択すると寸法値が線分の上に記入されるものですがマクロの修正は可能でしょうか。

可能であれば寸法値が 1,000 といった具合にカンマが記載されると助かります。

ご検討のほど宜しく御願い致します。
  • 藤 村
  • MAIL
  • 2020/06/06 (Sat) 13:20:59
Re: 長さ記入マクロについて
lengthenコマンドの仕様変更が原因と思われますので、

*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;;;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(/,$(getvar,perimeter),1000),2,2);;ucs;w;^M;

*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;;;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(getvar,perimeter),2,0);;ucs;w;^M;

これでどうでしょうか。
  • LUNE
  • 2020/06/08 (Mon) 14:40:19
Re: 長さ記入マクロについて
有難うございました。
正常に動作致しました。

今後とも宜しく御願い致します。
  • 藤 村
  • MAIL
  • 2020/06/10 (Wed) 15:39:51
Re: 長さ記入マクロについて
>可能であれば寸法値が 1,000
長さ寸法表記形式を使用すればできると思います

元のマクロと同じではありませんが1例としてこんな感じで

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),join;線分選択(R-Clickで終了)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;setenv;to;1,^Csetenv;to;0)""",,,,)$(nth,$(getenv,to),,ucs;ob;@;lengthen;@;dy;;setenv;to;2,,,)$(nth,$(getenv,to),,,undo;be;dimlinear;non;0<0;non;$(getvar,perimeter)<0;mid;$(/,$(getvar,perimeter),2)<0;setenv;to;3,,)$(nth,$(getenv,to),,,,dimoverride;DIMLUNIT;6;DIMTMOVE;2;DIMTAD;0;DIMTVP;0.684;DIMDEC;0;DIMTXT;$(getvar,textsize);DIMTXSTY;Standard;;l;;explode;l;copybase;mid;@;l;;undo;e;u;setenv;to;4,)$(nth,$(getenv,to),,,,,pasteclip;mid;$(/,$(getvar,perimeter),2)<0;ucs;p;txt2mtxt;l;;justifytext;l;;bc;setenv;to;0)^M

1.マクロ起動
2.線分選択(R-Clickで終了)

※こちらのマクロもlengthen;@;dy;;に変更しました 2020/6/12
  • chibi-tom
  • 2020/06/11 (Thu) 12:07:18
Re: 長さ記入マクロについて

度々恐れいります。下記のマクロを修正頂いたのですが Auotcad LT2020でも動かしたいと考えています。

長さ記入(m)
*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;;;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(/,$(getvar,perimeter),1000),2,2);;ucs;w;^M;

長さ記入(mm)
*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;;;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(getvar,perimeter),2,0);;ucs;w;^M;


Auotcad LT2014⇒2021の場合だと lengthenコマンドの仕様変更が原因 とのことでしたが LT2020でも
仕様変更があるのでしょうか。

試してみましたがうまく動作しませんでした。

大変お手数ではありますがご検討のほど宜しく御願い致します。
  • 藤 村
  • MAIL
  • 2020/06/11 (Thu) 21:06:23
Re: 長さ記入マクロについて
Auotcad LT2020と21に影響する違いはないと思います

>試してみましたがうまく動作しませんでした
どう動かないのかマクロ起動からエラーが出るまでのコマンドラインをコピペすると原因がわかりやすくなると思います

考えられるのは、lengthenのコマンドのオプションの仕様がDYとそれ以外で違います
それが原因でエンターの数が合わずにエラーが出ているのではないでしょうか

あと最後の『w;^M;』の部分は余計な事している気がします『w^M』で大丈夫だと思います

長さ記入(m)
*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;dy;;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(/,$(getvar,perimeter),1000),2,2);;ucs;w^M

長さ記入(mm)
*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;dy;;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(getvar,perimeter),2,0);;ucs;w^M
  • chibi-tom
  • 2020/06/12 (Fri) 08:03:05
Re: 長さ記入マクロについて

修正して頂いたマクロで動作しました。有難うございました。

ちなみに記入される数値は四捨五入になる気がするのですが

AutoCADの仕様なのでしょうか。

ご教示頂ければ幸いです。
  • 藤 村
  • MAIL
  • 2020/06/15 (Mon) 20:08:14
Re: 長さ記入マクロについて
>AutoCADの仕様なのでしょうか。
これはマクロの結果がこうなるので答えはそうですとなりますが
この答えでOKですか?

ちなみに
概要 - 単位形式の規則
https://knowledge.autodesk.com/ja/support/autocad-lt/learn-explore/caas/CloudHelp/cloudhelp/2021/JPN/AutoCAD-LT/files/GUID-FD3A36E1-FC7F-43CB-B7B5-1806FAAC12B2-htm.html?st=単位形式の規則
丸めと精度の項目に『指定した精度のレベルに四捨五入されます。』と書かれています

>ご教示頂ければ幸いです
どうしたい等の希望であれば、書いていただかないと答えようがありません
  • chibi-tom
  • 2020/06/16 (Tue) 08:19:26
Re: 長さ記入マクロについて
有難うございます。お手間をおかけして申し訳ありません。

ずいぶんと前に四捨五入はAutoCADの仕様と聞いたことがあり
仕方がないと思っておりましたがバージョンもかわり設定等
で対応が可能になっているのではと思った次第です。

通常、四捨五入で数値を使用するのは、ほどんどなく切り捨て
を基本としているため質問させていただきましたが、仕様で
あれば仕方がないですね。

ご教示頂き、有難うございました。
  • 藤 村
  • MAIL
  • 2020/06/20 (Sat) 12:42:02
Re: 長さ記入マクロについて
表示したい下の位で『5』を引くことで簡易的に対応できるのでは?
例えば整数で切り捨てたいのであれば『0.5』を引くことで
四捨五入で切り捨てのように判断できると思います

これでどうでしょうか?

長さ記入(m)
*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;dy;;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(/,$(-,$(getvar,perimeter),5),1000),2,2);;ucs;w^M

長さ記入(mm)
*^C^Cselect;single;_nea;\_ucs;ob;@;lengthen;@;dy;;-mtext;mid;@;j;bc;l;e;1.5x;w;@;$m=$(rtos,$(-,$(getvar,perimeter),0.5),2,0);;ucs;w^M
  • chibi-tom
  • 2020/06/22 (Mon) 08:23:24
Re: 長さ記入マクロについて
https://ameblo.jp/totthi-macro/entry-11394607506.html

切り捨てならfixでも良いですよ。

小数点以下で切り捨てたいなら、
例えば2桁なら、元の数値を100倍してfixして1/100倍する。
  • Lon
  • 2020/06/22 (Mon) 09:28:39
Re: 長さ記入マクロについて

マクロを修正して頂きまして有難うございました。

正常に動作致しました。助かりました。

今後とも宜しく御願い致します。
  • 藤 村
  • MAIL
  • 2020/06/23 (Tue) 20:19:06

返信フォーム






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