当掲示板は、AuroCADマクロ屋本舗 の掲示板です。
AutoCADのマクロ に関する質問の前に 【 マクロ使用前の注意事項 】 を、必ずお読みください。

尚、新規投稿フォーム下の【 新規投稿時のお願い 】
を確認の上、新規投稿をお願い致します。
十字中心線のみ作成のマクロ
掲示板で作成されていたこちらのマクロを2017LTでも使いたいのですが修正可能でしょうか?

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),-layer;n;CENTER;;offset;;\;select;non;@;non;@;;line;nea;@;cen;@;;lengthen;dy;;;l;;;erase;l;;setenv;to;1,;p0;$(*,$(getvar,dimscale),1.5);;l1;$(getvar,perimeter);;to;2;ucs;o;$(getvar,lastpoint),,)$(nth,$(getenv,to),,,;to;3;line;non;-$(+,$(getenv,p0),$(getenv,l1))<0;non;$(+,$(getenv,p0),$(getenv,l1))<0;;chprop;l;;LA;CENTER;LT;ByLayer;C;ByLayer;,copy;l;;non;@;non;@;rotate;l;;0<0;90;ucs;p)^M

長いですが以下、テキストウィンドウのコピペです。

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


コマンド: -layer

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

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

コマンド: offset

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

オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>:
通過点を指定 または [終了(E)/一括(M)/元に戻す(U)] <終了>:

コマンド: select

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

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

オブジェクトを選択:

コマンド: line

1 点目を指定: nea
どこに @

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

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

コマンド: lengthen

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

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

コマンド:
LENGTHEN

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


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

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

コマンド: erase

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

オブジェクトを選択:

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


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


コマンド:
SETENV
変数名を入力: p0
値 <1.5>: 1.5


コマンド:
SETENV
変数名を入力: l1
値 <1000.83579961>: 1000


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


コマンド: ucs

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

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

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


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


コマンド: line

1 点目を指定: non
-1001.5<0

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

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

コマンド: chprop

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

オブジェクトを選択:

変更するプロパティを入力 [色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)/透過性(TR)/マテリアル(M)/異尺度対応(A)]: LA

新しい画層名を入力 <0>: CENTER

変更するプロパティを入力 [色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)/透過性(TR)/マテリアル(M)/異尺度対応(A)]: LT

新しい線種名を入力 <ByLayer>: ByLayer

変更するプロパティを入力 [色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)/透過性(TR)/マテリアル(M)/異尺度対応(A)]: C

新しい色 [TrueColor(T)/カラー ブック(CO)] <BYLAYER>: ByLayer

変更するプロパティを入力 [色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)/透過性(TR)/マテリアル(M)/異尺度対応(A)]:

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


コマンド: copy

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

オブジェクトを選択:

基点を指定 または [移動距離(D)/複数(M)] <移動距離>: non
@

2 点目を指定 または [配列(A)] <1 点目を基点に使用>: non
@

コマンド: rotate

UCS の現在の正の角度: ANGDIR=反時計回り ANGBASE=0

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

オブジェクトを選択:

基点を指定: 0<0

回転角度を指定 または [コピー(C)/参照(R)] <0>: 90

コマンド: ucs

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

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


コマンド: -layer

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

新しい画層の名前リストを入力: CENTER

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

コマンド: offset

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

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

  • みかん
  • 2017/04/03 (Mon) 16:47:22
Re: 十字中心線のみ作成のマクロ
ちょっと修正してみました。
お試しください。


*^C^C$M=setenv;to;0;$(nth,$(getenv,to),-layer;n;CENTER;;offset;;\;select;non;@;non;@;;line;nea;@;cen;@;;lengthen;dy;;;l;;;erase;l;;setenv;p1;$M="""$(getvar,lastpoint)""";;to;1,;p0;$(*,$(getvar,dimscale),1.5);;l1;$(getvar,perimeter);;to;2;ucs;o;$(getenv,p1),,)$(nth,$(getenv,to),,,;to;3;line;non;-$(+,$(getenv,p0),$(getenv,l1))<0;non;$(+,$(getenv,p0),$(getenv,l1))<0;;chprop;l;;LA;CENTER;LT;ByLayer;C;ByLayer;,copy;l;;non;@;non;@;rotate;l;;0<0;90;ucs;p)^M
  • とってぃ
  • 2017/04/04 (Tue) 08:13:00
Re: 十字中心線のみ作成のマクロ
早速の対応ありがとうございます。
試してみましたがうまく作動しませんでした。。。

コマンド実行後の画像も参考までにupします。


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


コマンド: -layer

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

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

コマンド: offset

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

オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>:
通過点を指定 または [終了(E)/一括(M)/元に戻す(U)] <終了>:

コマンド: select

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

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

オブジェクトを選択:

コマンド: line

1 点目を指定: nea
どこに @

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

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

コマンド: lengthen

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

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

コマンド:
LENGTHEN

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


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

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

コマンド: erase

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

オブジェクトを選択:

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


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


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


コマンド:
SETENV
変数名を入力: p0
値 <1.5>: 1.5


コマンド:
SETENV
変数名を入力: l1
値 <1000>: 500


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


コマンド: ucs

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

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

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


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


コマンド: line

1 点目を指定: non
-501.5<0

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

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

コマンド: chprop

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

オブジェクトを選択:

変更するプロパティを入力 [色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)/透過性(TR)/マテリアル(M)/異尺度対応(A)]: LA

新しい画層名を入力 <0>: CENTER

変更するプロパティを入力 [色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)/透過性(TR)/マテリアル(M)/異尺度対応(A)]: LT

新しい線種名を入力 <ByLayer>: ByLayer

変更するプロパティを入力 [色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)/透過性(TR)/マテリアル(M)/異尺度対応(A)]: C

新しい色 [TrueColor(T)/カラー ブック(CO)] <BYLAYER>: ByLayer

変更するプロパティを入力 [色(C)/画層(LA)/線種(LT)/線種尺度(S)/線の太さ(LW)/厚さ(T)/透過性(TR)/マテリアル(M)/異尺度対応(A)]:

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


コマンド: copy

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

オブジェクトを選択:

基点を指定 または [移動距離(D)/複数(M)] <移動距離>: non
@

2 点目を指定 または [配列(A)] <1 点目を基点に使用>: non
@

コマンド: rotate

UCS の現在の正の角度: ANGDIR=反時計回り ANGBASE=0

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

オブジェクトを選択:

基点を指定: 0<0

回転角度を指定 または [コピー(C)/参照(R)] <0>: 90

コマンド: ucs

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

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


コマンド: -layer

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

新しい画層の名前リストを入力: CENTER

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

コマンド: offset

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

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

コマンド: select

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

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


コマンド: -layer

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

新しい画層の名前リストを入力: CENTER

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

コマンド: offset

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

オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>: *キャンセル*
  • みかん
  • 2017/04/04 (Tue) 09:16:58
Re: 十字中心線のみ作成のマクロ
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),-layer;n;CENTER;;offset;;\;select;non;@;non;@;;line;nea;@;cen;@;;lengthen;dy;;;l;;;erase;l;;setenv;p1;$M="""$(getvar,lastpoint)""";;to;1,;p0;$(*,$(getvar,dimscale),1.5);;l1;$(getvar,perimeter);;to;2;ucs;o;$(getenv,p1),,)$(nth,$(getenv,to),,,;to;3;line;non;-$(+,$(getenv,p0),$(getenv,l1))<0;non;$(+,$(getenv,p0),$(getenv,l1))<0;;chprop;l;;LA;CENTER;LT;ByLayer;C;ByLayer;,copy;l;;non;@;non;@;rotate;l;;non;0<0;90;ucs;p)^M

修正しました。
  • とってぃ
  • 2017/04/04 (Tue) 10:29:09
Re: 十字中心線のみ作成のマクロ
できました!
どうもありがとうございます!(^^)
  • みかん
  • 2017/04/04 (Tue) 11:45:50

返信フォーム






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