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

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

文字枠(オプション付き)
いつもお世話になってます。
AutoCAD2015R版です。

仕事柄、文字(マルチテキスト)に枠をつけ、
更に背景マスクをかける...という作業が多いです。
この一連の流れをマクロでできないかと思いまして、
投稿させていただきました。

1:文字を入力
2:背景マスク(境界係数は1.5)
3:マスクの境界ぴったりの枠

というような感じです(説明下手ですみません)

宜しくお願い致します。
  • とみ
  • 2018/07/19 (Thu) 09:25:19
Re: 文字枠(オプション付き)
画像です。
背景を見やすくするために
色をつけました。(普段は背景と同色です)
  • とみ
  • 2018/07/19 (Thu) 09:31:36
Re: 文字枠(オプション付き)
ご要望に合うか分かりませんが
以前こちらで修正した文字ハッチングマクロを元に
修正してみましたのでお試しください。

♪文字枠+ハッチングマクロ
*^C^C$M=useri5;0;$(nth,$(getvar,useri5),offset;;^X文字選択^X\;select;@;@;;undo;be;explode;@;"""$M=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$M=$(if,$(getvar,cmdactive),;)"""""""select;@;@;;JUSTIFYTEXT;P;;L;useri5;1,,,,,)$(nth,$(getvar,useri5),,ucs;e;@;sortents;127;line;non;@;non;@0.01<0;;extend;p;;f;non;@0.01<90;non;@0.02<270;;f;non;@0.1<90;non;@0.2<270;;;lengthen;l;;sortents;$(getvar,sortents);useri5;2,,,,)$(nth,$(getvar,useri5),,,userr5;$(getvar,perimeter);sortents;127;line;mid;@;non;@0.01<90;;extend;p;;f;non;@0.01<180;non;@0.01<0;;f;non;@0.01<180;non;@0.01<0;;;lengthen;l;;sortents;$(getvar,sortents);useri5;3,,,)$(nth,$(getvar,useri5),,,,ucs;e;l;erase;l;;;l;;userr4;$(*,$(getvar,perimeter),-0.12);offsetdist;$(/,$(-,$(*,$(getvar,perimeter),1.38),$(getvar,perimeter)),2);useri5;4,,)$(nth,$(getvar,useri5),,,,,rectang;non;$(*,-1,$(getvar,userr4))","$(-,$(/,$(getvar,userr5),-2),$(getvar,userr4));non;$(+,$(getvar,perimeter),$(getvar,userr4))","$(+,$(getvar,userr4),$(/,$(getvar,userr5),2));useri5;5,)$(nth,$(getvar,useri5),,,,,,chprop;l;;c;1;;ucs;ob;l;offset;;0<0;non;$(getvar,userr4)<180;;erase;p;;-hatch;p;s;s;l;;;ucs;p;;p;;p;chprop;l;;c;2;;draworder;l;;b)^M
  • とってぃ
  • 2018/07/19 (Thu) 10:34:25
Re: 文字枠(オプション付き)
とってぃ 様
ご対応ありがとうございます。
使用してみたところ、エラーとなってしまいました。

コマンド:
コマンド:
コマンド: useri5

USERI5 の新しい値を入力 <0>: 0

コマンド: offset

現在の設定: 元のオブジェクトを消去=いいえ 画層=元のオブジェクト OFFSETGAPTYPE=0
オフセット距離を指定 または [通過点(T)/消去(E)/画層(L)] <通過点>:

オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>: *削除*
文字選択*削除*
文字選択
このオブジェクトはオフセットできません。
このオブジェクトはオフセットできません。
オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>:

コマンド: select

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

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

オブジェクトを選択:

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

コマンド: explode

オブジェクトを選択: @

コマンド: explode

オブジェクトを選択: @

オブジェクトは分解できません。

何も見つかりません。
オブジェクトを選択:

コマンド: select

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

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

オブジェクトを選択:

コマンド: JUSTIFYTEXT

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

オブジェクトを選択:

位置合わせのオプションを入力
[左(L)/位置合わせ(A)/フィット(F)/中心(C)/中央(M)/右(R)/左上(TL)/中心上(TC)/右上(TR)/左中央(ML)/中央(MC) /右中央(MR)/左下(BL)/中央下(BC)/右下(BR)] <左>: L

コマンド: useri5

USERI5 の新しい値を入力 <0>: 1

コマンド:
コマンド:
コマンド: useri5

USERI5 の新しい値を入力 <1>: 0

コマンド: ucs

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

UCS を位置合わせするオブジェクトを選択: @

コマンド: sortents

SORTENTS の新しい値を入力 <127>: 127

コマンド: line

1 点目を指定: non
@

次の点を指定 または [元に戻す(U)]: non
@0.01<0

次の点を指定 または [元に戻す(U)]:

コマンド: extend

現在の設定: 投影モード=UCS、エッジモード=延長
境界エッジを選択 ...
オブジェクトを選択 または <すべて選択>: p
認識された数: 1

オブジェクトを選択:

延長するオブジェクトを選択 または Shift を押してトリムするオブジェクトを選択 または
[フェンス(F)/交差(C)/投影モード(P)/エッジ(E)/元に戻す(U)]: f

フェンスの 1 点目を指定 または クリックしてカーソルをドラッグ: non

オブジェクト スナップはここでは使用できません。
応答が無効です。

※ちなみに、lengthenの部分は2015以降に変え、
余白などもないか確認済みです。

お手数おかけしますが、宜しくお願い致します。
  • とみ
  • 2018/07/19 (Thu) 10:53:41
Re: 文字枠(オプション付き)
2015でしたね。
修正してみました。

♪文字枠+ハッチングマクロ Ver.2015
*^C^C$M=useri5;0;$(nth,$(getvar,useri5),offset;;^X文字選択^X\;select;@;@;;undo;be;explode;@;"""$M=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$M=$(if,$(getvar,cmdactive),;)"""""""select;@;@;;JUSTIFYTEXT;P;;L;useri5;1,,,,,)$(nth,$(getvar,useri5),,ucs;e;@;sortents;127;line;non;@;non;@0.01<0;;extend;p;;f;@0.01<90;@0.02<270;;f;@0.1<90;@0.2<270;;;lengthen;dy;;;l;;sortents;$(getvar,sortents);useri5;2,,,,)$(nth,$(getvar,useri5),,,userr5;$(getvar,perimeter);sortents;127;line;mid;@;non;@0.01<90;;extend;p;;f;@0.01<180;@0.01<0;;f;@0.01<180;@0.01<0;;;lengthen;dy;;;l;;sortents;$(getvar,sortents);useri5;3,,,)$(nth,$(getvar,useri5),,,,ucs;e;l;erase;l;;;l;;userr4;$(*,$(getvar,perimeter),-0.12);offsetdist;$(/,$(-,$(*,$(getvar,perimeter),1.38),$(getvar,perimeter)),2);useri5;4,,)$(nth,$(getvar,useri5),,,,,rectang;non;$(*,-1,$(getvar,userr4))","$(-,$(/,$(getvar,userr5),-2),$(getvar,userr4));non;$(+,$(getvar,perimeter),$(getvar,userr4))","$(+,$(getvar,userr4),$(/,$(getvar,userr5),2));useri5;5,)$(nth,$(getvar,useri5),,,,,,chprop;l;;c;1;;ucs;ob;l;offset;;0<0;non;$(getvar,userr4)<180;;erase;p;;-hatch;p;s;s;l;;;ucs;p;;p;;p;chprop;l;;c;2;;draworder;l;;b)^M
  • とってぃ
  • 2018/07/19 (Thu) 11:05:57
Re: 文字枠(オプション付き)
とってぃ 様
早速の対応ありがとうございます。
反映しました!
こちらはマルチテキストは
非対応という認識でよろしいでしょうか。

宜しくお願い致します。
  • とみ
  • 2018/07/19 (Thu) 11:24:31
Re: 文字枠(オプション付き)
マルチテキストも可能なはずですが、できませんか?
分解されてテキスト文字になるだけのはずです。
  • とってぃ
  • 2018/07/19 (Thu) 11:33:01
Re: 文字枠(オプション付き)
とってぃ 様
ご対応ありがとうございます。
なるほど!
そういうことなんですね。
ありがとうございました。
  • とみ
  • 2018/07/19 (Thu) 13:29:25
Re: 文字枠(オプション付き)
何度もすみません。

上記2015Verマクロを
背景色と同色にすることは可能でしょうか。
(背景マスクのような)
宜しくお願い致します。
  • とみ
  • 2018/07/19 (Thu) 18:57:57
Re: 文字枠(オプション付き)
マクロ最後の部分の

chprop;l;;c;1;;ucs;ob;l;offset;;0<0;non;$(getvar,userr4)<180;;erase;p;;-hatch;p;s;s;l;;;ucs;p;;p;;p;chprop;l;;c;2;;draworder;l;;b)^M

この

chprop;l;;c;1;;

の数値をお好みの色番号に変更してお使いください。
  • とってぃ
  • 2018/07/20 (Fri) 08:39:08

返信フォーム






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