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

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

文字枠内背景マスクを変更おねがいできないでしょうか
またお世話になります。
LT2021です。
以前、chibi-tom様がここで作成された文字枠内背景マスク(自分がお願いしたものではありませんが)

*^C^Cselect;\ucs;w;undo;be;erase;all;r;p;;zoom;e;$M=rectang;non;$(rtos,$(-,$(index,0,$(getvar,extmin)),$(*,$(getvar,dimscale),1.5)),2,0),$(rtos,$(-,$(index,1,$(getvar,extmin)),$(*,$(getvar,dimscale),1.5)),2,0);non;$(rtos,$(+,$(index,0,$(getvar,extmax)),$(*,$(getvar,dimscale),1.5)),2,0),$(rtos,$(+,$(index,1,$(getvar,extmax)),$(*,$(getvar,dimscale),1.5)),2,0);copybase;non;0<0;l;;undo;e;u;pasteblock;non;0<0;xplode;l;;e;chprop;l;;c;t;0,0,0;;draworder;l;;b;-hatch;p;s;s;l;;;chprop;l;;c;t;0,0,0;;draworder;l;;b;ucs;p^M

黒の文字枠に黒のハッチングのマクロなのですが
現在の画層で現在の色でに変更できないでしょうか
また、角度を持っている文字だと添付画像のようになります。
これも同角度にならないでしょうか。

宜しくお願いいたします
  • 土木屋
  • 2020/06/03 (Wed) 15:02:28
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
画像忘れました
  • 土木屋
  • 2020/06/03 (Wed) 15:03:31
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
何度もすみません。
最初の投稿の追記です。
ハッチの枠なのですがいらないので、削除できるのでしょうか。
また、ハッチの大きさ(高さ)
の調整はできるのでしょうか。(もうちょっと高さが小さくてもいいです)

宜しくお願いいたします。
  • 土木屋
  • 2020/06/03 (Wed) 15:18:26
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
こんな感じでしょうか?

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),join;文字選択(R-Clickで終了)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;setenv;to;1,^Csetenv;to;0)""",,,,,,)$(nth,$(getenv,to),,ucs;w;undo;be;erase;all;r;p;;ucs;ob;l;zoom;e;setenv;to;2,,,,,)$(nth,$(getenv,to),,,line;non;0<0;non;@0.1<N;;extend;;non;@;non;@;;lengthen;l;dy;;ucs;ob;l;erase;l;;id;non;0<0;ucs;p;id;non;@;setenv;to;3,,,,)$(nth,$(getenv,to),,,,;l2;$(getvar,perimeter);line;non;@;non;@0.1<E;;extend;;non;@;non;@;;lengthen;l;dy;;ucs;ob;l;erase;l;;setenv;to;4,,,)$(nth,$(getenv,to),,,,,;l1;$(getvar,perimeter);setenv;to;5,,)$(nth,$(getenv,to),,,,,,pline;non;0<0;non;$(getenv,l1)<E;non;@$(getenv,l2)<N;non;@$(getenv,l1)<W;c;zoom;e;draworder;l;;f;-hatch;p;s;s;l;;la;.;;draworder;l;;b;erase;@;;setenv;to;6,)$(nth,$(getenv,to),,,,,,,ucs;p;;p;copybase;non;0<0;l;;undo;e;u;pasteclip;non;0<0;draworder;l;;b;ucs;p;setenv;to;0)^M

1.マクロ起動
2.文字選択(R-Clickで終了)

  • chibi-tom
  • 2020/06/04 (Thu) 09:24:18
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
chibi-tom様
ありがとうございます。

上手く動きません

マクロ実行後、文字を選択すると固まったような状態になり、右クリックしても何もおきません。

ログを貼ります。

コマンド:

Autodesk DWG です。このファイルはオートデスクの開発した、またはライセンスを受けたアプリケーションによって保存された、TrustedDWG ファイルです。

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


コマンド: join
ソース オブジェクトを選択: 文字選択(R-Clickで終了)*削除*
文字選択(R-Clickで終了)
線分、開いたポリライン、円弧、楕円弧、または開いたスプラインを選択してください。サポートされるオブジェクトを選択:

コマンド: select

オブジェクトを選択: non
@
認識された数: 1

オブジェクトを選択: non
@
認識された数: 1 (重複している数: 1), 総数 1

オブジェクトを選択:

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


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


コマンド: ucs

現在の UCS 名: *ワールド*
UCS 原点を指定 または [面(F)/名前の付いた UCS(NA)/オブジェクト(OB)/直前(P)/ビュー(V)/ワールド(W)/X/Y/Z/Z 軸(ZA)] <ワールド>: w

コマンド: undo
現在の設定: 自動 = オン, コントロール = すべて, 合成 = はい, 画層 = はい
取り消す操作の数を入力 または [自動(A)/コントロール(C)/開始(BE)/終了(E)/マーク(M)/後退(B)] <1>: be

コマンド: erase

オブジェクトを選択: all
認識された数: 1

オブジェクトを選択: r

除外するオブジェクトを選択: p
認識された数: 1, 除外された数: 1, 総数 0

除外するオブジェクトを選択:

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


コマンド: join
ソース オブジェクトを選択: 文字選択(R-Clickで終了)*削除*
文字選択(R-Clickで終了)

コマンド:
コマンド: setenv
変数名を入力: to
値 <0>: 0
  • 土木屋
  • 2020/06/04 (Thu) 11:19:42
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
joinをoffsetに変えてみました

どうでしょうか?

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),offset;;文字選択(R-Clickで終了)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;setenv;to;1,^Csetenv;to;0)""",,,,,,)$(nth,$(getenv,to),,ucs;w;undo;be;erase;all;r;p;;ucs;ob;l;zoom;e;setenv;to;2,,,,,)$(nth,$(getenv,to),,,line;non;0<0;non;@0.1<N;;extend;;non;@;non;@;;lengthen;l;dy;;ucs;ob;l;erase;l;;id;non;0<0;ucs;p;id;non;@;setenv;to;3,,,,)$(nth,$(getenv,to),,,,;l2;$(getvar,perimeter);line;non;@;non;@0.1<E;;extend;;non;@;non;@;;lengthen;l;dy;;ucs;ob;l;erase;l;;setenv;to;4,,,)$(nth,$(getenv,to),,,,,;l1;$(getvar,perimeter);setenv;to;5,,)$(nth,$(getenv,to),,,,,,pline;non;0<0;non;$(getenv,l1)<E;non;@$(getenv,l2)<N;non;@$(getenv,l1)<W;c;zoom;e;draworder;l;;f;-hatch;p;s;s;l;;la;.;;draworder;l;;b;erase;@;;setenv;to;6,)$(nth,$(getenv,to),,,,,,,ucs;p;;p;copybase;non;0<0;l;;undo;e;u;pasteclip;non;0<0;draworder;l;;b;ucs;p;setenv;to;0)^M
  • chibi-tom
  • 2020/06/04 (Thu) 11:44:30
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
joinは関係なかったみたいです
図中に選択する文字が1つだけしかない場合に止まってしまうみたいですね(違うかな?)
(症状は確認できましたが、いままでその仕様は知りませんでした)
なので、ダミーで原点に点を描いて対応してみました

lt2021で確認

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),join;文字選択(R-Clickで終了)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;setenv;to;1,^Csetenv;to;0)""",,,,,,)$(nth,$(getenv,to),,ucs;w;undo;be;point;non;0<0;erase;all;r;p;;ucs;ob;l;zoom;e;setenv;to;2,,,,,)$(nth,$(getenv,to),,,line;non;0<0;non;@0.1<N;;extend;;non;@;non;@;;lengthen;l;dy;;ucs;ob;l;erase;l;;id;non;0<0;ucs;p;id;non;@;setenv;to;3,,,,)$(nth,$(getenv,to),,,,;l2;$(getvar,perimeter);line;non;@;non;@0.1<E;;extend;;non;@;non;@;;lengthen;l;dy;;ucs;ob;l;erase;l;;setenv;to;4,,,)$(nth,$(getenv,to),,,,,;l1;$(getvar,perimeter);setenv;to;5,,)$(nth,$(getenv,to),,,,,,pline;non;0<0;non;$(getenv,l1)<E;non;@$(getenv,l2)<N;non;@$(getenv,l1)<W;c;zoom;e;draworder;l;;f;-hatch;p;s;s;l;;la;.;co;.;;;draworder;l;;b;erase;@;;setenv;to;6,)$(nth,$(getenv,to),,,,,,,ucs;p;;p;copybase;non;0<0;l;;undo;e;u;pasteclip;non;0<0;draworder;l;;b;ucs;p;setenv;to;0)^M

※、ダミーの点を消すの忘れてました最後にerase;non;0<0;;足しました
※、度々すいません、点を描くタイミング間違えてました
これでたぶん大丈夫だと思います
※、大丈夫だと思うと言っておきながら現在の色に対応していませんでした
きっと大丈夫だと思う
  • chibi-tom
  • 2020/06/04 (Thu) 12:28:56
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
chibi-tom様
ありがとうございます。

>図中に選択する文字が1つだけしかない場合に止まってしまうみたいですね(違うかな?)
全くその通りでした^^

斜め等、角度があるのは駄目なのでしょうか。
また、大きさの調整等はできないのでしょうか。

注文多くてすみません。

  • 土木屋
  • 2020/06/04 (Thu) 13:15:50
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
>斜め等、角度があるのは駄目なのでしょうか。
文字の角度に合わせたつもりでしたが、どうなってしまうのでしょうか?
>大きさの調整等
何とかなるかもしれませんがちょっと忙しくなったので時間が空いたらでお願いします
  • chibi-tom
  • 2020/06/04 (Thu) 13:24:54
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
chibi-tom様

お忙しいところ大変すみません。
chibi-tom様のお手すきの時にお願いいたします。

画像を添付します。

斜め文字の場合はUCSが傾いたまま作動をやめてしまうこともありました。
その時は斜め文字と小さいハッチ以外が全部削除(その他は消えて?隠れて?)されていました。
  • 土木屋
  • 2020/06/04 (Thu) 13:54:13
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
>斜め
文字がちゃんと選択できないと画像のようになるかもしれません

selectコマンドでちゃんと選択するように変更しました
サイズはとりあえず縦方向だけx0.8にしてみました
マクロの中の「scale;l;;mid;0<0;0.8;」部分です
お好みで変更してください

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),select;\ucs;w;undo;be;point;non;0<0;erase;all;r;p;;ucs;ob;l;zoom;e;setenv;to;1,,,,,)$(nth,$(getenv,to),,line;non;0<0;non;@0.1<N;;extend;;non;@;non;@;;scale;l;;mid;0<0;0.8;lengthen;l;dy;;ucs;ob;l;erase;l;;id;non;0<0;ucs;p;id;non;@;setenv;to;2,,,,)$(nth,$(getenv,to),,,;l2;$(getvar,perimeter);line;non;@;non;@0.1<E;;extend;;non;@;non;@;;lengthen;l;dy;;ucs;ob;l;erase;l;;setenv;to;3,,,)$(nth,$(getenv,to),,,,;l1;$(getvar,perimeter);setenv;to;4,,)$(nth,$(getenv,to),,,,,pline;non;0<0;non;$(getenv,l1)<E;non;@$(getenv,l2)<N;non;@$(getenv,l1)<W;c;draworder;l;;f;-hatch;p;s;s;l;;la;.;co;.;;;draworder;l;;b;zoom;e;erase;non;0<0;;setenv;to;5,)$(nth,$(getenv,to),,,,,,ucs;p;;p;;p;;p;copybase;non;0<0;l;;undo;e;u;pasteclip;non;0<0;draworder;l;;b;ucs;p;setenv;to;0)^M
  • chibi-tom
  • 2020/06/04 (Thu) 14:53:23
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
chibi-tom様

お忙しいところ大変すみません。

斜めがやはり出来なく、少し検証してみました。
画像の通りなのですが、これは仕方ないのでしょうか。
数値は文字の回転角度です。

この他にも色々試してみたのですが14°なら出来たり30°でも出来ないことがあったり
結構気まぐれっぽい気がします。
  • 土木屋
  • 2020/06/04 (Thu) 16:19:50
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
あれ、画像がない
  • 土木屋
  • 2020/06/04 (Thu) 16:20:48
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
いろいろ試していただいて

確かに不安定ですね
ただ申し訳ありませんが、原因がわからないです
ダミーで描いている線分が延長できていないですね

時間が空いた時もう少し考えてみます

  • chibi-tom
  • 2020/06/04 (Thu) 17:27:07
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
chibi-tomさんがお忙しそうなので、横から失礼します。
手持ちの文字枠マクロを修正したものです。
(元の作者さんのお名前を出したいのですが、ちょっと検索できませんでした。分かればまた書き込みます)
ハッチのサイズは、setenv;yhk;1 の「1」を0.5~2の間で適宜変更してください。

*^C^C_setenv;yhk;1;_select;si;<囲み文字/Esc>^X\_ucs;ob;non;@;zoom;o;p;;id;$M=$(getvar,viewctr);rectang;non;@;non;-$(*,$(getenv,yhk),$(index,1,$(getvar,viewctr))),-$(*,$(getenv,yhk),$(index,1,$(getvar,viewctr)));scale;L;;non;@;2;-hatch;p;s;s;l;;;zoom;p;erase;non;@;;draworder;l;;b;ucs;p^M

手元では、どの角度でも大丈夫だったのですが、いかがでしょうか。
  • LUNE
  • 2020/06/05 (Fri) 09:58:28
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
LUNE様
ありがとうございます。

思い通りに動きました。
これでかなり捗りそうです。

chibi-tom様も長時間お付き合い頂いてありがとうございました。
  • 土木屋
  • 2020/06/05 (Fri) 10:21:18
Re: 文字枠内背景マスクを変更おねがいできないでしょうか
LUNEさんありがとうございました

すっきり&とても分かりやすいですね
お恥ずかしいかぎりですが難しく考える頭の固さが治りません

時間が空いて気が向いたら原因究明してみようと思います
  • chibi-tom
  • 2020/06/08 (Mon) 14:57:44

返信フォーム






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