81.接円(半径・1点・1接線) | AutoCADマクロ屋本舗
[81]
接円(半径・1点・1接線) Ver.2018 [2017/11/27追加]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;r1;半径記入^X\id;\setenv;p1;$M="""$(getvar,lastpoint)^H^H""";;to;1,offset;;\;setenv;to;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;setenv;p2;$M="""$(getvar,lastpoint)^H^H""";;to;2,,,,,,)$(nth,$(getenv,to),,,pline;non;$(getenv,p1);per;$(getenv,p2);;area;o;l;erase;l;;setenv;to;3,;to;$(if,$(<=,$(*,$(getenv,r1),2),$(getvar,perimeter)),0,4),,,,)$(nth,$(getenv,to),,,,,zoom;c;@;$(*,$(getenv,r1),4);setenv;to;1;select;non;$(getenv,p2);non;@;;setenv;to;5,,,)$(nth,$(getenv,to),,,,,,ucs;ob;@;;o;nea;@;;w;xline;o;non;$(getenv,r1);non;@;$(getenv,p1);;select;l;;circle;non;@;$(getenv,r1);ucs;ob;l;trim;p;;$(getenv,r1)<0;;ucs;ob;l;erase;p;l;;circle;non;$(getenv,r1)<0;$(getenv,r1);setenv;to;6,,)$(nth,$(getenv,to),,,,,,,ucs;p;;p;ray;^XOK(L)/Mirror(R)^X\$M="""$(if,$(getvar,cmdactive),;id;,setenv;to;7)""",zoom;c;$(getenv,p2);$(*,$(getenv,r1),4);id;non;$(getenv,p1);ucs;p;mirror;l;;non;@;per;0<0;y;ucs;p;;p)^M

2013/2018 動作確認済


接円(半径・1点・1接線) [2008/2/7修正]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;r1;半径記入^X\id;\setenv;p1;$M="""$(getvar,lastpoint)^H^H""";;to;1,offset;;\;setenv;to;1;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;setenv;p2;$M="""$(getvar,lastpoint)^H^H""";;to;2,,,,,,)$(nth,$(getenv,to),,,pline;non;$(getenv,p1);per;$(getenv,p2);;area;o;l;erase;l;;setenv;to;3,;to;$(if,$(<=,$(*,$(getenv,r1),2),$(getvar,perimeter)),0,4),,,,)$(nth,$(getenv,to),,,,,zoom;c;@;$(*,$(getenv,r1),4);setenv;to;1;select;non;$(getenv,p2);non;@;;setenv;to;5,,,)$(nth,$(getenv,to),,,,,,ucs;ob;@;;o;nea;@;;w;xline;o;non;$(getenv,r1);non;@;$(getenv,p1);;select;l;;circle;non;@;$(getenv,r1);ucs;ob;l;trim;p;;$(getenv,r1)<0;;ucs;ob;l;erase;p;l;;circle;non;$(getenv,r1)<0;$(getenv,r1);setenv;to;6,,)$(nth,$(getenv,to),,,,,,,ucs;p;;p;dist;^XOK(L)/Mirror(R)^X\$M="""$(if,$(getvar,cmdactive),;id;,setenv;to;7)""",zoom;c;$(getenv,p2);$(*,$(getenv,r1),4);id;non;$(getenv,p1);ucs;p;mirror;l;;non;@;per;0<0;y;ucs;p;;p)^M

LT2000/LT2002/LT2004 R2005/R2006 動作確認済


●使い方
1.円の半径記入
2.円を通過する1点を指定
3.円に接するオブジェクト選択
  ※1点~1接点間の距離が、半径より小さい場合は1へ戻ります
4.OK → 左クリック →1へ
  ※対称の円の場合、右クリックでミラー →1へ

▲注意
1.指定した点と線分の距離に対して、記入した半径の数値が小さい場合は
  円が作図されません。半径の数値を変更して下さい。
2.マクロが長い為、カスタマイズダイアログに貼り付け出来ない場合は
  メニューファイルに直接コピペして下さい

■更新履歴
・2017/11/27
 バージョン2018用に修正

・2008/2/7
 バージョンLT2002用に修正
 円をトリムする際に、「円には 2 つの交点が必要です」と出る為
 線分をoffsetコマンドにてオフセットさせていた部分を
 xline"構築線"コマンドの、オプション"O(オフセット)"にて
 オフセットさせる様に変更。


すぐわかるSUPER AutoCAD LT らくらく操作マスター 2012/2011対応/中川和久

¥2,940
Amazon.co.jp




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

接円(半径・1点・1接線) [2006.5.24修正]
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;r1;半径記入^X\id;\setenv;p1;$M="""$(getvar,lastpoint)^H^H""";;to;1,^Pcopy^P;\'setenv;to;1;non;@;;non;@;non;@;erase;p;;setenv;p2;$M="""$(getvar,lastpoint)^H^H""";;to;2,,,,,,)$(nth,$(getenv,to),,,pline;non;$(getenv,p1);per;$(getenv,p2);;area;o;l;erase;l;;setenv;to;3,;to;$(if,$(<=,$(*,$(getenv,r1),2),$(getvar,perimeter)),0,4),,,,)$(nth,$(getenv,to),,,,,zoom;c;@;$(*,$(getenv,r1),4);setenv;to;1;select;non;$(getenv,p2);non;@;;setenv;to;5,,,)$(nth,$(getenv,to),,,,,,ucs;ob;@;;o;nea;@;;w;o;non;$(getenv,r1);non;@;$(getenv,p1);;select;l;;circle;non;@;$(getenv,r1);ucs;ob;l;trim;p;;$(getenv,r1)<0;;ucs;ob;l;erase;p;l;;circle;non;$(getenv,r1)<0;$(getenv,r1);ucs;p;;p;setenv;to;6,,)$(nth,$(getenv,to),,,,,,,dist;^XOK(L)/Mirror(R)^X\$M="""$(if,$(getvar,cmdactive),;id;,setenv;to;7)""",zoom;c;$(getenv,p2);$(*,$(getenv,r1),4);id;non;$(getenv,p1);ucs;p;mirror;l;;non;@;per;"0,0";y;ucs;p;;p)^M


LT2000 動作確認済


●使い方
1.円の半径記入
2.円を通過する1点を指定
3.円に接するオブジェクト選択
  ※1点~1接点間の距離が、半径より小さい場合は1へ戻ります
4.OK → 左クリック
  ※対称の円の場合、右クリックでミラー

▲注意
1.マクロが長い為、貼り付け出来ない場合は
  メニューファイルに直接コピペして下さい

■コメント
過去に、某掲示板で依頼があり作成したマクロを修正しました。
自分は使う状況あんまり無いですが・・・(^^;


すぐわかるSUPER AutoCAD LT らくらく操作マスター 2012/2011対応/中川和久

¥2,940
Amazon.co.jp