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

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

グループ解除 分解 を一つ操作で行いたい
AUTOCADバージョン2021LT

画面上にある複数の図形(グループ化された)と引き出し線等の分解をまとめて行いたい。
グループ解除を4回、分解を2回
という操作を一つにまとめることは可能でしょうか?
無知なもので、お知恵お借りしたいです。

よろしくお願いいたします。
  • mmwa
  • MAIL
  • 2020/09/10 (Thu) 15:59:02
Re: グループ解除 分解 を一つ操作で行いたい
>グループ解除を4回
これはコピペすれば一回だけでグループは解除されます

http://totthi.bbs.fc2.com/?act=reply&tid=16409109

>分解を2回
>操作を一つにまとめる
引き出し線等の分解とありますが
選択したオブジェクトの中に分解したくないオブジェクト(ポリライン等)は無いでしょうか
オブジェクトを1回選択しただけでは、意図しない分解をしてしまう場合があるような気がします

もう少し詳しく操作手順を記載していただけると考えやすくなるのですが
  • chibi-tom
  • 2020/09/10 (Thu) 17:30:03
Re: グループ解除 分解 を一つ操作で行いたい
とりあえず思いついた方法です

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;psy;$(getvar,PICKSTYLE);setenv;to;1,,,,)$(nth,$(getenv,to),,;to;1;offset;;グループを選択(R-Clickで終了)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;pickstyle;2;setenv;P1;$(getvar,lastpoint);;to;2,^Csetenv;to;0)""",,,)$(nth,$(getenv,to),,,regen;copybase;non;0<0;non;$(getenv,P1);;pasteclip;non;0<0;pickstyle;$(getenv,psy);setenv;to;3,,)$(nth,$(getenv,to),,,,;to;3;offset;;分解するオブジェクトを選択(R-Clickで終了)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;setenv;to;4,^Csetenv;to;0)""",)$(nth,$(getenv,to),,,,,explode;non;@;setenv;to;3)^M

1.マクロ起動
2.グループを単一選択(窓選択ではありません)(R-Clickで終了)
(これでグループが解除されています、ただし4回ではなく選択したグループはすべて解除)
3.分解するオブジェクトを単一選択(複数選択はできません)(R-Clickで終了)
4.3を繰り返し
※Escキーで終了すると『setenv;toの値』が変更されたままになります
setenv;to;0;で戻してください
  • chibi-tom
  • 2020/09/11 (Fri) 09:51:42
Re: グループ解除 分解 を一つ操作で行いたい
chibi-tom様
返信ありがとうございます。
私の表現がうまくなかったため、修正案頂けるとありがたいです。
イメージはアイソメのような図面になります。
添付にあります、線と補助点、で一つのグループ(もしくはブロック)になっている、
図形とそれを何かを表す引き出し線、(寸法記入)があります。
普段はこの図形を完成後に(AUTOCAD以外に送る際) 
①図形をすべて選択
②2回 分解(x)
③2~4回 グループ解除(QKUNGROUP)
を行い、送り先に送っています。

この作業を一つにまとめたいです。

また、複数選択はできませんとありますが
ALL、すべてや、指定の領域を決めてしまうなどは可能でしょうか?

すみませんが、ご知恵、ご教授お願い致します。
  • mmwa
  • MAIL
  • 2020/09/11 (Fri) 11:09:20
Re: グループ解除 分解 を一つ操作で行いたい
自分の設定の影響かもしれないですけど、いろいろ試してみましたが
マクロだと複数選択の場合
『XPLODE』は無効
『EXPLODE』は何も見つかりません

となってしまい分解できないです
なぜなのかはわかりません
なので自分が考えられるのはこんな感じで
分解するオブジェクトは単一選択する方法になります

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),select;\copybase;non;0<0;p;;erase;p;;pasteclip;non;0<0;setenv;to;1,)$(nth,$(getenv,to),,;to;1;offset;;分解するオブジェクトを選択(R-Clickで終了)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;explode;non;@;setenv;to;1,^Csetenv;to;0)""")^M

1.マクロ起動
2.オブジェクト選択(窓選択でもOKです)
(これでグループが解除されています、ただし4回ではなく選択したグループはすべて解除)
3.分解するオブジェクトを単一選択(複数選択はできません)(R-Clickで終了)
(選択と同時に分解されています)
4.3を繰り返し
※Escキーで終了すると『setenv;toの値』が変更されたままになります
setenv;to;0;で戻してください
  • chibi-tom
  • 2020/09/11 (Fri) 13:43:27
Re: グループ解除 分解 を一つ操作で行いたい
一括でやるには、マクロやスクリプトでは無理そうですね。
こんな方法はどうでしょう?

①下記をコピーする
********************↓ここから↓**********************
copybase
non
0<0
erase
undo
m
erase
all

pasteclip
non
0<0
explode
all

explode
all

copybase
non
0<0
all

undo
b
pasteclip
non
0<0

********************↑ここまで↑**********************

②処理したいオブジェクトをマウス等で選択し、選択状態にする。
(グリップが表示された状態のまま)
③コマンドライン上にコピーした文字列を貼り付ける。

以上で、選択したオブジェクトに対して全グループ解除と分解2回が実行されると思います。

ちょっと操作が面倒だと思うなら、ExcelVBAやVBS等を利用して操作の簡略化(アイコンクリックで処理)も可能ですが、
説明が面倒なので、興味が有るなら、とりあえずご自分で調べて、判らない所を聞いてください。
  • Lon
  • 2020/09/11 (Fri) 16:25:08
Re: グループ解除 分解 を一つ操作で行いたい
①図形をすべて選択
②2回 分解(x)
③2~4回 グループ解除(QKUNGROUP)

上記の実際に普段作業している流れが見てみたいので
キーボードF2を押し、表示されたテキストウィンドウ内の作業開始から終了までを
コピペしていただけないでしょうか?
  • chibi-tom
  • 2020/09/11 (Fri) 16:32:29
Re: グループ解除 分解 を一つ操作で行いたい
Lonさんすごい

けど、自分の場合は上記を直接コピーすると
段落に半角スペースが入ってしまったので

メモ帳等にコピペして修正しました
環境によってかもしれませんが修正が必要な場合があるかもしれません
  • chibi-tom
  • 2020/09/11 (Fri) 16:39:17
Re: グループ解除 分解 を一つ操作で行いたい
>上記を直接コピーすると段落に半角スペースが入ってしまった

私の使ってるブラウザはFirefoxですが、直コピペで大丈夫でした。
Microsoft Edgeも同じく大丈夫みたいですが、
Internet Explorerでは、半角スペースが入ってしまいました。

Internet ExplorerはMicrosoft自体が使用を推奨していないので、使わない方がいいかもですよ。
セキュリティ面も脆弱だから、ドコモ口座の被害にあった人たちもie使ってフィッシングされたのかも。
  • Lon
  • 2020/09/11 (Fri) 17:19:08

返信フォーム






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