134.交点指定ブロック挿入 | AutoCADマクロ屋本舗
[134]
交点指定ブロック挿入 Ver.2018 [2018/05/22 追記]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;bl;「ブロック名」;;so;$(getvar,sortents);;sw;0;;to;1,ray;int;【$(if,$(getenv,sw),2点間自動挿入,1点挿入)】^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;2,setenv;sw;$(if,$(getenv,sw),0,1);;to;1)""",,,,,)$(nth,$(getenv,to),,,$(if,$(getenv,sw),sortents;127;line;non;@;int;\;ucs;ob;l;zoom;@;-10<0;setenv;to;4,setenv;to;3),-insert;$(getenv,bl);s;1;r;0;non;@,,,)$(nth,$(getenv,to),,,,,;to;5;lengthen;dy;;;non;0<0;;;setenv;l1;$M="""$(getvar,perimeter);trim;c;non;0<0;non;$(getvar,perimeter)<0;;non;$(-,$(getvar,perimeter),0.1)"""<0;,;to;6;lengthen;dy;;;non;0<0;;;copy;p;;non;@;non;@;erase;p;,)$(nth,$(getenv,to),,,,,,,-insert;$(getenv,bl);s;1;non;$(getenv,l1)<0;0;setenv;to;$M="""$(if,$(=,$(getenv,l1),$(getvar,perimeter)),1;erase;non;0<0;;-insert;$(getenv,bl);s;1;non;0<0;0;ucs;p;zoom;p;sortents;$(getenv,so),4)""")^M

2018 動作確認済


交点指定ブロック挿入 Ver.2016 構築線対応 [2016/6/9 修正]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;bl;「ブロック名」;;so;$(getvar,sortents);;sw;0;;to;1,ray;int;【$(if,$(getenv,sw),2点間自動挿入,1点挿入)】^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;2,setenv;sw;$(if,$(getenv,sw),0,1);;to;1)""",,,,,)$(nth,$(getenv,to),,,$(if,$(getenv,sw),sortents;127;line;non;@;int;\;ucs;ob;l;zoom;@;-10<0;setenv;to;4,setenv;to;3),-insert;$(getenv,bl);s;1;r;0;non;@;explode;l,,,)$(nth,$(getenv,to),,,,,;to;5;lengthen;non;0<0;;;;setenv;l1;$M="""$(getvar,perimeter);trim;c;non;0<0;non;$(getvar,perimeter)<0;;non;$(-,$(getvar,perimeter),0.1)"""<0;,;to;6;lengthen;non;0<0;;;;copy;p;;non;@;non;@;erase;p;,)$(nth,$(getenv,to),,,,,,,-insert;$(getenv,bl);s;1;non;$(getenv,l1)<0;0;explode;l;setenv;to;$M="""$(if,$(=,$(getenv,l1),$(getvar,perimeter)),1;erase;non;0<0;;-insert;$(getenv,bl);s;1;non;0<0;0;explode;l;ucs;p;zoom;p;sortents;$(getenv,so),4)""")^M

2016 動作確認済
※LT2013以前は不動作 (その他バージョンでも可能性あり)


交点指定ブロック挿入 Ver2013 構築線対応 [2016/6/9 追加]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;bl;「ブロック名」;;so;$(getvar,sortents);;sw;0;;to;1,ray;int;【$(if,$(getenv,sw),2点間自動挿入,1点挿入)】^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;2,setenv;sw;$(if,$(getenv,sw),0,1);;to;1)""",,,,,)$(nth,$(getenv,to),,,$(if,$(getenv,sw),sortents;127;line;non;@;int;\;ucs;ob;l;zoom;@;-10<0;setenv;to;4,setenv;to;3),-insert;$(getenv,bl);s;1;r;0;non;@,,,)$(nth,$(getenv,to),,,,,;to;5;lengthen;non;0<0;;setenv;l1;$M="""$(getvar,perimeter);trim;c;non;0<0;non;$(getvar,perimeter)<0;;non;$(-,$(getvar,perimeter),0.1)"""<0;,;to;6;lengthen;non;0<0;;copy;p;;non;@;non;@;erase;p;,)$(nth,$(getenv,to),,,,,,,-insert;$(getenv,bl);s;1;non;$(getenv,l1)<0;0;setenv;to;$M="""$(if,$(=,$(getenv,l1),$(getvar,perimeter)),1;erase;non;0<0;;-insert;$(getenv,bl);s;1;non;0<0;0;ucs;p;zoom;p;sortents;$(getenv,so),4)""")^M

LT2013 動作確認済
※LT2004及び2016以降は不具合の可能性あり (その他バージョンでも不具合の可能性あり)


交点指定ブロック挿入(1点/2点間自動) [2008/3/4 UP]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;bl;「ブロック名」;;so;$(getvar,sortents);;sw;0;;to;1,ray;int;【$(if,$(getenv,sw),2点間自動挿入,1点挿入)】^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;2,setenv;sw;$(if,$(getenv,sw),0,1);;to;1)""",,,,,)$(nth,$(getenv,to),,,$(if,$(getenv,sw),sortents;127;line;non;@;int;\;ucs;ob;l;zoom;@;-10<0;setenv;to;4,setenv;to;3),-insert;$(getenv,bl);s;1;r;0;non;@,,,)$(nth,$(getenv,to),,,,,;to;5;lengthen;non;0<0;;setenv;l1;$M="""$(getvar,perimeter);trim;c;non;0<0;non;$(getvar,perimeter)<0;;non;$(-,$(getvar,perimeter),0.1)"""<0;,;to;6;erase;l;;lengthen;non;0<0;;oops;copy;p;;non;@;non;@;erase;p;,)$(nth,$(getenv,to),,,,,,,-insert;$(getenv,bl);s;1;non;$(getenv,l1)<0;0;setenv;to;$M="""$(if,$(=,$(getenv,l1),$(getvar,perimeter)),1;erase;non;0<0;;-insert;$(getenv,bl);s;1;non;0<0;0;ucs;p;zoom;p;sortents;$(getenv,so),4)""")^M

LT2004/LT2013 R2005/R2006/R2007 動作確認済


●使い方
※最初に「ブロック名」の部分を、"挿入するブロック名"に書換えてください。
1.交点を指定
 ※この時右クリックで、1点挿入⇔2点間交点自動を切替出来ます。→ 2点間自動へ

~2点間自動の場合~
1.最初の交点を指定
2.最終交点を指定
(2つの交点間にある全ての交点にブロック挿入します)

▲注意
1.最終交点指定時に途中キャンセルすると、"sortents"の値が"127"のままとなります。
2.2点間自動の場合、挿入されるブロックは"2交点指定時の傾き"となります。
3.マクロが長い為、カスタマイズダイアログに直接貼付け出来ない場合は
  メニューファイルに直接貼り付けて下さい。

■更新履歴
・2018/05/22 Ver.2018 追記
・2016/06/09 Ver.2013・2016 構築線対応版 追記
・2008/03/04 UP



AutoCADではじめる建築パース制作/秀和システム

¥3,990
Amazon.co.jp