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

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

LTマクロ 文字_四角枠
お世話になっております。
DTEXTで文字を記入後、四角枠で囲むマクロをAutoCadLT2013で使用しておりました。
2018にVerUpした所、動作したりしなかったりと不安定な動きになります。
動作しない時には下記のメッセージが表示されます。

・この方向に境界エッジはありません。
・窓の指定が無効です

まったく原因が分からずに困っております。
解決策、ヒントでもいただければと思います。

お手数ですが、ご確認お願い致します。


^C^C_pspace;-layer;s;DIM000;;_dtext;\2.5;0;SORTENTS;127;SELECT;SI;@;LINE;NON;@;NON;@0.01,0;;EXTEND;P;;@;@;;LENGTHEN;L;;;UCS;E;L;LINE;NON;$M=$(/,$(GETVAR,PERIMETER),2),0;NON;@0,0.01;;EXTEND;P;;@;@;;LENGTHEN;L;;;UCS;E;L;ERASE;L;;;L;;RECTANG;NON;0,$M=$(/,$(GETVAR,PERIMETER),2);NON;@"$M=$(GETVAR,PERIMETER)",-$(GETVAR,PERIMETER);UCS;P;;P;-color;bylayer;


コマンド: -layer

現在の画層: "DIM000"
オプションを入力
[一覧(?)/現在の層の新規作成(M)/現在の層の変更(S)/新規作成(N)/名前変更(R)/表示(ON)/非表示(OFF)/色設定(C)/線種設定(L)/線の太さ(LW)/透過性(TR)/マテリアル(MAT)/印刷(P)/フリーズ(F)/フリーズ解除(T)/ロック(LO)/ロック解除(U)/画層状態(A)/説明(D)/正規画層(E)]: s

現在層にする画層名を入力 または <オブジェクトを選択>: DIM000
オプションを入力
[一覧(?)/現在の層の新規作成(M)/現在の層の変更(S)/新規作成(N)/名前変更(R)/表示(ON)/非表示(OFF)/色設定(C)/線種設定(L)/線の太さ(LW)/透過性(TR)/マテリアル(MAT)/印刷(P)/フリーズ(F)/フリーズ解除(T)/ロック(LO)/ロック解除(U)/画層状態(A)/説明(D)/正規画層(E)]:

コマンド: _dtext

現在の文字スタイル: "寸法" 文字の高さ: 2.5000 異尺度対応: いいえ 位置合わせ: 左寄せ
文字列の始点を指定 または [位置合わせオプション(J)/文字スタイル変更(S)]:
高さを指定 <2.5000>: 2.5

文字列の角度を指定 <0>: 0

コマンド: SORTENTS

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

コマンド: SELECT

オブジェクトを選択: SI

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

コマンド: 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)>: L


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

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

コマンド: UCS

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

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

コマンド: LINE

1 点目を指定: NON
0.04162822,0

次の点を指定 または [元に戻す(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)>: L


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

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

コマンド: UCS

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

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

コマンド: ERASE

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

オブジェクトを選択:

コマンド:
ERASE

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

オブジェクトを選択:

コマンド: RECTANG

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

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

コマンド: 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

コマンド: -color

オブジェクトの既定の色を入力 [TrueColor(T)/カラー ブック(CO)] <BYLAYER>: bylayer
  • 中田
  • MAIL
  • 2017/08/04 (Fri) 15:39:29
Re: LTマクロ 文字_四角枠
画面とオブジェクトのズームの状態で違うのかな?

とりあえずzoomコマンド入れてみたので
お試しください。

♪文字枠作成マクロ 改
^C^C_pspace;-layer;s;DIM000;;_dtext;\2.5;0;zoom;ob;l;SORTENTS;127;SELECT;SI;@;LINE;NON;@;NON;@0.01,0;;EXTEND;P;;@;@;;LENGTHEN;L;;;UCS;E;L;LINE;NON;$M=$(/,$(GETVAR,PERIMETER),2),0;NON;@0,0.01;;EXTEND;P;;@;@;;LENGTHEN;L;;;UCS;E;L;ERASE;L;;;L;;RECTANG;NON;0,$M=$(/,$(GETVAR,PERIMETER),2);NON;@"$M=$(GETVAR,PERIMETER)",-$(GETVAR,PERIMETER);UCS;P;;P;-color;bylayer;
  • とってぃ
  • 2017/08/04 (Fri) 16:10:31
Re: LTマクロ 文字_四角枠
中田様

可能性があるのは、LENGTHENコマンドの仕様変更ではないかなと思います。

LENGTHENの実行時にDYになっているかDEかTかでその後の動作が変わってしまうみたいです。

^C^C_pspace;-layer;s;DIM000;;_dtext;\2.5;0;SORTENTS;127;SELECT;SI;@;LINE;NON;@;NON;@0.01,0;;EXTEND;P;;@;@;;LENGTHEN;DY;;;L;;;UCS;E;L;LINE;NON;$M=$(/,$(GETVAR,PERIMETER),2),0;NON;@0,0.01;;EXTEND;P;;@;@;;LENGTHEN;DY;;;L;;;UCS;E;L;ERASE;L;;;L;;RECTANG;NON;0,$M=$(/,$(GETVAR,PERIMETER),2);NON;@"$M=$(GETVAR,PERIMETER)",-$(GETVAR,PERIMETER);UCS;P;;P;-color;bylayer;

で試して見てください。とりあえずLt2017の自分は動くみたいです。

  • chibi-tom
  • 2017/08/04 (Fri) 17:18:00
Re: LTマクロ 文字_四角枠
こうなるのかなぁ。
ちょっと自信ないけど。
^C^C_pspace;-layer;m;DIM000;;_dtext;\2.5;0;SORTENTS;127;select;l;;LINE;NON;@;NON;@0.01,0;;EXTEND;P;;@;@;;LENGTHEN;L;;;UCS;E;L;erase;l;;select;l;;LINE;NON;$M=$(/,$(GETVAR,PERIMETER),2),0;NON;@0,0.01;;EXTEND;P;;@;@;;LENGTHEN;L;;;UCS;E;L;ERASE;L;;RECTANG;NON;0,$M=$(/,$(GETVAR,PERIMETER),2);NON;@"$M=$(GETVAR,PERIMETER)",-$(GETVAR,PERIMETER);UCS;P;;P;-color;bylayer;

>この方向に境界エッジはありません
>パスが境界エッジと交差していません
これらはつまり、境界線が直前に書いた文字ではなく別の物になっているから。と考えました。
なので、確実に直前に書いた文字を選択できる様にしました。

それから、
chibiさんの言われる様に、LENGTHENの部分も変えた方が良いかもしれませんね。
上のコマンド履歴では大丈夫そうですけど、状況により大丈夫じゃない事も有り得ますから。

あと2018の仕様変更で、マクロに影響しそうなのが「オフスクリーン選択」と「線種ギャップ選択」ですが、
今回は関係ありそうで、なさそう。
http://adndevblog.typepad.com/technology_perspective/2017/03/new-features-on-autocad-2018-part1.html


  • Lon
  • 2017/08/04 (Fri) 18:15:37

返信フォーム






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