89.文字枠内中心移動/コピー | AutoCADマクロ屋本舗
[89]
文字枠内中心移動/コピー[2016/2017対応版] [2016.12.2追加]
*^C^C$M=setenv;t;0;$(nth,$(getenv,t),;cm;0;;t;1,offset;;^X文字選択--$(if,$(getenv,cm),Copy,Move)--^X\$m="""$(if,$(getvar,cmdactive),;setenv;t;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;setenv;t;2,setenv;cm;$(if,$(getenv,cm),0,1);;t;1)""",,,,,)$(nth,$(getenv,t),,,;t;3;undo;be;snap;of;osmode;0;select;l;;ucs;e;l;sortents;127;line;@;@0.01<0;;extend;p;;f;@0.01<S;@0.02<N;;f;@0.01<S;@0.02<N;;,,,,)$(nth,$(getenv,t),,,,;t;4;;p;0;line;mid;@;@0","0.01;;extend;p;;f;@0.01<E;@0.02<W;;f;@0.01<E;@0.02<W;;;lengthen;dy;;;l;;;ucs;e;l;erase;l;;;l;,,,)$(nth,$(getenv,t),,,,,ucs;o;non;$(/,$(getvar,perimeter),2)<0;id;non;0<0;ucs;p;;p;;p;copybase;non;@;l;;undo;e;u;$(if,$(getenv,cm),,erase;l;;)pasteclip;non;\erase;l;;setenv;t;5,,)$(nth,$(getenv,t),,,,,,;t;6;undo;be;line;non;@;non;@0.01<$(getenv,p);;edgemode;0;select;c;non;$(getvar,vsmin);non;$(getvar,vsmax);,)$(nth,$(getenv,t),,,,,,,extend;p;;@;@;;id;mid;@;undo;e;u;$(if,$(getenv,p),pasteclip;non;@;setenv;t;1,setenv;p;90;;t;5))^M

R2016 LT2017 動作確認済


文字枠内中心移動/コピー[2008対応版] [2009.8.19修正]
*^C^C$M=setenv;t;0;$(nth,$(getenv,t),;cm;0;;t;1,offset;;^X文字選択--$(if,$(getenv,cm),Copy,Move)--^X\$m="""$(if,$(getvar,cmdactive),;setenv;t;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;setenv;t;2,setenv;cm;$(if,$(getenv,cm),0,1);;t;1)""",,,,,)$(nth,$(getenv,t),,,;t;3;undo;be;snap;of;osmode;0;select;l;;ucs;e;l;sortents;127;line;@;@0.01<0;;extend;p;;f;@0.01<S;@0.02<N;;f;@0.01<S;@0.02<N;;,,,,)$(nth,$(getenv,t),,,,;t;4;;p;0;line;mid;@;@0","0.01;;extend;p;;f;@0.01<E;@0.02<W;;f;@0.01<E;@0.02<W;;;lengthen;l;;ucs;e;l;erase;l;;;l;,,,)$(nth,$(getenv,t),,,,,ucs;o;non;$(/,$(getvar,perimeter),2)<0;id;non;0<0;ucs;p;;p;;p;copybase;non;@;l;;undo;e;u;$(if,$(getenv,cm),,erase;l;;)pasteclip;non;\erase;l;;setenv;t;5,,)$(nth,$(getenv,t),,,,,,;t;6;undo;be;line;non;@;non;@0.01<$(getenv,p);;edgemode;0;select;c;non;$(getvar,vsmin);non;$(getvar,vsmax);,)$(nth,$(getenv,t),,,,,,,extend;p;;@;@;;id;mid;@;undo;e;u;$(if,$(getenv,p),pasteclip;non;@;setenv;t;1,setenv;p;90;;t;5))^M

LT2004 R2005/R2006/R2008 動作確認済


●使い方
1.文字オブジェクトを選択
  ※初期設定【Move】(右クリックで【Copy】⇔【Move】切替)
2.移動又はコピーする閉じた枠内の任意の位置を指定

  ~繰返し1へ~

▲注意
1.マクロが長い為、カスタマイズダイアログに張り付け出来ない場合は
  メニューファイルに直接張り付けて下さい
 ※登録しても、ボタンが表示されない場合は、ID名を短くして下さい。(例:ID_tm0)
2.マルチテキストには対応していません。

■更新履歴
・2016/12/2 Ver.2016/2017 対応
・2009/8/19 Ver.2008 対応


AutoCAD 2012/AutoCAD LT 2012 公式トレーニングガイド/オートデスク株式会社

¥3,990
Amazon.co.jp



↓↓↓前バージョン↓↓↓

文字枠内中心移動/コピー[中心位置高精度] [2007.2.6修正]
*^C^C$M=setenv;t;0;$(nth,$(getenv,t),;cm;0;;t;1,offset;;^X文字選択--$(if,$(getenv,cm),Copy,Move)--^X\$m="""$(if,$(getvar,cmdactive),;setenv;t;2,setenv;cm;$(if,$(getenv,cm),0,1);;t;1)""",,,,,)$(nth,$(getenv,t),,,;t;1;copy;non;@;non;@;;non;@;non;@;erase;p;;undo;be;snap;of;osmode;0;select;l;;ucs;e;@;sortents;127;line;@;@0.01<0;;extend;p;;@;@;;setenv;t;3,,,,)$(nth,$(getenv,t),,,,line;mid;@;@0","0.01;;extend;p;;@;@;;lengthen;l;;ucs;e;l;erase;l;;;l;;setenv;t;4,,,)$(nth,$(getenv,t),,,,,ucs;o;non;$(/,$(getvar,perimeter),2)","0;id;non;0<0;ucs;p;;p;;p;copybase;non;@;l;;undo;e;u;$(if,$(getenv,cm),,erase;l;;)pasteclip;non;\erase;l;;setenv;p;0;;t;5,,)$(nth,$(getenv,t),,,,,,;t;6;undo;be;line;non;@;non;@$(/,$(getvar,viewsize),5000)<$(getenv,p);;edgemode;0,)$(nth,$(getenv,t),,,,,,,extend;c;non;$(getvar,vsmin);non;$(getvar,vsmax);;@;@;;id;mid;@;undo;e;u;$(if,$(getenv,p),pasteclip;non;@;setenv;t;1,setenv;p;90;;t;5))^M

LT2000/LT2004 動作確認済


●使い方
1.文字オブジェクトを選択
  ※初期設定【Move】(右クリックで【Copy】⇔【Move】切替)
2.移動又はコピーする閉じた枠内の任意の位置を指定

  ~繰返し1へ~

▲注意
1.マクロが長い為、カスタマイズダイアログに張り付け出来ない場合は
  メニューファイルに直接張り付けて下さい
 ※登録しても、ボタンが表示されない場合は、ID名を短くして下さい。(例:ID_tm0)
2.マルチテキストには対応していません。

■コメント
LT2004にて、使用していると
前バージョン(↓)では、枠内へ移動時にエラーが出る場合があったので
さらに修正しました。



AutoCAD 2012/AutoCAD LT 2012 公式トレーニングガイド/オートデスク株式会社

¥3,990
Amazon.co.jp



↓↓↓旧バージョン↓↓↓

文字枠内中心移動/コピー[中心位置高精度] [2007.2.1修正]
*^C^C$M=setenv;t;0;$(nth,$(getenv,t),;cm;0;;t;1,,,,,,)$(nth,$(getenv,t),,offset;;^X文字オブジェクト選択--$(if,$(getenv,cm),Copy,Move)--^X\$m="""$(if,$(getvar,cmdactive),;setenv;t;2,setenv;cm;$(if,$(getenv,cm),0,1);;t;1)""",,,,,)$(nth,$(getenv,t),,,;t;1;undo;be;snap;of;osmode;0;copy;@;@;;@;@;erase;p;;select;l;;ucs;e;@;sortents;127;line;@;@0.01<0;;extend;p;;@;@;;setenv;t;3,,,,)$(nth,$(getenv,t),,,,line;mid;@;@0","0.01;;extend;p;;@;@;;lengthen;l;;ucs;e;l;erase;l;;;l;;setenv;t;4,,,)$(nth,$(getenv,t),,,,,ucs;o;non;$(/,$(getvar,perimeter),2)","0;id;non;0<0;ucs;p;;p;;p;copybase;non;@;l;;undo;e;u;pasteclip;non;\$(if,$(getenv,cm),,erase;p;;)erase;l;;setenv;p;0;;t;5,,)$(nth,$(getenv,t),,,,,,;t;6;undo;be;line;non;@;non;@$(/,$(getvar,viewsize),5000)<$(getenv,p);;edgemode;0,)$(nth,$(getenv,t),,,,,,,extend;c;non;$(getvar,vsmin);non;$(getvar,vsmax);;@;@;;id;mid;@;undo;e;u;$(if,$(getenv,p),pasteclip;non;@;setenv;t;1,setenv;p;90;;t;5))^M

LT2000/LT2004 R2004 動作確認済


●使い方
1.文字オブジェクトを選択
  ※初期設定【Move】(右クリックで【Copy】⇔【Move】切替)
2.移動又はコピーする閉じた枠内の任意の位置を指定

  ~繰返し1へ~

▲注意
1.マクロが長い為、カスタマイズダイアログに張り付け出来ない場合は
  メニューファイルに直接張り付けて下さい
2.マルチテキストには対応していません。

■コメント
マクロ屋掲示板にて、枠内へ移動またはコピーした文字が
中心では無いとの指摘を頂きました。・・・実は気付いてましたが(汗
そこで、「72.文字枠作成」を元に、中心となる様に作り直しました。
かなり、マクロの文字数イッパイイッパイです・・・(汗
尚、前バージョンでは、枠内へ移動時に途中キャンセルすると
文字が削除されたままとなっていた部分も、修正しました。



AutoCAD 2012/AutoCAD LT 2012 公式トレーニングガイド/オートデスク株式会社

¥3,990
Amazon.co.jp



↓↓↓旧バージョン↓↓↓

文字枠内中心移動/コピー
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;cm;0;;to;1,offset;;^x文字オブジェクトを選択--$(if,$(getenv,cm),Copy,Move)--^X\$m="""$(if,$(getvar,cmdactive),;setenv;to;2,setenv;cm;$(if,$(getenv,cm),0,1);setenv;to;1)""",,,,,)$(nth,$(getenv,to),,,;to;1;select;non;@;non;@;;fillet;@;@;$m="""$(if,$(getvar,cmdactive),;copy;@;non;@;;non;@;non;@;erase;p;;setenv;to;3,setenv;to;1)""",,,,)$(nth,$(getenv,to),,,,ucs;ob;@;mirrtext;0;mirror;l;;non;1<0;non;0<0;y;;p;;non;1<90;non;0<0;n;ucs;ob;l;select;l;;circle;2p;non;@;non;0<0;ucs;ob;l;id;non;0<0;ucs;p;;m;non;@;copybase;non;@;p;;undo;12;setenv;to;4,,,)$(nth,$(getenv,to),,,,,$(if,$(getenv,cm),,erase;l;;)pasteclip;non;\erase;l;;setenv;p1;0;;to;5,;to;6;line;non;@;non;@$(/,$(getvar,viewsize),5000)<$(getenv,p1);,)$(nth,$(getenv,to),,,,,,,sortents;127;edgemode;0;extend;c;non;$(getvar,vsmin);non;$(getvar,vsmax);;@;@;;id;mid;@;u;;;;erase;l;;$(if,$(getenv,p1),pasteclip;non;@;setenv;to;1,setenv;p1;90;;to;5))^M

LT2000 動作確認済


●使い方
1.文字オブジェクトを選択
  ※初期設定【Move】(右クリックで【Copy】⇔【Move】切替)
2.移動又はコピーする閉じた枠内の任意の位置を指定

  ~繰返し1へ~

▲注意
1.マクロが長い為、メニューファイルに直接コピペして下さい
2.マルチテキストには対応していません。
3.文字枠内中心移動時に途中キャンセルすると、元のオブジェクトが
  消えたままとなってしまいます。

■コメント
某掲示板にてかずぼ~大先生が作られたマクロを改良!!
初回に、変数"cm"の値を設定しなくても動作するようにしました。
動作的に素晴らしいマクロです!! 大先生に感謝♪


AutoCAD 2012/AutoCAD LT 2012 公式トレーニングガイド/オートデスク株式会社

¥3,990
Amazon.co.jp