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

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

2種マクロの修正をお願いできないでしょうか
とってぃ様 お世話になります。

作図内容は異なるのですが、挙動の似ている2つのマクロがあるのですが
AUTOCAD2006Rではきちんと作動するのですが2008Rになると動いているのですが正確に作図されません

添付画像のように文字にハッチングするマクロと文字に二重線を引くマクロです。
画像は2006Rのものです。
2008Rではハッチング、二重線とも見えないくらい小さく作図されてしまいます(画像に出来ないくらい小さいです)

修正依頼内容としては2008Rでも2006R同様に動かせたらいいなと思ってます。

マクロは以下の通りです


**文字ハッチマクロ

*^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;@$(/,$(getvar,VIEWSIZE),100000)<0;;extend;p;;@;@;;lengthen;l;;sortents;$(getvar,sortents);useri5;2,,,,)$(nth,$(getvar,useri5),,,userr5;$(getvar,perimeter);sortents;127;line;mid;@;non;@$(/,$(getvar,VIEWSIZE),100000)<90;;extend;p;;@;@;;lengthen;l;;sortents;$(getvar,sortents);ucs;e;l;erase;l;;;l;;useri5;3,,,)$(nth,$(getvar,useri5),,,,userr4;$(*,$(getvar,perimeter),-0.12);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),,,,,,-hatch;p;s;s;l;;;ucs;p;;p;copybase;non;@;l;;$M=undo;e;u;pasteclip;non;"""$(getvar,lastpoint)""";useri5;0)^M


**二重線マクロ

*^C^C$m=setenv;to;0;$(nth,$(getenv,to),offset;;\;select;@;@;;undo;be;explode;@;"""$m=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$m=$(if,$(getvar,cmdactive),;)"""""""select;@;@;;setenv;to;1,,,,)$(nth,$(getenv,to),,scaletext;@;@;;$m="""$(if,$(getvar,cmdactive),,undo;e;u;list;;)"""e;s;1;ucs;e;@;sortents;127;line;non;@;non;@0.01<0;;extend;p;;@;@;;lengthen;l;;sortents;$(getvar,sortents);setenv;to;2,,,)$(nth,$(getenv,to),,,userr1;$(getvar,perimeter);sortents;127;line;mid;@;non;@0","0.01;;extend;p;;@;@;;lengthen;l;;sortents;$(getvar,sortents);ucs;e;l;erase;l;;;l;;setenv;to;3,,)$(nth,$(getenv,to),,,,line;non;"$(*,$(getvar,perimeter),0.37),$(/,$(getvar,userr1),2)";non;"@0,-$(getvar,userr1)";;select;l;;setenv;to;4,)$(nth,$(getenv,to),,,,,line;non;"$(*,$(getvar,perimeter),0.63),$(/,$(getvar,userr1),2)";non;"@0,-$(getvar,userr1)";;ucs;p;;p;copybase;0<0;p;l;;undo;e;u;pasteclip;non;0<0);


何卒よろしくお願いいたします。

  • さんさく
  • 2018/06/29 (Fri) 16:00:07
Re: 2種マクロの修正をお願いできないでしょうか
上記2つとも2013では動作しました。

2008が無いので確認出来ません。

2008でのマクロ実行結果を貼り付けて下さい。

>2008Rになると動いているのですが正確に作図されません
どのように正確に作図されないのか、詳しく説明願います。
  • とってぃ
  • 2018/06/30 (Sat) 12:30:48
Re: 2種マクロの修正をお願いできないでしょうか
とってぃ様

返信ありがとうございます。

>どのように正確に作図されないのか、詳しく説明願います。
コマンド実行するとプログラムが走り、両マクロともとても小さなハッチングと二重線が作図されます
範囲選択して要素は確認出来ますがほぼ見えない状態です。

2013でも動くということはやはり2008は相性が悪いのでしょうか

お忙しいところ申し訳ありませんがよろしくお願い致します。




以下文字ハッチの方のマクロ実行結果です。連続選択なので、最後に手動で一回キャンセルしています。



コマンド:
コマンド: 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 の新しい値を入力 <103>: 127

コマンド: line
1 点目を指定: non
@

次の点を指定 または [元に戻す(U)]: non
@0.00088556<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)]: l

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

コマンド: sortents

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

コマンド: useri5

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

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

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

コマンド: userr5

USERR5 の新しい値を入力 <0.0000>: 0.00088556

コマンド: sortents

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

コマンド: line
1 点目を指定: mid
どこの @

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

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

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

コマンド: sortents

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

コマンド: ucs

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

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

コマンド: erase

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

オブジェクトを選択:

コマンド:
ERASE
オブジェクトを選択: l
認識された数: 1

オブジェクトを選択:

コマンド: useri5

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

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

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

コマンド: userr4

USERR4 の新しい値を入力 <0.0000>: -0.00010627

コマンド: useri5

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

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

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

コマンド: rectang

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

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

コマンド: useri5

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

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

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

コマンド: -hatch

現在のハッチング パターン: ANGLE
内側の点を指定 または
[プロパティ(P)/オブジェクトを選択(S)/境界を作成(W)/境界を除外(B)/拡張(A)/表示順序(DR)/原点(O)/異尺度対応(AN)]: p

パターン名を入力 または [一覧(?)/塗り潰し(S)/ユーザ定義(U)] <ANGLE>: s

現在のハッチング パターン: SOLID
内側の点を指定 または
[プロパティ(P)/オブジェクトを選択(S)/境界を作成(W)/境界を除外(B)/拡張(A)/表示順序(DR)/原点(O)/異尺度対応(AN)]: s

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

オブジェクトを選択:

現在のハッチング パターン: SOLID
内側の点を指定 または
[プロパティ(P)/オブジェクトを選択(S)/境界を作成(W)/境界を除外(B)/拡張(A)/表示順序(DR)/原点(O)/異尺度対応(AN)]:

コマンド: 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
基点を指定: non
@

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

オブジェクトを選択:

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

コマンド: u
グループ
コマンド: pasteclip
挿入点を指定: non
-755.71524485,-5239.61897168,0

コマンド: useri5

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

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

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

コマンド: offset

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

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




-------------------------------------------------------------------------------------------



二重線の実行結果です。こちらも連続選択なので、最後に手動で一回キャンセルしています。


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

コマンド: explode

オブジェクトを選択: @

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

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

コマンド: explode

オブジェクトを選択: @

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

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

コマンド: select

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

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

オブジェクトを選択:

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

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

コマンド:
コマンド: scaletext

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

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

オブジェクトを選択:

尺度調整の基点オプションを入力
[既存の基点(E)/左(L)/中心(C)/中央(M)/右(R)/左上(TL)/上中心(TC)/右上(TR)/左中央(ML)/中央(MC)/右中央(MR)/左下(
BL)/下中心(BC)/右下(BR)] <既存の基点>: e

モデル空間での新しい高さを指定 または [用紙上の高さ(P)/オブジェクトに合わせる(M)/尺度係数(S)] <2.5>: s

尺度を指定 または [参照長さを指定(R)] <2>: 1

1 個のオブジェクトが変更されました
コマンド: ucs

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

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

コマンド: sortents

SORTENTS の新しい値を入力 <103>: 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)]: l

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

コマンド: sortents

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

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

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

コマンド:
コマンド: userr1

USERR1 の新しい値を入力 <0.0000>: 0.01

コマンド: sortents

SORTENTS の新しい値を入力 <103>: 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)]: l

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

コマンド: sortents

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

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

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

コマンド:
コマンド: line
1 点目を指定: non
0.0037,0.005

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

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

コマンド: select

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

オブジェクトを選択:

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

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

コマンド:
コマンド: line
1 点目を指定: non
0.0063,0.005

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

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

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

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

オブジェクトを選択: l
認識された数: 1, 総数 2

オブジェクトを選択:

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

コマンド: u
グループ
コマンド: pasteclip
挿入点を指定: non
0<0

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

コマンド:
コマンド: offset

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

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

  • さんさく
  • 2018/07/02 (Mon) 07:41:35
Re: 2種マクロの修正をお願いできないでしょうか
たぶん、マクロ中のextend;p;;@;@;での選択がされていないと思われます。

とりあえずハッチング側修正してみたので
お試しください。

♪文字ハッチマクロ 改1
*^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;@$(/,$(getvar,VIEWSIZE),100000)<0;;extend;p;;nea;@;nea;@;;lengthen;l;;sortents;$(getvar,sortents);useri5;2,,,,)$(nth,$(getvar,useri5),,,userr5;$(getvar,perimeter);sortents;127;line;mid;@;non;@$(/,$(getvar,VIEWSIZE),100000)<90;;extend;p;;nea;@;nea;@;;lengthen;l;;sortents;$(getvar,sortents);ucs;e;l;erase;l;;;l;;useri5;3,,,)$(nth,$(getvar,useri5),,,,userr4;$(*,$(getvar,perimeter),-0.12);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),,,,,,-hatch;p;s;s;l;;;ucs;p;;p;copybase;non;@;l;;$M=undo;e;u;pasteclip;non;"""$(getvar,lastpoint)""";useri5;0)^M
  • とってぃ
  • 2018/07/02 (Mon) 11:46:51
Re: 2種マクロの修正をお願いできないでしょうか
とってぃ様

試してみましたが、変わりないです。全く同じです。
これもう、自分のCADが悪いんじゃないかって思います(笑)




以下ログです

コマンド:
コマンド: 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 の新しい値を入力 <103>: 127

コマンド: line
1 点目を指定: non
@

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

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

コマンド: extend

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

オブジェクトを選択:

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

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

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

コマンド: lengthen

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

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

コマンド: sortents

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

コマンド: useri5

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

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

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

コマンド: userr5

USERR5 の新しい値を入力 <0.0000>: 0.00088556

コマンド: sortents

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

コマンド: line
1 点目を指定: mid
どこの @

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

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

コマンド: extend

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

オブジェクトを選択:

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

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

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

コマンド: lengthen

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

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

コマンド: sortents

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

コマンド: ucs

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

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

コマンド: erase

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

オブジェクトを選択:

コマンド:
ERASE
オブジェクトを選択: l
認識された数: 1

オブジェクトを選択:

コマンド: useri5

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

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

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

コマンド: userr4

USERR4 の新しい値を入力 <0.0000>: -0.00010627

コマンド: useri5

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

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

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

コマンド: rectang

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

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

コマンド: useri5

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

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

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

コマンド: -hatch

現在のハッチング パターン: ANGLE
内側の点を指定 または
[プロパティ(P)/オブジェクトを選択(S)/境界を作成(W)/境界を除外(B)/拡張(A)/表示順序(DR)/原点(O)/異尺度対応(AN)]: p

パターン名を入力 または [一覧(?)/塗り潰し(S)/ユーザ定義(U)] <ANGLE>: s

現在のハッチング パターン: SOLID
内側の点を指定 または
[プロパティ(P)/オブジェクトを選択(S)/境界を作成(W)/境界を除外(B)/拡張(A)/表示順序(DR)/原点(O)/異尺度対応(AN)]: s

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

オブジェクトを選択:

現在のハッチング パターン: SOLID
内側の点を指定 または
[プロパティ(P)/オブジェクトを選択(S)/境界を作成(W)/境界を除外(B)/拡張(A)/表示順序(DR)/原点(O)/異尺度対応(AN)]:

コマンド: 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
基点を指定: non
@

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

オブジェクトを選択:

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

コマンド: u
グループ
コマンド: pasteclip
挿入点を指定: non
-758.10393066,-5249.05436721,0

コマンド: useri5

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

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

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

コマンド: offset

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

オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>: *削除*
文字選択*削除*
*キャンセル*
  • さんさく
  • 2018/07/02 (Mon) 12:52:02
Re: 2種マクロの修正をお願いできないでしょうか
作図した線分が短すぎるのかな?

とりあえず修正してみたのでお試しください。

♪♪文字ハッチマクロ 改2
*^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;;@;@;;lengthen;l;;sortents;$(getvar,sortents);useri5;2,,,,)$(nth,$(getvar,useri5),,,userr5;$(getvar,perimeter);sortents;127;line;mid;@;non;@0.01<90;;extend;p;;@;@;;lengthen;l;;sortents;$(getvar,sortents);ucs;e;l;erase;l;;;l;;useri5;3,,,)$(nth,$(getvar,useri5),,,,userr4;$(*,$(getvar,perimeter),-0.12);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),,,,,,-hatch;p;s;s;l;;;ucs;p;;p;copybase;non;@;l;;$M=undo;e;u;pasteclip;non;"""$(getvar,lastpoint)""";draworder;l;;b;useri5;0)^M



ちなみに当HPの
文字枠作成マクロ
https://ameblo.jp/totthi-macro/entry-11061436059.html
は動きます?
  • とってぃ
  • 2018/07/04 (Wed) 08:22:17
Re: 2種マクロの修正をお願いできないでしょうか
とってぃ様

>とりあえず修正してみたのでお試しください。
こちらは当初のマクロより少し大きくなりました。当初作図されたのが0.00000001の大きさで
0.00005776へと大きく作図されましたがまだ全然小さいです

ちなみにこちらで作図対象にしているMSゴシック高さ3.5半角数字"1"へのハッチングが5.6345の大きさです(2006Rの場合)


文字枠作成マクロの方も小さい正方形が作図されました面積0.0001(画像参照)
  • さんさく
  • 2018/07/04 (Wed) 09:22:24
Re: 2種マクロの修正をお願いできないでしょうか
マクロ中の延長コマンドで
--------------------------------------------------------------------------------------
延長するオブジェクトを選択 または Shift を押してトリムするオブジェクトを選択 または
[フェンス(F)/交差(C)/投影モード(P)/エッジ(E)/元に戻す(U)]: nea
どこに @

このオブジェクトは延長できません。
--------------------------------------------------------------------------------------
延長できないのが問題なのですが・・・

ズームの環境が影響してるのですかねぇ・・・

MSゴシックでもこちらは動作しています。


今度はオブジェクトズーム入れてみました。
お試しください。


♪文字ハッチマクロ 改3
*^C^C$M=useri5;0;$(nth,$(getvar,useri5),offset;;^X文字選択^X\;zoom;o;@;;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;;@;@;;lengthen;l;;sortents;$(getvar,sortents);useri5;2,,,,)$(nth,$(getvar,useri5),,,userr5;$(getvar,perimeter);sortents;127;line;mid;@;non;@0.01<90;;extend;p;;@;@;;lengthen;l;;sortents;$(getvar,sortents);ucs;e;l;erase;l;;;l;;useri5;3,,,)$(nth,$(getvar,useri5),,,,userr4;$(*,$(getvar,perimeter),-0.12);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),,,,,,-hatch;p;s;s;l;;;ucs;p;;p;copybase;non;@;l;;$M=undo;e;u;pasteclip;non;"""$(getvar,lastpoint)""";draworder;l;;b;zoom;p)^M


※尚、根本的にバージョンの違うCADで
同じマクロで動く場合もあれば
それぞれの仕様に合ったマクロを作らなければいけない場合がありますので
今回の修正で、2008で動いたとしても
2006で動くかは保証できませんのでご了承願います。
  • とってぃ
  • 2018/07/04 (Wed) 10:48:29
Re: 2種マクロの修正をお願いできないでしょうか
実行してみました

選択後、ズームしハッチ後に前画面になるのですね
しかしながら作図されたハッチは一つ前の投稿と変わりないです

また、連続選択のはずですが別文字選択後ズームで止まってしまう時がありました
毎回ではありません。2回目に止まったり3回目に止まったり不規則なようです


2回目で止まった時のログです。最後キャンセルしていません


コマンド:
コマンド: useri5

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

コマンド: offset

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

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

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

コマンド: zoom

窓のコーナーを指定、表示倍率を入力(nX または nXP) または
[図面全体(A)/中心点(C)/ダイナミック(D)/オブジェクト範囲(E)/前画面(P)/倍率(S)/窓(W)/選択オブジェクト(O)] <リアル タイム>:
o

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

オブジェクトを選択:

コマンド: 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 の新しい値を入力 <103>: 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)]: l

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

コマンド: sortents

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

コマンド: useri5

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

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

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

コマンド: userr5

USERR5 の新しい値を入力 <0.00000000>: 0.01

コマンド: sortents

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

コマンド: line
1 点目を指定: mid
どこの @

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

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

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

コマンド: sortents

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

コマンド: ucs

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

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

コマンド: erase

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

オブジェクトを選択:

コマンド:
ERASE
オブジェクトを選択: l
認識された数: 1

オブジェクトを選択:

コマンド: useri5

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

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

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

コマンド: userr4

USERR4 の新しい値を入力 <0.00000000>: -0.0012

コマンド: useri5

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

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

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

コマンド: rectang

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

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

コマンド: useri5

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

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

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

コマンド: -hatch

現在のハッチング パターン: ANGLE
内側の点を指定 または
[プロパティ(P)/オブジェクトを選択(S)/境界を作成(W)/境界を除外(B)/拡張(A)/表示順序(DR)/原点(O)/異尺度対応(AN)]: p

パターン名を入力 または [一覧(?)/塗り潰し(S)/ユーザ定義(U)] <ANGLE>: s

現在のハッチング パターン: SOLID
内側の点を指定 または
[プロパティ(P)/オブジェクトを選択(S)/境界を作成(W)/境界を除外(B)/拡張(A)/表示順序(DR)/原点(O)/異尺度対応(AN)]: s

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

オブジェクトを選択:

現在のハッチング パターン: SOLID
内側の点を指定 または
[プロパティ(P)/オブジェクトを選択(S)/境界を作成(W)/境界を除外(B)/拡張(A)/表示順序(DR)/原点(O)/異尺度対応(AN)]:

コマンド: 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
基点を指定: non
@

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

オブジェクトを選択:

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

コマンド: u
グループ
コマンド: pasteclip
挿入点を指定: non
27592.40132598,-6132.53463422,0

コマンド: draworder

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

オブジェクトを選択:

オブジェクト表示順序のオプションを入力 [指定オブジェクトの前面(A)/指定オブジェクトの背面(U)/最前面へ移動(F)/最背面へ移動(B)]
<最背面へ移動>: b

コマンド: zoom

窓のコーナーを指定、表示倍率を入力(nX または nXP) または
[図面全体(A)/中心点(C)/ダイナミック(D)/オブジェクト範囲(E)/前画面(P)/倍率(S)/窓(W)/選択オブジェクト(O)] <リアル タイム>:
p

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

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

コマンド: offset

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

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

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

コマンド: zoom

窓のコーナーを指定、表示倍率を入力(nX または nXP) または
[図面全体(A)/中心点(C)/ダイナミック(D)/オブジェクト範囲(E)/前画面(P)/倍率(S)/窓(W)/選択オブジェクト(O)] <リアル タイム>:
o

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

オブジェクトを選択:

コマンド: select

オブジェクトを選択: @
もう一方のコーナーを指定: @
認識された数: 0
オブジェクトを選択:

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

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

コマンド: offset

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

オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>: *削除*
文字選択*削除*
  • さんさく
  • 2018/07/04 (Wed) 11:34:34
Re: 2種マクロの修正をお願いできないでしょうか
オブジェクトズームしてるので、選択位置によってそうなるとは思っていましたが
結局extendが効いてないみたいですね。

当HPの、72.文字枠作成マクロも動かないとの事で
まずそちらを修正したので試してみて下さい。

♪文字枠作成 改
*^C^C$m=useri5;0;$(nth,$(getvar,useri5),offset;;^x単一文字オブジェクト選択^x\;select;@;@;;useri5;1,,,,)$(nth,$(getvar,useri5),,copybase;non;0<0;p;;id;$(getvar,lastpoint);undo;be;explode;@;"""$m=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$m=$(if,$(getvar,cmdactive),;)"""""""select;@;@;;ucs;e;@;sortents;127;line;non;@;non;@0.01<0;;useri5;2,,,)$(nth,$(getvar,useri5),,,extend;p;;$(getvar,lastpoint);$(getvar,lastpoint);;lengthen;l;;sortents;$(getvar,sortents);userr1;$M="""$(getvar,perimeter)""";sortents;127;line;mid;@;non;@0","0.01;;useri5;3,,)$(nth,$(getvar,useri5),,,,extend;p;;$(getvar,lastpoint);$(getvar,lastpoint);;lengthen;l;;sortents;$(getvar,sortents);ucs;e;l;erase;p;l;;;l;;useri5;4,)$(nth,$(getvar,useri5),,,,,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;pasteclip;non;0<0;useri5;0)^M


※バージョン2010もextendコマンドがおかしかったので
もしかしたら2008も一緒かも??
  • とってぃ
  • 2018/07/04 (Wed) 12:55:05
Re: 2種マクロの修正をお願いできないでしょうか
結果としては修正前と一緒で
クリック選択した箇所に小さい正方形が作図されました面積0.0001
  • さんさく
  • 2018/07/04 (Wed) 13:14:51
Re: 2種マクロの修正をお願いできないでしょうか
今度は、延長コマンドをフェンス選択してみました。
試してみて下さい。
ダメだったら、マクロの流れを貼り付けて下さい。

♪文字枠作成 改2
*^C^C$m=useri5;0;$(nth,$(getvar,useri5),offset;;^x単一文字オブジェクト選択^x\;select;@;@;;useri5;1,,,,)$(nth,$(getvar,useri5),,copybase;non;0<0;p;;id;$(getvar,lastpoint);undo;be;explode;@;"""$m=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$m=$(if,$(getvar,cmdactive),;)"""""""select;@;@;;ucs;e;@;sortents;127;line;non;@;non;@0.01<0;;useri5;2,,,)$(nth,$(getvar,useri5),,,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);userr1;$M="""$(getvar,perimeter)""";sortents;127;line;mid;@;non;@0","0.01;;useri5;3,,)$(nth,$(getvar,useri5),,,,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);ucs;e;l;erase;p;l;;;l;;useri5;4,)$(nth,$(getvar,useri5),,,,,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;pasteclip;non;0<0;useri5;0)^M
  • とってぃ
  • 2018/07/04 (Wed) 14:39:43
Re: 2種マクロの修正をお願いできないでしょうか
とってぃ様

うまく作図できました
  • さんさく
  • 2018/07/04 (Wed) 14:48:47
Re: 2種マクロの修正をお願いできないでしょうか
では、文字枠作成マクロを元に、作り直してみたので
お試しください。

♪文字ハッチマクロ 改4
*^C^C$m=useri5;0;$(nth,$(getvar,useri5),offset;;^x単一文字オブジェクト選択^x\;select;@;@;;useri5;1,,,,,)$(nth,$(getvar,useri5),,copybase;non;0<0;p;;id;$(getvar,lastpoint);undo;be;explode;@;"""$m=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$m=$(if,$(getvar,cmdactive),;)"""""""select;@;@;;ucs;e;@;sortents;127;line;non;@;non;@0.01<0;;useri5;2,,,,)$(nth,$(getvar,useri5),,,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);userr1;$M="""$(getvar,perimeter)""";sortents;127;line;mid;@;non;@0","0.01;;useri5;3,,,)$(nth,$(getvar,useri5),,,,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);ucs;e;l;erase;p;l;;;l;;useri5;4,,)$(nth,$(getvar,useri5),,,,,ucs;o;$(/,$(getvar,perimeter),2)<0;rectang;non;-$(/,$(getvar,perimeter),2)","-$(/,$(getvar,userr1),2);non;$(/,$(getvar,perimeter),2)","$(/,$(getvar,userr1),2);useri5;5,)$(nth,$(getvar,useri5),,,,,,select;l;;hpname;SOLID;-bhatch;s;l;;;ucs;p;;p;;p;select;l;;pasteclip;non;0<0;copybase;non;0<0;p;l;;erase;p;;;l;;pasteclip;non;0<0;useri5;0)^M
  • とってぃ
  • 2018/07/04 (Wed) 15:30:33
Re: 2種マクロの修正をお願いできないでしょうか
とってぃ様

無事ハッチングできました

そして作図して一つ気づきました。文字の先頭にスペースがあると駄目なのですね
これは以前から駄目だったのを確認したので諦めます。


すみませんが二重線のほうもお願いできますでしょうか。


またこのハッチングの大きさはどこかで調整できるのでしょうか
以前のものは中程から少し後ろのの-0.12の数値のところで高さ調整してました

注文が多くて本当に申し訳ないです。
  • さんさく
  • 2018/07/04 (Wed) 15:44:39
Re: 2種マクロの修正をお願いできないでしょうか
今仕事が立て込んでますので。
来週まで少しお待ち願います。
  • とってぃ
  • 2018/07/05 (Thu) 08:02:51
Re: 2種マクロの修正をお願いできないでしょうか
出張予定でしたが、雨で延期になったので
マクロ修正してみました。

お試しください。

♪文字ハッチマクロ 2008対応版
*^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);ucs;e;l;erase;l;;;l;;useri5;3,,,)$(nth,$(getvar,useri5),,,,userr4;$(*,$(getvar,perimeter),-0.12);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),,,,,,-hatch;p;s;s;l;;;ucs;p;;p;copybase;non;@;l;;$M=undo;e;u;pasteclip;non;"""$(getvar,lastpoint)""";draworder;l;;b)^M


♪二重線マクロ 2008対応版
*^C^C$m=setenv;to;0;$(nth,$(getenv,to),offset;;\;select;@;@;;undo;be;explode;@;"""$m=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$m=$(if,$(getvar,cmdactive),;)"""""""select;@;@;;setenv;to;1,,,,,)$(nth,$(getenv,to),,;to;2;scaletext;@;@;;$m="""$(if,$(getvar,cmdactive),,undo;e;u;list;;)"""e;s;1;ucs;e;@,,,,)$(nth,$(getenv,to),,,;to;3;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),,,)$(nth,$(getenv,to),,,,;to;4;userr1;$(getvar,perimeter);sortents;127;line;mid;@;non;@0","0.01;;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),,)$(nth,$(getenv,to),,,,,;to;5;ucs;e;l;erase;l;;;l;;line;non;"$(*,$(getvar,perimeter),0.37),$(/,$(getvar,userr1),2)";non;"@0,-$(getvar,userr1)";;select;l;,)$(nth,$(getenv,to),,,,,,line;non;"$(*,$(getvar,perimeter),0.63),$(/,$(getvar,userr1),2)";non;"@0,-$(getvar,userr1)";;ucs;p;;p;copybase;0<0;p;l;;undo;e;u;pasteclip;non;0<0)^M
  • とってぃ
  • 2018/07/06 (Fri) 08:28:40
Re: 2種マクロの修正をお願いできないでしょうか
とってぃ様
ありがとうございます。

どちらも完璧に動きました。

高さ調整も以前と同じ箇所で変更出来るようにしてくれたのですね

自分も少しはマクロを勉強しなければ・・・

長時間お付き合いいただきありがとうございました。
  • さんさく
  • 2018/07/06 (Fri) 08:58:09

返信フォーム






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