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

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

十字中心線作図
十字中心線作図

*^C^C_Id;NEA;\_Dist;NON;@;CEN;@;_Ucs;O;CEN;@;_Line;NON;$M=-$(*,$(getvar,distance),1.2),0;NON;$(*,$(getvar,distance),1.2),0;;_Copy;L;;NON;@;NON;@;_Rotate;P;;NON;0,0;90;_Change;P;L;;P;C;RED;LT;CENTER;;_Ucs;P


※円を選択すると中心線ができるマクロです。中心線は円の大きさに比例してハミダシ長さが変わってました。


LT2009までは動いていたマクロです。
LT2014では動きまでんでした。
いまは LT2016を使用しています。

上記マクロを復活させてていただきたいです。
LT2016用にできませんでしょうか?
よろしくお願いいたします。


(試しに似たようなマクロで過去レスの「十字中心線のみ作成」のマクロを試してみましたが LT2016では動きませんでした)
  • みかん
  • 2016/06/08 (Wed) 18:12:50
Re: 十字中心線作図
そのマクロ、当方のLT2014、LT2017では正常に動きます。
  • Lon
  • 2016/06/08 (Wed) 19:11:27
Re: 十字中心線作図
たぶん、ucsコマンドのとこでしょうか。

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),_Id;NEA;\_Dist;NON;@;CEN;@;id;cen;@;setenv;p0;$M="""$(getvar,lastpoint)""";;to;1,;to;2;_Ucs;O;CEN;$(getenv,p0);_Line;NON;-$(*,$(getvar,distance),1.2)",0;NON;$(*,$(getvar,distance),1.2),"0;,)$(nth,$(getenv,to),,,_Copy;L;;NON;@;NON;@;_Rotate;P;;NON;0,0;90;_Change;P;L;;P;C;RED;LT;CENTER;;_Ucs;P)^M
※6/10微修正

想像で作ってみたので動くか分かりませんがお試しください。
  • とってぃ
  • 2016/06/09 (Thu) 08:11:57
Re: 十字中心線作図
Lonさん 動く環境もあるということですかね?うちの会社のCADは全滅です・・・

とってぃさん 
忙しいところありがとうございます。残念ですが動きませんでした。
こちらの動作のコピペです。まだ LT2009も積んでるので、そのコピペも貼っときます。

************************************************

LT2016にて直径100の円にてマクロを使用

コマンド: _Id
点を指定: NEA
どこに X = 198.45 Y = 219.55 Z = 0.00

コマンド: _Dist

1 点目を指定: NON
@

2 点目を指定 または [複数点(M)]: CEN
どこの @

長さ = 50.00、 XY平面の角度 = 225.98、 XY平面からの角度 = 0.00
デルタ X = -34.74、 デルタ Y = -35.96、 デルタ Z = 0.00

コマンド: _Ucs

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

新しい原点を指定 <0,0,0>: CEN
どこの @

指定された Center 点が見つかりません。
点が無効です。

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

コマンド:
コマンド:
コマンド: _Id
点を指定: NEA

******************************************


LT2009にて直径100の円にてマクロを使用


コマンド: _Id
点を指定: NEA
どこに X = 99.68 Y = 234.47 Z = 0.00

コマンド: _Dist
1 点目を指定: NON
@
2 点目を指定: CEN
どこの @

長さ = 50.00、 XY平面の角度 = 212.45、 XY平面からの角度 = 0.00
デルタ X = -42.19、 デルタ Y = -26.83、 デルタ Z = 0.00

コマンド: _Ucs

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

新しい原点を指定 <0,0,0>: CEN
どこの @

コマンド: _Line
1 点目を指定: NON
-60,0

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

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

コマンド: _Copy

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

オブジェクトを選択:

基点を指定 または [移動距離(D)/連続(M)] <移動距離>: NON
@
目的点を指定 または <基点を移動距離として使用>: NON
@

コマンド: _Rotate

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

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

オブジェクトを選択:

基点を指定: NON
0,0

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

コマンド: _Change

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

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

オブジェクトを選択:
変更位置を指定 または [プロパティ(P)]: P

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

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

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

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

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

コマンド: _Ucs

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

コマンド:
コマンド: _erase
オブジェクトを選択: もう一方のコーナーを指定: 認識された数: 2

オブジェクトを選択:

コマンド: *キャンセル*

コマンド: *キャンセル*

コマンド: *キャンセル*

コマンド:
コマンド:
コマンド: _Id
点を指定: NEA
どこに X = 106.11 Y = 219.27 Z = 0.00

コマンド: _Dist
1 点目を指定: NON
@
2 点目を指定: CEN
どこの @

長さ = 50.00、 XY平面の角度 = 193.45、 XY平面からの角度 = 0.00
デルタ X = -48.63、 デルタ Y = -11.63、 デルタ Z = 0.00

コマンド: _Ucs

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

新しい原点を指定 <0,0,0>: CEN
どこの @

コマンド: _Line
1 点目を指定: NON
-60,0

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

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

コマンド: _Copy

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

オブジェクトを選択:

基点を指定 または [移動距離(D)/連続(M)] <移動距離>: NON
@
目的点を指定 または <基点を移動距離として使用>: NON
@

コマンド: _Rotate

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

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

オブジェクトを選択:

基点を指定: NON
0,0

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

コマンド: _Change

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

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

オブジェクトを選択:
変更位置を指定 または [プロパティ(P)]: P

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

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

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

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

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

コマンド: _Ucs

現在の UCS 名: *名前なし*
UCS 原点を指定 または [面(F)/名前の付いた UCS(NA)/オブジェクト(OB)/直前(P)/ビュー(V)/ワールド(W)/X/Y/Z/Z
軸(ZA)] <ワールド>: P
コマンド:
コマンド:
コマンド: _Id
点を指定: NEA
  • みかん
  • 2016/06/09 (Thu) 09:44:37
Re: 十字中心線作図
ん?
マクロの流れの内容が
「2016/06/09 (Thu) 08:11:57」 に掲載した内容と違います。

もう一度
上記マクロをコピーし、試してみて下さい。

2009では動いているんですよね???
  • とってぃ
  • 2016/06/09 (Thu) 10:32:10
Re: 十字中心線作図
前回の動作は最初に書き込んだ使えなくなったマクロの動作です。
紛らわしくてすいません。

今回のは
とってぃさんのマクロ動作です。よろしくお願いいたします。
パターン1で止まって、ESCキーでキャンセルしてまた試すとパターン2の動作になります。

とってぃさんのマクロではLT2009では試していません。


パターン1
************
コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <2>: 0


コマンド: SETENV
変数名を入力:


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


コマンド: _Id
点を指定: NEA
どこに X = 93.50 Y = 162.72 Z = 0.00

コマンド: _Dist

1 点目を指定: NON
@

2 点目を指定 または [複数点(M)]: CEN
どこの @

長さ = 50.00、 XY平面の角度 = 166.34、 XY平面からの角度 = 0.00
デルタ X = -48.59、 デルタ Y = 11.81、 デルタ Z = 0.00

コマンド: id
点を指定: cen
どこの @
X = 44.91 Y = 174.53 Z = 0.00

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


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

コマンド: SETENV
変数名を入力:

コマンド:
SETENV


パターン2
***************
コマンド:
コマンド:
コマンド: _ucs
現在の UCS 名: *ワールド*
UCS 原点を指定 または [面(F)/名前の付いた UCS(NA)/オブジェクト(OB)/直前(P)/ビュー(V)/ワールド(W)/X/Y/Z/Z 軸(ZA)] <ワールド>: _w
コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <1>: 0


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


コマンド: _Ucs

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

新しい原点を指定 <0,0,0>: CEN
どこの 44.91050965,174.52606438,0

指定された Center 点が見つかりません。
点が無効です。

新しい原点を指定 <0,0,0>:
コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <2>: 0


コマンド: SETENV
変数名を入力:


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


コマンド: _Id
点を指定: NEA
  • みかん
  • 2016/06/09 (Thu) 20:02:17
Re: 十字中心線作図
貼り付けたマクロの最後の「^M」の後ろに
余計な空白や改行が無いか確認ください。
あれば削除して再度お試しください。

尚、2009と2016とでは
コマンド仕様が違う為、同じマクロでは動きません。

2009用でも、最初のマクロは動いてないのですか?
また、2009用も必要なのでしょうか?
  • とってぃ
  • 2016/06/10 (Fri) 08:07:29
Re: 十字中心線作図
空白は削除して設定しています。
(2016/06/09 (Thu) 20:02の動作になります)

2009用は不要です。

よろしくお願いします。
  • みかん
  • 2016/06/10 (Fri) 09:16:29
Re: 十字中心線作図
失礼しました。
一部構文にミスがありました。

「2016/06/09 (Thu) 08:11:57」 のマクロを修正しましたので
再度、コピー&貼り付けにてお試しください。
  • とってぃ
  • 2016/06/10 (Fri) 09:40:50
Re: 十字中心線作図
まず
>空白は削除して設定しています。
余分な改行もありませんか?
マクロの終わりが『Ucs;P)^M』で終わってますか?

それとは別に、
>指定された Center 点が見つかりません。

ここですよね。
元のマクロも改変後のマクロもこのエラー。
うまく円をピックできていない。

これが出来れば、元々のマクロでも2016で動くのではないでしょうか。
つまり、マクロではなく図面設定・CAD設定の問題?
(2016持ってないので、想像ですけど。)
  • Lon
  • 2016/06/10 (Fri) 10:19:44
Re: 十字中心線作図
Lonさん

2013以降、ucsコマンドの仕様変更があったので
最初のマクロでは動かないです。

直前の点を格納して指定しないとダメですね。

で、直したつもりだったんですが
$(getenv;to)って書いてました(汗

$(getenv,to)に直したので、今度は動くかなと(^-^;
  • とってぃ
  • 2016/06/10 (Fri) 10:49:31
Re: 十字中心線作図
とってぃさん


>「2016/06/09 (Thu) 08:11:57」 のマクロを修正しましたので
>再度、コピー&貼り付けにてお試しください。

書き込みが編集できるとは知りませんでした。すいません。
試したところ、下記のようになりました。


Lonさん
>つまり、マクロではなく図面設定・CAD設定の問題?
図面設定は2009から同じものを使ってます。(意味が違うのかな?)
cadの設定だとわからないですよね・・・


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


コマンド: _Id
点を指定: NEA
どこに X = 189.59 Y = 212.72 Z = 0.00

コマンド: _Dist

1 点目を指定: NON
@

2 点目を指定 または [複数点(M)]: CEN
どこの @

長さ = 50.00、 XY平面の角度 = 189.62、 XY平面からの角度 = 0.00
デルタ X = -49.30、 デルタ Y = -8.36、 デルタ Z = 0.00

コマンド: id
点を指定: cen
どこの @
X = 140.30 Y = 204.36 Z = 0.00

コマンド: setenv
変数名を入力: p0
値 <80.44867416,190.44417816,0>: 140.29743374,204.35842064,0


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


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


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


コマンド: _Ucs

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

新しい原点を指定 <0,0,0>: CEN
どこの 140.29743374,204.35842064,0

指定された Center 点が見つかりません。
点が無効です。
  • みかん
  • 2016/06/10 (Fri) 13:17:24
Re: 十字中心線作図
再度作り直してみました。

お試しください。

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),_Id;NEA;\_Dist;NON;@;CEN;@;id;cen;@;setenv;p0;$M="""$(getvar,lastpoint)""";;to;1,;to;2;_Ucs;O;non;$(getenv,p0);_Line;NON;-$(*,$(getvar,distance),1.2)",0;NON;$(*,$(getvar,distance),1.2),"0;,)$(nth,$(getenv,to),,,_Copy;L;;NON;@;NON;@;_Rotate;P;;NON;0<0;90;_Change;P;L;;P;C;RED;LT;CENTER;;_Ucs;P)^M
  • とってぃ
  • 2016/06/10 (Fri) 14:01:43
Re: 十字中心線作図
復活しました。
ありがとうございます。

とてもうれしいです。
  • みかん
  • 2016/06/10 (Fri) 17:43:00

返信フォーム






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