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

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

文字枠作成
はじめまして。
以前からマクロを使わせて頂いております。

マクロ集の「72.文字枠作成」を
LT2019にて使用できないでしょうか?

お忙しいところ、申し訳ありませんが、
宜しくお願い致します。
  • たけ
  • 2018/08/29 (Wed) 10:32:46
Re: 文字枠作成
AutoCAD R/LT 2015以降の注意点
https://ameblo.jp/totthi-macro/entry-12220279344.html

上記を参考にすればわかると思いますが
2箇所ある
lengthen;l;;の部分をlengthen;dy;;;l;;;に変えればできると思いますよ。
  • chibi-tom
  • 2018/08/29 (Wed) 16:24:44
Re: 文字枠作成
ご指摘の箇所を変更してみたのですが、
文字の上に横線を1本追加だけで
止まってしまいました。
  • たけ
  • 2018/08/30 (Thu) 08:22:20
Re: 文字枠作成
2箇所あると思いますがどちらも直されましたか?
だとするとlt2019でまた仕様変更があったかもしれませんね
F2キーを押してマクロの流れを記載していただければ、何かわかるかもしれません
  • chibi-tom
  • 2018/08/30 (Thu) 08:25:55
Re: Re: 文字枠作成
お言葉に甘えて、貼らせて頂きます。

今朝は線一本だけ書いて終わっていましたが、

今は枠がずれることがあります。





マクロ

*^C^C$m=setenv;to;0;$(nth,$(getenv,to),offset;;^x単一文字オブジェクト選択^x\;select;@;@;;undo;be;setenv;to;1;-attedit;y;*;*;*;non;@;;$M="""$(if,$(getvar,cmdactive),;setenv;to;0,)""",,,,,)$(nth,$(getenv,to),,explode;@;"""$m=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$m=$(if,$(getvar,cmdactive),;)"""""""select;non;@;non;@;;setenv;to;2,,,,)$(nth,$(getenv,to),,,ucs;e;@;sortents;127;line;non;@;non;@0.01<0;;extend;p;;@;@;;lengthen;dy;;;l;;;sortents;$(getvar,sortents);setenv;to;3,,,)$(nth,$(getenv,to),,,,userr1;$(getvar,perimeter);sortents;127;line;mid;@;non;@0","0.01;;extend;p;;@;@;;lengthen;dy;;;l;;;sortents;$(getvar,sortents);ucs;e;l;erase;l;;;l;;setenv;to;4,,)$(nth,$(getenv,to),,,,,ucs;o;$(/,$(getvar,perimeter),2)","0;rectang;non;-$(/,$(getvar,perimeter),2)","-$(/,$(getvar,userr1),2);non;$(/,$(getvar,perimeter),2)","$(/,$(getvar,userr1),2);ucs;p;;p;;p;copybase;0<0;l;;undo;e;u;pasteclip;non;0<0)^M





テキストウインドウ

コマンド: setenv

変数名を入力: to

値 <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



コマンド: setenv

変数名を入力: to

値 <0>: 1





コマンド: -attedit



属性を 1 つずつ編集しますか? [はい(Y)/いいえ(N)] <Y>: y



ブロック名の選別基準を入力 <*>: *



属性の名称 の選別基準を入力 <*>: *



属性値 の選別基準を入力 <*>: *

編集する属性を選択: non

@



0 個見つかりました

編集する属性を選択:



0 個の属性が選択されました。.*無効*



コマンド:

コマンド:

コマンド: setenv

変数名を入力: to

値 <1>: 0





コマンド: explode



オブジェクトを選択: @



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



何も見つかりません。

オブジェクトを選択:



コマンド: explode



オブジェクトを選択: @



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



何も見つかりません。

オブジェクトを選択:



コマンド: select



オブジェクトを選択: non

@

認識された数: 1



オブジェクトを選択: non

@

認識された数: 1 (重複している数: 1), 総数 1



オブジェクトを選択:



コマンド: setenv

変数名を入力: to

値 <0>: 2





コマンド:

コマンド:

コマンド: setenv

変数名を入力: to

値 <2>: 0





コマンド: ucs



現在の UCS 名: *ワールド*

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



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



コマンド: sortents



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



コマンド: line



1 点目を指定: non

@



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

@0.01<0



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



コマンド: extend



現在の設定: 投影モード=UCS、エッジモード=延長

境界エッジを選択 ...

オブジェクトを選択 または <すべて選択>: p

認識された数: 1



オブジェクトを選択:



延長するオブジェクトを選択 または Shift を押してトリムするオブジェクトを選択 または

[フェンス(F)/交差(C)/投影モード(P)/エッジ(E)/元に戻す(U)]: @





延長するオブジェクトを選択 または Shift を押してトリムするオブジェクトを選択 または

[フェンス(F)/交差(C)/投影モード(P)/エッジ(E)/元に戻す(U)]: @





延長するオブジェクトを選択 または Shift を押してトリムするオブジェクトを選択 または

[フェンス(F)/交差(C)/投影モード(P)/エッジ(E)/元に戻す(U)]:



コマンド: lengthen



計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <ダイナミック(DY)>: dy



変更するオブジェクトを選択 または [元に戻す(U)]:



コマンド:

LENGTHEN



計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <ダイナミック(DY)>: l





現在の長さ: 9.22

計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <ダイナミック(DY)>:



変更するオブジェクトを選択 または [元に戻す(U)]:



コマンド: sortents



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



コマンド: setenv

変数名を入力: to

値 <0>: 3





コマンド:

コマンド:

コマンド: setenv

変数名を入力: to

値 <3>: 0





コマンド: userr1



USERR1 の新しい値を入力 <0.00>: 9.21666667



コマンド: sortents



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



コマンド: line



1 点目を指定: mid

どこの @



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

@0,0.01



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



コマンド: extend



現在の設定: 投影モード=UCS、エッジモード=延長

境界エッジを選択 ...

オブジェクトを選択 または <すべて選択>: p

認識された数: 1



オブジェクトを選択:



延長するオブジェクトを選択 または Shift を押してトリムするオブジェクトを選択 または

[フェンス(F)/交差(C)/投影モード(P)/エッジ(E)/元に戻す(U)]: @





延長するオブジェクトを選択 または Shift を押してトリムするオブジェクトを選択 または

[フェンス(F)/交差(C)/投影モード(P)/エッジ(E)/元に戻す(U)]: @





延長するオブジェクトを選択 または Shift を押してトリムするオブジェクトを選択 または

[フェンス(F)/交差(C)/投影モード(P)/エッジ(E)/元に戻す(U)]:



コマンド: lengthen



計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <ダイナミック(DY)>: dy



変更するオブジェクトを選択 または [元に戻す(U)]:



コマンド:

LENGTHEN



計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <ダイナミック(DY)>: l





現在の長さ: 5.25

計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <ダイナミック(DY)>:



変更するオブジェクトを選択 または [元に戻す(U)]:



コマンド: sortents



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



コマンド: ucs



現在の UCS 名: *名前なし*

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



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



コマンド: erase



オブジェクトを選択: l

認識された数: 1



オブジェクトを選択:



コマンド:

ERASE



オブジェクトを選択: l

認識された数: 1



オブジェクトを選択:



コマンド: setenv

変数名を入力: to

値 <0>: 4





コマンド:

コマンド:

コマンド: setenv

変数名を入力: to

値 <4>: 0





コマンド: ucs



現在の UCS 名: *名前なし*

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



新しい原点を指定 <0,0,0>: 2.625,0



コマンド: rectang



一方のコーナーを指定 または [面取り(C)/高度(E)/フィレット(F)/厚さ(T)/幅(W)]: non

-2.625,-4.60833334



もう一方のコーナーを指定 または [面積(A)/サイズ(D)/回転角度(R)]: non

2.625,4.60833334



コマンド: ucs



現在の UCS 名: *名前なし*

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



コマンド:

UCS



現在の UCS 名: *名前なし*

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



コマンド:

UCS



現在の UCS 名: *名前なし*

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



コマンド: copybase



基点を指定: 0<0



オブジェクトを選択: l

認識された数: 1



オブジェクトを選択:



コマンド: undo

現在の設定: 自動 = オン, コントロール = すべて, 合成 = はい, 画層 = はい

取り消す操作の数を入力 または [自動(A)/コントロール(C)/開始(BE)/終了(E)/マーク(M)/後退(B)] <1>: e



コマンド: u

グループ COPYBASE UCS UCS UCS RECTANG UCS SETENV SETENV ERASE ERASE UCS SORTENTS LENGTHEN LENGTHEN EXTEND LINE SORTENTS USERR1 SETENV SETENV SORTENTS LENGTHEN LENGTHEN EXTEND LINE SORTENTS UCS SETENV SETENV SELECT EXPLODE EXPLODE SETENV -ATTEDIT SETENV

コマンド: pasteclip

重複したブロック定義 _Open30 は無視されます。

挿入点を指定: non

0<0



コマンド:

コマンド:

コマンド: setenv

変数名を入力: to

値 <0>: 0





コマンド: offset



現在の設定: 元のオブジェクトを消去=いいえ 画層=元のオブジェクト OFFSETGAPTYPE=0

オフセット距離を指定 または [通過点(T)/消去(E)/画層(L)] <通過点>:



オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>: *削除*

単一文字オブジェクト選択*削除*
  • たけ
  • 2018/08/30 (Thu) 12:42:19
Re: 文字枠作成
OKの時とNGの時があるということですよね。
自分の環境はlt2017なんですが、ではやはり症状が出ないですね。

画像見る限りは、NGの時もなにか法則がありそうなんですけどね。


申し訳ありませんがちょっと原因がわかりません。

  • chibi-tom
  • 2018/08/30 (Thu) 13:51:33
Re: 文字枠作成
このまま使ってみます。
ずれたときは移動すればいいだけですから。
ありがとうございました。
  • たけ
  • 2018/08/30 (Thu) 14:20:04
Re: 文字枠作成
間違っているかもしれませんが
UCSの移動ができていないようなのでもしかしたらですが

ucs;o;$(/,$(getvar,perimeter),2)","0;を
ucs;o;non;$(/,$(getvar,perimeter),2)","0;にしたら
どうでしょうか?
  • chibi-tom
  • 2018/08/31 (Fri) 16:32:04
Re: 文字枠作成
chibi-tomさん

枠が文字とズレることなく、囲めるようになりました。
ありがとうございます!!
  • たけ
  • 2018/09/03 (Mon) 07:42:30

返信フォーム






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