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

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

交点で面取り
いつもお世話になっております。
マクロの作成が可能か気になったので
ご教示いただけたらと思います。

添付画像のようにしたい場合、
部分削除やトリム等を使用してから
面取りをしています。
しかし、手間がかかります。
私がCADがまだ未熟なのもありますが…
そこで、交点で交わっているところを簡単に
面取りすることはマクロで可能なのでしょうか。

ACAD2019R版を使っています。
宜しくお願いします。
  • my25
  • 2019/07/29 (Mon) 14:32:05
Re: 交点で面取り
>添付画像のようにしたい場合、
>部分削除やトリム等を使用してから
>面取りをしています。

添付画像には面取りがないようですが
面取りは画像のどの部分のことでしょうか?
それとも添付画像から角になっている部分を面取りをするという意味でしょうか?
  • chibi-tom
  • 2019/07/29 (Mon) 16:10:53
Re: 交点で面取り
JW-CADなんかで出来る包絡処理みたいな事ですか?
↓参考
http://www.kd-house.com/jwcad/jw-houraku.html

AutoCADでの純正機能では無理です。マクロでも。
LISP等を使えば出来るような事を聞いた記憶が有りますが、記憶違いかもしれません。
  • Lon
  • 2019/07/29 (Mon) 16:29:05
Re: 交点で面取り
chibi-tom様 ありがとうございます。
説明が下手で申し訳ありません。

添付画像のようなイメージです。
  • my25
  • 2019/07/29 (Mon) 16:34:15
Re: 交点で面取り
Lon様 ありがとうございます。

そうです!
このようなイメージです!
ACADでは無理ですか,,,
LISPだとできるかもしれないのですね
  • my25
  • 2019/07/29 (Mon) 16:35:56
Re: 交点で面取り
LISPだと、できるみたいですね。
https://www.youtube.com/watch?v=QcLJqfHmCQo

http://www.offshorecad.com.ph/autolisp-customising/cornering.html

他にも検索すれば色々出てくるでしょう。
海外のサイトならもっと沢山ありそう。(検索キーワードが判らんが。)
  • Lon
  • 2019/07/29 (Mon) 17:59:52
Re: 交点で面取り
LOn様 ありがとうございます。

LISPインストール試してみたところ
うまくいかずでした。。
2019は対応していないのかもしれません。
  • my25
  • 2019/07/30 (Tue) 09:05:39
Re: 交点で面取り
考えてみました
lt2019で確認です、その他のバージョンでは正常に動作しないかもしれません
簡易的なので複雑な図面では誤動作すると思います
ご了承ください

*^C^C$M=setenv;to;0;$(if,$(=,$(getenv,to),0),ucs;w;join;\;select;non;@;non;@;;draworder;p;;b;rectang;nea;@;'setenv;p1;$M="""$(getvar,lastpoint)""";\setenv;p3;$M="""""""$(getvar,lastpoint)""""""";;to;1)$(if,$(=,$(getenv,to),1),;sw1;$(if,$(<,$(index,0,$(getenv,p3)),$(index,0,$(getenv,p1))),1;;to;2,0;;to;3))$(if,$(=,$(getenv,to),2),;sw2;$(if,$(<,$(index,1,$(getenv,p3)),$(index,1,$(getenv,p1))),0;;to;4,1;;to;4))$(if,$(=,$(getenv,to),3),;sw2;$(if,$(<,$(index,1,$(getenv,p3)),$(index,1,$(getenv,p1))),2;;to;4,3;;to;4))$(if,$(=,$(getenv,to),4),;p1;$(getenv,p1)^H^H;;p3;$(getenv,p3)^H^H;;to;5)$(if,$(=,$(getenv,to),5),;p2;$M=$(nth,$(getenv,sw2),$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)),$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)),,);;to;6)$(if,$(=,$(getenv,to),6),;p2;$M=$(nth,$(getenv,sw2),,,$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)),$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)));;to;7)$(if,$(=,$(getenv,to),7),;p4;$M=$(nth,$(getenv,sw2),$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)),$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)),,);;to;8)$(if,$(=,$(getenv,to),8),;p4;$M=$(nth,$(getenv,sw2),,,$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)),$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)));;to;9)$(if,$(=,$(getenv,to),9),erase;l;;lengthen;dy;non;$(getenv,p1);non;$(getenv,p2);;;;non;$(getenv,p4);non;$(getenv,p3);;setenv;to;10)$(if,$(=,$(getenv,to),10),break;non;$(getenv,p2);f;non;$(getenv,p2);non;$(getenv,p3);ucs;p;^Csetenv;to;0)^M

1.マクロ起動
2.1本目のオブジェクトを選択(画像の□の部分)
3.2本目の交点を選択(画像の○の部分)

※、指示の方向によって処理が変わってしまうので画像のとおり選択してください
また、中心の線は処理できないので別途処理してください

R版なのでsetenv,getenvが使用できなかったら
MAIN MENUの【レギュラー版での使用に関する注意事項】
https://ameblo.jp/totthi-macro/entry-10895232361.html
を対応してください
  • chibi-tom
  • 2019/07/31 (Wed) 12:04:11
Re: 交点で面取り
chibi-tom様 ありがとうございます。

試してみたところ、
エラー?のような感じでした。。
R版用の作業は行いました。


コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <0>: 0

コマンド:
コマンド: userr1

USERR1 の新しい値を入力 <0.00000000>: 2 点目を指定:

コマンド: setenv
変数名を入力: to
値 <0>: 1

コマンド:
コマンド: id
点を指定: 27813.44875808,49275.25358162,0
X = 27813.44875808 Y = 49275.25358162 Z = 0.00000000

コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <1>: 0

コマンド:
コマンド: -insert
ブロック名を入力 または [一覧(?)]: Block_0

宜しくお願いします
  • my25
  • 2019/08/01 (Thu) 09:03:32
Re: 交点で面取り
マクロの流れが自分の作ったマクロではないですが
もう一度確認してみてください
  • chibi-tom
  • 2019/08/01 (Thu) 10:18:46
Re: 交点で面取り
chibi-tom様 

すみません!
正常動作しました。
  • my25
  • 2019/08/01 (Thu) 11:04:28
Re: 交点で面取り
エラー等があるわけではないですが
余計なことをしていたので

修正しました
操作方法は変わっていません

*^C^C$M=setenv;to;0;$(if,$(=,$(getenv,to),0),ucs;w;join;\;select;non;@;non;@;;draworder;p;;b;rectang;nea;@;'setenv;p1;$M="""$(getvar,lastpoint)""";\setenv;p3;$M="""""""$(getvar,lastpoint)""""""";;to;1)$(if,$(=,$(getenv,to),1),;to;$(if,$(<,$(index,0,$(getenv,p3)),$(index,0,$(getenv,p1))),2,3))$(if,$(=,$(getenv,to),2),;sw1;$(if,$(<,$(index,1,$(getenv,p3)),$(index,1,$(getenv,p1))),0;;to;4,1;;to;4))$(if,$(=,$(getenv,to),3),;sw1;$(if,$(<,$(index,1,$(getenv,p3)),$(index,1,$(getenv,p1))),2;;to;4,3;;to;4))$(if,$(=,$(getenv,to),4),;p1;$(getenv,p1)^H^H;;p3;$(getenv,p3)^H^H;;to;5)$(if,$(=,$(getenv,to),5),;p2;$M=$(nth,$(getenv,sw1),$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)),$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)),,);;to;6)$(if,$(=,$(getenv,to),6),;p2;$M=$(nth,$(getenv,sw1),,,$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)),$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)));;to;7)$(if,$(=,$(getenv,to),7),;p4;$M=$(nth,$(getenv,sw1),$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)),$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)),,);;to;8)$(if,$(=,$(getenv,to),8),;p4;$M=$(nth,$(getenv,sw1),,,$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)),$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)));;to;9)$(if,$(=,$(getenv,to),9),erase;l;;lengthen;dy;non;$(getenv,p1);non;$(getenv,p2);;;;non;$(getenv,p4);non;$(getenv,p3);;setenv;to;10)$(if,$(=,$(getenv,to),10),break;non;$(getenv,p2);f;non;$(getenv,p2);non;$(getenv,p3);ucs;p;^Csetenv;to;0)^M
  • chibi--tom
  • 2019/08/02 (Fri) 08:19:54
Re: 交点で面取り
http://megu-megu.com/bbs-2/wwwlng.cgi?print+201908/19080006.txt
あちらでも希望を見つけたので
十字も考えてみました

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),ucs;w;rectang;\'setenv;p1;$M="""$(getvar,lastpoint)""";\setenv;p2;$M="""""""$(getvar,lastpoint)""""""";;to;1,,,)$(nth,$(getenv,to),,id;mtp;non;$(getenv,p1);non;$(getenv,p2);scale;l;;non;@;c;1.5;undo;be;erase;all;r;l;;zoom;e;setenv;to;2,,)$(nth,$(getenv,to),,,;p3;$(getvar,extmin);;p4;$(getvar,extmax);undo;e;u;zoom;o;l;;trim;l;;f;int;$(getenv,p1);int;$(getenv,p2);;;erase;p;;setenv;to;3,)$(nth,$(getenv,to),,,,extend;non;$(getenv,p2);;non;$(index,0,$(getenv,p3))","$(index,1,$(getenv,p3));non;$(index,0,$(getenv,p4))","$(index,1,$(getenv,p4));;erase;non;$(getenv,p2);;zoom;p;ucs;p;^Csetenv;to;0)^M

1.マクロ起動
2.包絡したい部分に矩形作成

※、作図サイズによって『scale;l;;non;@;c;1.5;』の1.5を変更した方が良いかもしれません

lt2019で確認です、その他のバージョンでは正常に動作しないかもしれません
簡易的なので複雑な図面では誤動作すると思います
ご了承ください
  • chibi-tom
  • 2019/08/29 (Thu) 14:36:52
Re: 交点で面取り
chibi-tomさま
便利なマクロありがとうございます。
2016LT 動作OKです。

ご連絡とお礼まで。
  • シツモ
  • 2019/08/30 (Fri) 15:10:45
Re: 交点で面取り
お世話になります。
いつもありがたく、こちらの掲示板を拝見させて頂いております。

早速ですが、本件の包絡マクロについて伺いたく質問しました。
長方形のポリラインを添付図の様に、直角に交差している箇所の包絡処理は可能でしょうか?
添付図では分かりやすく色分けしておりますが、実際の作業では一色の長方形ポリラインです。
※結果、ポリラインがラインに変わっても構いません。


1:マクロ起動
2:矩形にて選択(ESCを押さない限り、繰り返し)


以上、説明不足な点があるかもしれませんが、処理可能であればご教授下さるとありがたいです。


  • シツモ
  • 2019/09/09 (Mon) 18:51:05
Re: 交点で面取り
追伸:バージョンは 2016LT です。
  • シツモ
  • 2019/09/09 (Mon) 18:52:42
Re: 交点で面取り
1つのポリラインにもできそうだったのですが
うまくいかなかったので、とりあえずです

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),ucs;w;rectang;\'setenv;p1;$M="""$(getvar,lastpoint)""";\setenv;p2;$M="""""""$(getvar,lastpoint)""""""";;to;1,,,,)$(nth,$(getenv,to),,id;mtp;non;$(getenv,p1);non;$(getenv,p2);scale;l;;non;@;c;1.5;undo;be;erase;all;r;l;;zoom;e;setenv;to;2,,,)$(nth,$(getenv,to),,,;p3;$(getvar,extmin);;p4;$(getvar,extmax);undo;e;u;zoom;o;l;;trim;l;;f;int;$(getenv,p1);int;$(getenv,p2);;;erase;p;;setenv;to;3,,)$(nth,$(getenv,to),,,,extend;non;$(getenv,p2);;non;$(index,0,$(getenv,p3))","$(index,1,$(getenv,p3));non;$(index,0,$(getenv,p4))","$(index,1,$(getenv,p4));;erase;non;$(getenv,p2);;setenv;to;4,)$(nth,$(getenv,to),,,,,extend;non;$(getenv,p1);non;$(getenv,p2);;non;$(getenv,p1);non;$(getenv,p2);;zoom;p;ucs;p;setenv;to;0)^M

1.マクロ起動
2.矩形記入(画像の□の部分を選択してください)
矩形の記入に制限がありますので、ご了承のうえ使用してください

終了はEscキーです
  • chibi-tom
  • 2019/09/10 (Tue) 09:05:13
Re: 交点で面取り
chibi-tomさま

早速のご対応誠にありがとうございました。

誤作動なく動いきました。

いつもご協力頂きありがとうございました。
  • シツモ
  • 2019/09/10 (Tue) 16:18:16
Re: 交点で面取り
ポリライン1つになるよう修正しました

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),ucs;w;rectang;\'setenv;p1;$M="""$(getvar,lastpoint)""";\setenv;p2;$M="""""""$(getvar,lastpoint)""""""";;to;1,,,,,)$(nth,$(getenv,to),,id;mtp;non;$(getenv,p1);non;$(getenv,p2);scale;l;;non;@;c;1.5;undo;be;erase;all;r;l;;zoom;e;setenv;to;2,,,,)$(nth,$(getenv,to),,,;p3;$(getvar,extmin);;p4;$(getvar,extmax);undo;e;u;zoom;o;l;;trim;l;;f;int;$(getenv,p1);int;$(getenv,p2);;;erase;p;;setenv;to;3,,,)$(nth,$(getenv,to),,,,extend;non;$(getenv,p2);;non;$(index,0,$(getenv,p3))","$(index,1,$(getenv,p3));non;$(index,0,$(getenv,p4))","$(index,1,$(getenv,p4));;erase;non;$(getenv,p2);;setenv;to;4,,)$(nth,$(getenv,to),,,,,extend;non;$(getenv,p1);$(getenv,p2);;non;$(getenv,p1);non;$(getenv,p2);;setenv;to;5,pedit;m;non;$(getenv,p1);non;$(getenv,p2);;j;;;zoom;p;ucs;p;setenv;to;0)^M
  • chibi-tom
  • 2019/09/11 (Wed) 16:24:44
Re: 交点で面取り
chibi-tomさま
お世話になります。
出張しており、返事が遅くなり申し訳ありませんでした。
ご多忙な中、ポリラインの方でもやって頂き感謝致します。

誤作動なく動きました。

ありがとうございました。

ご報告まで。




  • シツモ
  • 2019/09/17 (Tue) 10:32:26

返信フォーム






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