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

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

構築線一括削除機能
1.AUtoCAD2020LT
2.構築線(Xline画層)で書かれた線分のみボタン一つで一括削除(画層は残す)機能が欲しいです。
3.ズバリなものが掲示板にありましたが、2020LTでは動作しませんでした。
是非とも2020LTで動作可能にしてもらいたいのですが。お願いいたします。
  • HK
  • MAIL
  • 2020/07/19 (Sun) 07:06:46
Re: 構築線一括削除機能
>ズバリなものが掲示板にありました
こちらの掲示板で検索してみましたが『構築線一括削除機能』は見つかりませんでした
ご提示いただいたほうが答えやすいと思いますが

また、下記ページを参考に修正すると動く場合がありますよ

AutoCAD R/LT 2013以降の注意点
https://ameblo.jp/totthi-macro/entry-11228055581.html

AutoCAD R/LT 2015以降の注意点
https://ameblo.jp/totthi-macro/entry-12220279344.html

試したマクロがわからないので確実ではないですが

可能性が高いのは
lengthenコマンドのオプションによってエンターの数が変わることが
原因のエラーが多く報告されています

下記のように、いずれかにすると良いのではないでしょうか

lengthen;l;dy;;
lengthen;l;de;;;
lengthen;l;p;;;
lengthen;l;t;;;
  • chibi-tom
  • 2020/07/20 (Mon) 08:07:32
Re: 構築線一括削除機能
>構築線(Xline画層)で書かれた線分
これは構築線=Xlineか線分=lineなのか分からないし

>ズバリなもの
これもどんなものかわからないので

自分なりにそれぞれ作ってみました


構築線=Xline_Ver
^C^C$M=-layer;s;Xline;;;f;*;;xline;v;non;0<0;;selectsimilarmode;2;selectsimilar;l;;erase;selectsimilarmode;$(getvar,selectsimilarmode);-layer;t;*;;-layer;s;$(getvar,clayer);;^Z

線分=line_Ver
^C^C$M=-layer;s;Xline;;;f;*;;line;non;0<0;1<0;;selectsimilarmode;2;selectsimilar;l;;erase;selectsimilarmode;$(getvar,selectsimilarmode);-layer;t;*;;-layer;s;$(getvar,clayer);;^Z

※20/07/21画層を戻すように変更しました

  • chibi-tom
  • 2020/07/20 (Mon) 15:09:45
Re: 構築線一括削除機能
情報不足で申し訳ございませんでした。
ズバリなものとはマクロ集No,3の「構築線削除」で、ボタンを押すだけで構築線のみ削除という機能です。
この「構築線削除」の意味をはき違えていたらすみません。私が使いたい機能は製図で描く「下書き線」というもので、
水平無限線、垂直無限線、距離指定平行線、分割線といったものを配線し、その下書き線は通常の線分の必ず最背面に配置され、
通常の線分が重なっても邪魔にならないようになっております。三面図を描く際、例えば正面図の端点や交点に水平補助線(構築線)
を配置したりします。後から描いた線でも本線の下(背面)に配置されるので、本線が補助線で被って見えなくなる事はありません。
沢山補助線を配置し本線を描いた後は補助線(構築線)は要らなくなるので、その時その補助線(構築線)をボタン一つ(1回)で
削除する機能です。AutoCADメカニカルやAUto設計屋というソフトには普通に使えてましたけど、訳あって今は、最悪のLTを使って
いるため、その機能がなく、困っております。
  • HK
  • MAIL
  • 2020/07/22 (Wed) 19:29:22
Re: 構築線一括削除機能
>最悪のLT
と言われても自分はLTしか使っていないので何とも言えませんが

>補助線(構築線)は要らなくなるので、その時その補助線(構築線)をボタン一つ(1回)で削除する機能

構築線VerはXline画層の構築線が削除できるつもりで作りましたが、お試しいただけましたか?
試した結果が希望と違う場合はどう違うのかご提示いただけますか

ちなみに
>マクロ集No,3の「構築線削除」で、ボタンを押すだけで構築線のみ削除という機能

▲注意
1.画層XLine内のオブジェクトを全て削除します

と書かれています、構築線だけを削除する機能ではありません

Xlineという画層にしか構築線を描かない
また、Xlineという画層には構築線しか描かない
という作図方法の方に有効なマクロだと思います
  • chibi-tom
  • 2020/07/27 (Mon) 08:16:20
Re: 構築線一括削除機能
>その下書き線は通常の線分の必ず最背面に配置され、通常の線分が重なっても邪魔にならないようになっております。
そもそもLTにはメカニカルでいう下書き線という機能が無く構築線は現在の画層にそのまま描かれます(画層は勝手に移動しません)

それをふまえて
もし、画層に関係なく構築線=Xlineをすべて削除するというのなら

^C^C$M=xline;v;non;0<0;;selectsimilarmode;0;selectsimilar;l;;erase;selectsimilarmode;$(getvar,selectsimilarmode);^Z

これで図面上の構築線=Xlineは削除されるはずです(ロックやフリーズされている場合を除く)
  • chibi-tom
  • 2020/07/27 (Mon) 15:25:23
Re: 構築線一括削除機能
メカニカルを使用したことも触ったこともないので、ただの自己満足ですので興味がなかったらスルーしてください

>「下書き線」というもので、水平無限線、垂直無限線、距離指定平行線、分割線といったもの
>その下書き線は通常の線分の必ず最背面に配置通常の線分が重なっても邪魔にならない

を、自分なりに解釈してLTでできる範囲で作ってみました

ロックされた下書き線画層に下書き線(構築線)を記入するマクロです

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;sw;0;-layer;n;下書き線;;;c;1;下書き線;;;p;n;下書き線;;setenv;to;1,,,,,)$(nth,$(getenv,to),,-layer;lo;下書き線;;setenv;sw1;$(nth,$(getenv,sw),H,V,O,B);;to;2,,,,)$(nth,$(getenv,to),,,$(if,$(=,$(getenv,sw),2),Xline;o;;,xline;$(if,$(=,$(getenv,sw),1),v;,$(if,$(getenv,sw),,h;)))通過点または線分を選択<$(nth,$(getenv,sw),水平(H),垂直(V),オフセット(O),等分(B))>^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;4,setenv;to;3)""",,,,)$(nth,$(getenv,to),,,,;sw;$(nth,$(getenv,sw),1,2,3,0);;to;1,,,)$(nth,$(getenv,to),,,,,-layer;u;下書き線;;$(if,$(=,$(getenv,sw),3),Xline;$(getenv,sw1);non;@;\\;setenv;to;6,setenv;to;5),,)$(nth,$(getenv,to),,,,,,$(if,$(=,$(getenv,sw),2),Xline;$(getenv,sw1);\non;@;\;setenv;to;6,;to;6),)$(nth,$(getenv,to),,,,,,,draworder;l;;b;chprop;l;;la;下書き線;;setenv;to;1)^M

1.マクロ起動
2.通過点を選択(最初は水平の構築線です)右クリックを押すたびに
水平の構築線 → 垂直の構築線 → オフセット平行構築線 → 2線間等分構築線 → 水平の構築線の順に切り替わります
 ・水平の構築線:通過点を選択 → 3へ
 ・垂直の構築線:通過点を選択 → 3へ
 ・オフセット平行構築線:線分オブジェクトを選択 → オフセット距離指定 → オフセット方向選択 → 3へ
 ・2線間等分構築線:通過点を選択 → 角度の始点選択 → 角度の終点選択 → 3へ
3.下書き線(構築線)が最背面に記入され下書き線画層に移動します
4.2以降を繰り返し

※終了はEscキーです

※、2020.08.20自己満足で修正しました


上記で描いた下書き線(構築線)を削除するマクロです

^C^C$M=-layer;s;下書き線;u;下書き線;;xline;v;non;0<0;;ray;下書き線(LC)/構築線(RC)^X\$M="$(if,$(getvar,cmdactive),;selectsimilarmode;2,selectsimilarmode;0)";selectsimilar;l;;erase;selectsimilarmode;$(getvar,selectsimilarmode);-layer;lo;下書き線;;-layer;s;$(getvar,clayer);;^Z

1.マクロ起動
2.下書き線のみ削除する場合は左クリック、構築線をすべて削除する場合は右クリック


削除、別Ver追加です
(選択オブジェクト削除orすべての構築線削除)

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),-layer;u;下書き線;;xline;v;non;0<0;;erase;l;;setenv;cl;$(getvar,clayer);;to;1,,)$(nth,$(getenv,to),,join;削除するオブジェクトを選択(構築線をすべて削除はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;select;p;\erase;p;,selectsimilarmode;0;oops;selectsimilar;p;;erase;selectsimilarmode;$(getvar,selectsimilarmode))""";setenv;to;2,)$(nth,$(getenv,to),,,-layer;lo;下書き線;;-layer;s;$(getenv,cl);;^Csetenv;to;0)^M

1.マクロ起動
2.削除するオブジェクトを選択(構築線をすべて削除する場合は右クリック)
  • chibi-tom
  • 2020/07/29 (Wed) 11:46:17

返信フォーム






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