こんにちは。
本日やっとCAD 2000 LTが入ってるPCでマクロを実行してみました。
やはり問題なく動きます。
コマンドを実行するとオフセットの距離を聞かれます。
距離を入力した後、複数のポリラインを窓選択して、決定すると、一括でオフセットされます。
特に他の指示はありませんでした。
mnsファイルの内容は下記のようです。
//
// AutoCAD LT メニュー ファイル - C:\Program Files\AutoCAD LT 2000i\Support\AUTO_EDIT.mnc
//
***MENUGROUP=AUTO_EDIT
***TOOLBARS
**AUTO_OFFSET
ID_AUTO_OFFSET_0 [_Toolbar("AUTO_OFFSET", _Floating, _Show, 150, 700, 1)]
ID_AUTO_OFFSET_IN [_Button("現在層の内側に一括オフセット", "AUTO_OFFSET_IN.bmp", "ICON_24_BLANK")]*^C^CSETENV;TO;0$M=;$(NTH,$(GETENV,TO),SETENV;オフセット間隔(IN) \SELECT;\UNDO;E;;M;SORTENTS;127;OFFSET;"""$M=$(GETENV,オフセット間隔(IN))""";;-LAYER;N;-P2;N;-P1;OF;*;Y;ON;-P1;;CHPROP;P;;LA;-P1;;"""""""$M=$(GETENV,AOFFSETIN1)"""""""SETENV;TO;1,,,)$(NTH,$(GETENV,TO),,$(GETENV,AOFFSETIN1)SETENV;TO;1,^C^C$(GETENV,AOFFSETIN4),^C;)^M
ID_AUTO_OFFSET_OUT [_Button("現在層の外側に一括オフセット", "AUTO_OFFSET_OUT.bmp", "ICON_24_BLANK")]*^C^CSETENV;TO;0$M=;$(NTH,$(GETENV,TO),SETENV;オフセット間隔(OUT) \SELECT;\UNDO;E;;M;SORTENTS;127;OFFSET;"""$M=$(GETENV,オフセット間隔(OUT))""";;-LAYER;N;-P2;N;-P1;OF;*;Y;ON;-P1;;CHPROP;P;;LA;-P1;;"""""""$M=$(GETENV,AOFFSETOUT1)"""""""SETENV;TO;1,,,)$(NTH,$(GETENV,TO),,$(GETENV,AOFFSETOUT1)SETENV;TO;1,^C^C$(GETENV,AOFFSETOUT4),^C^C;)^M
ID_AUTO_OFFSET_ERR [_Button("エラー処理", "AUTO_OFFSET_ERR.bmp", "ICON_24_BLANK")]^C^CSETENV;TO;0;UNDO;E;;B;^C
***HELPSTRINGS
ID_AUTO_OFFSET_IN [オフセット距離を入力後、閉じたポリラインを選択。※円弧を含むポリラインは不可]
ID_AUTO_OFFSET_OUT [オフセット距離を入力後、閉じたポリラインを選択。※円弧を含むポリラインは不可]
ID_AUTO_OFFSET_ERR [マクロが途中で止まった場合に使用。マクロ実行前に戻ります。]
//
// AutoCAD LT メニュー ファイルの終わり - C:\Program Files\AutoCAD LT 2000i\Support\AUTO_EDIT.mnc
//
※ちなみに内側にオフセットのコマンドを実行すると下記のようなマクロの流れが記録されました。
コマンド: SETENV 変数名を入力: TO 値 <2>: 3
コマンド:
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: E
UCS を位置合わせするオブジェクトを選択: L
コマンド: ERASE
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
コマンド: OFFSET
オフセット間隔を指定 または [通過点(T)] <0.1000>:
オフセットするオブジェクトを選択 または <終了>: 0,0
オフセットする側の点を指定: NON 0.1,0
オフセットするオブジェクトを選択 または <終了>:
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: CHPROP
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]: LA
新しい画層名を入力 <-P1>: -P2
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]:
コマンド: ERASE
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
コマンド: ERASE
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
コマンド: SETENV
変数名を入力: TO
値 <3>: 1
コマンド:
コマンド:
コマンド:
コマンド: SETENV
変数名を入力: TO
値 <1>: 0
コマンド:
コマンド: ID 点を指定:
コマンド: SETENV 変数名を入力: TO 値 <0>: 2
コマンド:
コマンド: CHPROP
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]:
コマンド: -LAYER
現在の画層: "0"
オプションを入力
[一覧(?)/現在層の新規作成(M)/現在層変更(S)/新規作成(N)/表示(ON)/非表示(OF)/色設
定(C)/線種設定(L)/線の太さ(LW)/印刷(P)/フリーズ(F)/フリーズ解除(T)/ロック(LO)/ロック解除(U)/
画層状態(A)]: M
新しい画層の名前を入力 (現在の画層になります) <0>: -P1 オプションを入力
[一覧(?)/現在層の新規作成(M)/現在層変更(S)/新規作成(N)/表示(ON)/非表示(OF)/色設
定(C)/線種設定(L)/線の太さ(LW)/印刷(P)/フリーズ(F)/フリーズ解除(T)/ロック(LO)/ロック解除(U)/
画層状態(A)]:
コマンド: COPY
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択: 基点 または 移動距離を指定 または [連続(M)]: NON @
目的点を指定 または <基点を移動距離として使用>: NON @
コマンド: UCS
現在の UCS 名: *ワールド*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: E
UCS を位置合わせするオブジェクトを選択: L
コマンド: XLINE 点を指定 または [水平(H)/垂直(V)/角度(A)/2 等分(B)/オフセット(O)]: V
通過点を指定: NON 0.29,0
通過点を指定:
コマンド: CLAYER
CLAYER の新しい値を入力 <"-P1">: 0
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: V
コマンド: TRIM
現在の設定: 投影モード=UCS, エッジモード=非延長
切り取りエッジを選択 ...
オブジェクトを選択: P 認識された数: 1
オブジェクトを選択:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]: F
フェンスの 1 点目: @4000000<225
線分の端点を指定 または [元に戻す(U)]: @8000000<0
線分の端点を指定 または [元に戻す(U)]:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]: F
フェンスの 1 点目: @4000000<315
線分の端点を指定 または [元に戻す(U)]: @8000000<90
線分の端点を指定 または [元に戻す(U)]:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]: F
フェンスの 1 点目: @4000000<45
線分の端点を指定 または [元に戻す(U)]: @8000000<180
線分の端点を指定 または [元に戻す(U)]:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]: F
フェンスの 1 点目: @4000000<135
線分の端点を指定 または [元に戻す(U)]: @8000000<270
線分の端点を指定 または [元に戻す(U)]:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]:
コマンド: SETENV 変数名を入力: TO 値 <2>: 3
コマンド:
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: E
UCS を位置合わせするオブジェクトを選択: L
コマンド: ERASE
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
コマンド: OFFSET
オフセット間隔を指定 または [通過点(T)] <0.1000>:
オフセットするオブジェクトを選択 または <終了>: 0,0
オフセットする側の点を指定: NON 0.1,0
オフセットするオブジェクトを選択 または <終了>:
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: CHPROP
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]: LA
新しい画層名を入力 <-P1>: -P2
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]:
コマンド: ERASE
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
コマンド: ERASE
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
コマンド: SETENV
変数名を入力: TO
値 <3>: 1
コマンド:
コマンド:
コマンド:
コマンド: SETENV
変数名を入力: TO
値 <1>: 0
コマンド:
コマンド: ID 点を指定:
コマンド: SETENV 変数名を入力: TO 値 <0>: 2
コマンド:
コマンド: CHPROP
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]:
コマンド: -LAYER
現在の画層: "0"
オプションを入力
[一覧(?)/現在層の新規作成(M)/現在層変更(S)/新規作成(N)/表示(ON)/非表示(OF)/色設
定(C)/線種設定(L)/線の太さ(LW)/印刷(P)/フリーズ(F)/フリーズ解除(T)/ロック(LO)/ロック解除(U)/
画層状態(A)]: M
新しい画層の名前を入力 (現在の画層になります) <0>: -P1 オプションを入力
[一覧(?)/現在層の新規作成(M)/現在層変更(S)/新規作成(N)/表示(ON)/非表示(OF)/色設
定(C)/線種設定(L)/線の太さ(LW)/印刷(P)/フリーズ(F)/フリーズ解除(T)/ロック(LO)/ロック解除(U)/
画層状態(A)]:
コマンド: COPY
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択: 基点 または 移動距離を指定 または [連続(M)]: NON @
目的点を指定 または <基点を移動距離として使用>: NON @
コマンド: UCS
現在の UCS 名: *ワールド*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: E
UCS を位置合わせするオブジェクトを選択: L
コマンド: XLINE 点を指定 または [水平(H)/垂直(V)/角度(A)/2 等分(B)/オフセット(O)]: V
通過点を指定: NON 0.29,0
通過点を指定:
コマンド: CLAYER
CLAYER の新しい値を入力 <"-P1">: 0
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: V
コマンド: TRIM
現在の設定: 投影モード=UCS, エッジモード=非延長
切り取りエッジを選択 ...
オブジェクトを選択: P 認識された数: 1
オブジェクトを選択:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]: F
フェンスの 1 点目: @4000000<225
線分の端点を指定 または [元に戻す(U)]: @8000000<0
線分の端点を指定 または [元に戻す(U)]:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]: F
フェンスの 1 点目: @4000000<315
線分の端点を指定 または [元に戻す(U)]: @8000000<90
線分の端点を指定 または [元に戻す(U)]:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]: F
フェンスの 1 点目: @4000000<45
線分の端点を指定 または [元に戻す(U)]: @8000000<180
線分の端点を指定 または [元に戻す(U)]:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]: F
フェンスの 1 点目: @4000000<135
線分の端点を指定 または [元に戻す(U)]: @8000000<270
線分の端点を指定 または [元に戻す(U)]:
トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[投影モード(P)/エッジ(E)/元に戻す(U)]:
コマンド: SETENV 変数名を入力: TO 値 <2>: 3
コマンド:
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: E
UCS を位置合わせするオブジェクトを選択: L
コマンド: ERASE
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
コマンド: OFFSET
オフセット間隔を指定 または [通過点(T)] <0.1000>:
オフセットするオブジェクトを選択 または <終了>: 0,0
オフセットする側の点を指定: NON 0.1,0
オフセットするオブジェクトを選択 または <終了>:
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: UCS
現在の UCS 名: *名前なし*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: CHPROP
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]: LA
新しい画層名を入力 <-P1>: -P2
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]:
コマンド: ERASE
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
コマンド: ERASE
オブジェクトを選択: L 認識された数: 1
オブジェクトを選択:
コマンド: SETENV
変数名を入力: TO
値 <3>: 1
コマンド:
コマンド:
コマンド:
コマンド: SETENV
変数名を入力: TO
値 <1>: 0
コマンド:
コマンド: ID 点を指定:
コマンド: SETENV 変数名を入力: TO 値 <0>: 2
コマンド:
コマンド: CHPROP
オブジェクトを選択: L 認識された数: 0
オブジェクトを選択:
コマンド:
コマンド:
コマンド: SETENV
変数名を入力: TO
値 <2>: 0
コマンド:
コマンド:
コマンド:
コマンド: SETENV 変数名を入力: TO 値 <0>: 0
コマンド:
コマンド: -LAYER
現在の画層: "0"
オプションを入力
[一覧(?)/現在層の新規作成(M)/現在層変更(S)/新規作成(N)/表示(ON)/非表示(OF)/色設
定(C)/線種設定(L)/線の太さ(LW)/印刷(P)/フリーズ(F)/フリーズ解除(T)/ロック(LO)/ロック解除(U)/
画層状態(A)]: OF
非表示に切り替え に対する画層の名前リストを入力 または <オブジェクトを選択>: -P1
オプションを入力
[一覧(?)/現在層の新規作成(M)/現在層変更(S)/新規作成(N)/表示(ON)/非表示(OF)/色設
定(C)/線種設定(L)/線の太さ(LW)/印刷(P)/フリーズ(F)/フリーズ解除(T)/ロック(LO)/ロック解除(U)/
画層状態(A)]: ON
表示に切り替え: 画層の名前リストを入力:-P2 オプションを入力
[一覧(?)/現在層の新規作成(M)/現在層変更(S)/新規作成(N)/表示(ON)/非表示(OF)/色設
定(C)/線種設定(L)/線の太さ(LW)/印刷(P)/フリーズ(F)/フリーズ解除(T)/ロック(LO)/ロック解除(U)/
画層状態(A)]:
コマンド: CHPROP
オブジェクトを選択: C
最初のコーナーを指定: -2240.21358225,-1290.03562123,0 もう一方のコーナーを指定:
3360.32037338,1935.05343185,0 認識された数: 3
オブジェクトを選択:
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]: LA
新しい画層名を入力 <-P2>: 0
変更するプロパティを入力
[色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)]:
コマンド: UCS
現在の UCS 名: *ワールド*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: W
コマンド: EXPERT
EXPERT の新しい値を入力 <0>: 2
コマンド: -WBLOCK 出力ファイルの名前を入力: _MACRO.DWG
既存のブロックの名前を入力 または
[= (ブロック=出力ファイル) または * (図面全体)] <新しい図面を定義>: 挿入基点を指定:
NON 0,0
オブジェクトを選択: P 認識された数: 3
オブジェクトを選択:
コマンド: UNDO 取り消す操作の数を入力 または
[自動(A)/コントロール(C)/開始(BE)/終了(E)/マーク(M)/後退(B)] <1>: E
コマンド: UNDO 取り消す操作の数を入力 または
[自動(A)/コントロール(C)/開始(BE)/終了(E)/マーク(M)/後退(B)] <1>: B グループ
現在層の内側に一括オフセット グループ グループ グループ グループ
マークが見つかりました
コマンド: UCS
現在の UCS 名: *ワールド*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: W
コマンド: -INSERT ブロック名を入力 または [一覧(?)]: *_MACRO.DWG
ブロックの挿入位置を指定: NON 0,0 XYZ 軸に対する尺度を指定: 回転角度を指定 <0>:
コマンド: UCS
現在の UCS 名: *ワールド*
オプションを入力
[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/一覧(?)/ワールド(W
)] <ワールド>: P
コマンド: INSNAME
INSNAME の新しい値を入力,または .=なし <"*_MACRO.DWG">: .
コマンド: INSNAME
INSNAME の新しい値を入力,または .=なし <"">:
- タクママ
- MAIL
- 2018/04/25 (Wed) 23:11:49