AutoCADマクロ屋本舗 -34ページ目
[136]
円弧円周文字記入(全角文字専用 マルチテキスト版) [2008/4/16 UP]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;ts;文字高記入^X\;at;全角文字記入^X\;sw;1;;to;1,offset;;^X円弧を選択^X\;setenv;to;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;undo;be;dist;nea;@;cen;@;lengthen;l;;setenv;to;5,,,,,)$(nth,$(getenv,to),,,;to;$(if,$(eq,$(substr,$(getenv,at),$(getenv,sw),2),""),3;;r2;$(/,$(-,$(getenv,sw),1),2);;sw;1;ucs;e;l;;z;$(getenv,r),5;;sw;$(+,$(getenv,sw),2)),,,,)$(nth,$(getenv,to),,,,;to;4;-mtext;non;$(getenv,p1);j;bc;h;$(*,$(getenv,ts),$(getvar,dimscale));r;-90;non;$(getenv,p1);$(substr,$(getenv,at),$(getenv,sw),2);;select;p;l;,,,)$(nth,$(getenv,to),,,,,ucs;z;-$(/,$(getenv,r),$(-,$(getenv,r2),1));setenv;sw;$(if,$(=,$(+,$(getenv,sw),2),$(+,$(*,$(getenv,r2),2),1)),1;;to;6,$(+,$(getenv,sw),2);;to;3),,)$(nth,$(getenv,to),,,,,,;p1;$(+,$(getvar,distance),$(*,$(getvar,dimscale),1))<0;;to;2;;r;$(/,$(*,$(getvar,perimeter),180),$(*,$(getvar,distance),3.14159265)),ucs;p;copybase;non;0<0;p;;undo;e;u;ucs;e;l;pasteclip;non;0<0;ucs;p)^M

LT2004/LT2006 R2005/R2006 動作確認済
※バージョン2008は最下部の”半角文字専用”をお使い下さい。


円弧円周文字記入(全角文字専用 ダイナミック文字版)
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;ts;文字高記入^X\;at;全角文字記入^X\;sw;1;;to;1,offset;;^X円弧を選択^X\;setenv;to;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;undo;be;dist;nea;@;cen;@;lengthen;l;;setenv;to;5,,,,,)$(nth,$(getenv,to),,,;to;$(if,$(eq,$(substr,$(getenv,at),$(getenv,sw),2),""),3;;r2;$(/,$(-,$(getenv,sw),1),2);;sw;1;ucs;e;l;;z;$(getenv,r),5;;sw;$(+,$(getenv,sw),2)),,,,)$(nth,$(getenv,to),,,,;to;4;text;j;bc;non;$(getenv,p1);$(*,$(getenv,ts),$(getvar,dimscale));-90;$(substr,$(getenv,at),$(getenv,sw),2);select;p;l;,,,)$(nth,$(getenv,to),,,,,ucs;z;-$(/,$(getenv,r),$(-,$(getenv,r2),1));setenv;sw;$(if,$(=,$(+,$(getenv,sw),2),$(+,$(*,$(getenv,r2),2),1)),1;;to;6,$(+,$(getenv,sw),2);;to;3),,)$(nth,$(getenv,to),,,,,,;p1;$(+,$(getvar,distance),$(*,$(getvar,dimscale),1))<0;;to;2;;r;$(/,$(*,$(getvar,perimeter),180),$(*,$(getvar,distance),3.14159265)),ucs;p;copybase;non;0<0;p;;undo;e;u;ucs;e;l;pasteclip;non;0<0;ucs;p)^M

LT2004/LT2006 R2005/R2006 動作確認済
※バージョン2000i以前は不動作
※バージョン2008は最下部の”半角文字専用”をお使い下さい。


●使い方
1.文字の高さを記入
2.全角文字で文字列記入
3.円弧を選択
※円弧に沿って、文字列が1文字ずつで記入されます。

○実行結果(例)
AutoCADマクロ屋本舗-text-arc1

※繰り返し1へ

▲注意
1.文字列には、全て全角文字を記入して下さい。
 ※半角文字を使用すると、動作はしますが、文字の配置に不具合が出ます。
2.ダイナミック文字版に関しましては、バージョン2000i以前では
  textコマンドがマクロ中で動作しない為、使用しないで下さい。
3.マクロが長い為、カスタマイズダイアログに直接貼付け出来ない場合は
  メニューファイルに直接貼り付けて下さい。

■コメント
いわゆる、"円弧に沿った文字記入"マクロです。

ふと思い付いたので、作ってみた。
全角文字しか出来ないのがネックです・・・(汗


上記のマクロで動作しない場合は、"半角文字専用"を試し下さい。
      ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓



円弧円周文字記入(半角文字専用 マルチテキスト版)
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;ts;文字高記入^X\;a2;半角文字記入^X\;sw;1;;to;1,offset;;^X円弧を選択^X\;setenv;to;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;undo;be;dist;nea;@;cen;@;lengthen;l;;setenv;to;5,,,,,)$(nth,$(getenv,to),,,;to;$(if,$(eq,$(substr,$(getenv,a2),$(getenv,sw),1),""),3;;r2;$(getenv,sw);;sw;1;ucs;e;l;;z;$(getenv,r),2;;sw;$(+,$(getenv,sw),1)),,,,)$(nth,$(getenv,to),,,,;to;4;-mtext;non;$(getenv,p1);j;bc;h;$(*,$(getenv,ts),$(getvar,dimscale));r;-90;non;$(getenv,p1);$(substr,$(getenv,a2),$(getenv,sw),1);,,,)$(nth,$(getenv,to),,,,,select;p;l;;ucs;z;-$(/,$(getenv,r),$(-,$(getenv,r2),2));setenv;sw;$(if,$(=,$(+,$(getenv,sw),1),$(getenv,r2)),1;;to;6,$(+,$(getenv,sw),1);;to;3),,)$(nth,$(getenv,to),,,,,,;p1;$(+,$(getvar,distance),$(*,$(getvar,dimscale),1))<0;;to;2;;r;$(/,$(*,$(getvar,perimeter),180),$(*,$(getvar,distance),3.14159265)),ucs;p;copybase;non;0<0;p;;undo;e;u;ucs;e;l;pasteclip;non;0<0;ucs;p)^M

LT2004/LT2006 R2005/R2006/R2008 動作確認済
※バージョン2008の場合は、このマクロで半角文字も全角文字も動作します。



円弧円周文字記入(半角文字専用 ダイナミック文字版) Ver2016 [2016/6/8 追加]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;ts;文字高記入^X\;a2;半角文字記入^X\;sw;1;;to;1,offset;;^X円弧を選択^X\;setenv;to;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;undo;be;dist;nea;@;cen;@;lengthen;l;;;;setenv;to;5,,,,,)$(nth,$(getenv,to),,,;to;$(if,$(eq,$(substr,$(getenv,a2),$(getenv,sw),1),""),3;;r2;$(getenv,sw);;sw;1;ucs;e;l;;z;$(getenv,r),2;;sw;$(+,$(getenv,sw),1)),,,,)$(nth,$(getenv,to),,,,;to;4;text;j;bc;non;$(getenv,p1);$(*,$(getenv,ts),$(getvar,dimscale));-90;$(substr,$(getenv,a2),$(getenv,sw),1),,,)$(nth,$(getenv,to),,,,,select;p;l;;ucs;z;-$(/,$(getenv,r),$(-,$(getenv,r2),2));setenv;sw;$(if,$(=,$(+,$(getenv,sw),1),$(getenv,r2)),1;;to;6,$(+,$(getenv,sw),1);;to;3),,)$(nth,$(getenv,to),,,,,,;p1;$(+,$(getvar,distance),$(*,$(getvar,dimscale),1))<0;;to;2;;r;$(/,$(*,$(getvar,perimeter),180),$(*,$(getvar,distance),3.14159265)),ucs;p;copybase;non;0<0;p;;undo;e;u;ucs;e;l;pasteclip;non;0<0;ucs;p)^M

2016 動作確認済


円弧円周文字記入(半角文字専用 ダイナミック文字版)
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;ts;文字高記入^X\;a2;半角文字記入^X\;sw;1;;to;1,offset;;^X円弧を選択^X\;setenv;to;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;undo;be;dist;nea;@;cen;@;lengthen;l;;setenv;to;5,,,,,)$(nth,$(getenv,to),,,;to;$(if,$(eq,$(substr,$(getenv,a2),$(getenv,sw),1),""),3;;r2;$(getenv,sw);;sw;1;ucs;e;l;;z;$(getenv,r),2;;sw;$(+,$(getenv,sw),1)),,,,)$(nth,$(getenv,to),,,,;to;4;text;j;bc;non;$(getenv,p1);$(*,$(getenv,ts),$(getvar,dimscale));-90;$(substr,$(getenv,a2),$(getenv,sw),1),,,)$(nth,$(getenv,to),,,,,select;p;l;;ucs;z;-$(/,$(getenv,r),$(-,$(getenv,r2),2));setenv;sw;$(if,$(=,$(+,$(getenv,sw),1),$(getenv,r2)),1;;to;6,$(+,$(getenv,sw),1);;to;3),,)$(nth,$(getenv,to),,,,,,;p1;$(+,$(getvar,distance),$(*,$(getvar,dimscale),1))<0;;to;2;;r;$(/,$(*,$(getvar,perimeter),180),$(*,$(getvar,distance),3.14159265)),ucs;p;copybase;non;0<0;p;;undo;e;u;ucs;e;l;pasteclip;non;0<0;ucs;p)^M

LT2004/LT2006 R2005/R2006/R2008 動作確認済
※バージョン2000i以前は不動作
※バージョン2008の場合は、このマクロで半角文字も全角文字も動作します。



●使い方
1.文字の高さを記入
2.半角文字で文字列記入
3.円弧を選択
※円弧に沿って、文字列が1文字ずつで記入されます。

○実行結果(例)
AutoCADマクロ屋本舗-text-arc2

※繰り返し1へ

▲注意
1.文字列には、全て半角文字を記入して下さい。
 ※全角文字を使用すると、動作しません。
2.ダイナミック文字版に関しましては、バージョン2000i以前では
  textコマンドがマクロ中で動作しない為、使用しないで下さい。
3.マクロが長い為、カスタマイズダイアログに直接貼付け出来ない場合は
  メニューファイルに直接貼り付けて下さい。

■コメント
半角文字専用として作りましたが、動作確認をお願いしたところ
バージョン2008の場合、このマクロ1つで
半角文字も全角文字も動作することが確認できました。


AutoCADのコツ/エクスナレッジ

¥3,780
Amazon.co.jp

[135]
属性プロパティ編集 [2008/4/2 UP]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;st;$(getvar,textstyle);;tt;数値記入【赤(1)/黄(2)/緑(3)/水(4)/青(5)/紫(6)/白・黒(7)】;;sw;0;;to;1,;zt;$(nth,$(getenv,sw),位置,高さ,角度,文字スタイル,色);;to;2,,,,)$(nth,$(getenv,to),,,offset;;^X属性値を選択【$(getenv,zt)編集】--編集オプション切替(Rc)--^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;3,setenv;sw;$(if,$(=,$(getenv,sw),4),0,$(+,$(getenv,sw),1));;to;1)""",,,)$(nth,$(getenv,to),,,,select;non;@;non;@;;setenv;to;4,-attedit;y;;;;@;;$(nth,$(getenv,sw),p;\,h;\,a;\,s;'style;$M="""""""$(getvar,textstyle)""""""";;textstyle;$(getenv,st),c;^x$(getenv,tt)^x\);setenv;to;2)^M


LT2004 R2005/R2006 動作確認済


●使い方
1.属性値を選択。
 この時、右クリックする度に
 【位置編集】→【高さ編集】→【角度編集】→【文字スタイル編集】→【色編集】
 と、切り替わります。 (※初期設定は【位置編集】です)

【位置編集】
【高さ編集】
【角度編集】
【文字スタイル編集】
【色編集】

属性値の位置をマウスで指定して変更
属性値の文字高さを数値で変更
属性値の文字の角度を数値で変更
文字スタイル管理の状態に変更(縦横比も変更可)
属性値の色を数値で変更


▲注意
1.マクロが長い為、カスタマイズダイアログに貼付け出来ない場合は
  メニューファイルに直接貼り付けて下さい。

■コメント
コマンドラインの場合・・・
-----------------------------------------------------------------
コマンド: -attedit

属性を 1 つずつ編集しますか? [はい(Y)/いいえ(N)] :

ブロック名の選別基準を入力 <*>:

属性の名称 の選別基準を入力 <*>:

属性値 の選別基準を入力 <*>:
編集する属性を選択: 1 個見つかりました
編集する属性を選択:

1 個の属性が選択されました。.
オプションを入力
[値(V)/位置(P)/高さ(H)/角度(A)/文字スタイル(S)/画層(L)/色(C)/次(N)] :
-----------------------------------------------------------------
↑これを簡単にマクロ化すると
^C^C-attedit;;;;;
まぁ、これでも良さそうだけど・・・少し楽かな?と思って作ってみた(^^;



最速攻略AutoCAD VB.NETマクロサンプル大全集AutoCAD2009/2010/20.../技術評論社

¥4,095
Amazon.co.jp

【特殊】
■ツールバー表示/非表示
 [2008/3/17 UP]


【その1】
ツールバー(単体)表示/非表示 
^C^Csetenv;toolbar;$M=$(if,$(eq,$(getenv,toolbar),s),h,s);-toolbar;「ツールバー名」;$M="$(getenv,toolbar)"^M


LT2004 R2005/R2006 動作確認済


※最初に「ツールバー名」の部分を、表示/非表示させたいツールバーの名前に書換えて下さい。
 例:「作成」「画層」等

●使い方
1.ボタンを押す毎に、指定したツールバーが表示/非表示となります。

▲注意
1.存在するツールバー名を記入して下さい。





【その2】
ツールバー(メニュー全体)表示/非表示
^C^Cfiledia;0;menuload;「メニュー名」;$M=$(if,$(getvar,cmdactive),^Cmenuunload;「メニュー名」;filedia;1,filedia;1)^M


LT2004 R2005 動作確認済
※2006以降は「ワークスペース」を使って下さい。


※最初に「メニュー名」の部分を、表示/非表示させたいメニュー名に書換えて下さい。
 【メニュー名とは、メニューファイル(***.mns)名のコトです】

 例:「aclt」「acad」等

●使い方
1.ボタンを押す毎に、指定したツールバーが表示/非表示となります。

▲注意
1.存在するメニュー名を記入して下さい。





【その3】
ツールバー(メニュー全体)切替
^C^Cfiledia;0;menuunload;「メニュー1」;menuload;「メニュー2」;$M=$(if,$(getvar,cmdactive),^Cmenuunload;「メニュー2」;menuload;「メニュー1」;,)filedia;1^M


LT2004 R2005 動作確認済
※2006以降は「ワークスペース」を使って下さい。


※最初に「メニュー1・2」の部分を、切り替えたいツールバーのメニュー名(2つ)に書換えて下さい。
【メニュー名とは、メニューファイル(***.mns)名のコトです】

 例:「メニュー1 → aclt」「メニュー2 → MyMenu」等

又、マクロを実行させる前に、
必ず一方のメニュー(例:メニュー1)をロード"menuload"し
もう一方(例:メニュー2)をロード解除"menuunload"させておいて下さい。


●使い方
1.ボタンを押す毎に、指定したツールバーが表示/非表示となります。

▲注意
1.存在するメニュー名を、必ず2つ記入して下さい。



■コメント
ツールバーに関する、表示/非表示及び切替マクロです。
普段は特に必要ないマクロですが、自分の場合
2つのメニューファイルを、ボタンで切り替える時に使ってます。

用途に合わせて、お使い下さい。



速攻解決AutoCAD LT逆引きリファレンス―2013/2012/2011/2010/200.../ソシム

¥3,675
Amazon.co.jp