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

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

円の寸法について
いつも参考にさせていただいております。

円弧寸法のマクロを利用させていただいておりますが、
全周を表記する寸法マクロを作成していただくことは出来ますでしょうか?

宜しくお願いいたします。
  • アルファ
  • 2017/08/24 (Thu) 16:42:01
Re: 円の寸法について
とりあえず作ってみました。
お試しください。

♪円周記入
*^C^Coffset;;\;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;area;o;l;$M=dimangular;non;$(getvar,lastpoint);non;$(getvar,lastpoint);t;$(rtos,$(getvar,perimeter),2,2);\
  • とってぃ
  • 2017/08/25 (Fri) 08:30:14
Re: 円の寸法について
ありがとうございます!

使ってみたのですが、寸法値が角度表記になってしまいます。
円周値を表記するように出来ますでしょうか?

宜しくお願いします。
  • アルファ
  • 2017/08/25 (Fri) 09:21:39
Re: 円の寸法について
おかしいですねー
こちらでは、円周表記されます。

新規投降時のお願いにも記載していますが
お使いのCADバージョンは何でしょうか。


また、マクロ実行後の流れを貼り付けて下さい。
  • とってぃ
  • 2017/08/25 (Fri) 09:28:49
Re: 円の寸法について
すいません。
こちらはAutoCAD LT 2010です。

マクロ実行後の流れは以下のとおりです。

単一のオブジェクトを指定。

円弧、円、線分を選択 または <頂点を指定(S)>:
頂点からの角度の 2 点目:
円弧寸法線の位置を指定 または [マルチ テキスト(M)/寸法値(T)/寸法値角度(A)/四半円点(Q)]:
寸法値: 359d44'57"
コマンド:
コマンド:
コマンド: offset

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


宜しくお願いします。
  • アルファ
  • 2017/08/25 (Fri) 09:42:03
Re: 円の寸法について
寸法値をオプションコマンド(T)で書き換えてtるはずなんですが
書き変わってないですね・・・

なんでだろ?


とりあえず、最初の質問の添付画像の様になる様に修正してみました。

こちらをお試しください。

♪円周記入 改
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),offset;;\;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;area;o;l;setenv;a1;$M="""$(getvar,perimeter)""";;to;1;line;nea;@;cen;@;;lengthen;l;,,)$(nth,$(getenv,to),,;to;2;erase;l;;ucs;ob;l;dimangular;nea;0",-$(getvar,perimeter);nea;0,-$(getvar,perimeter);t;$(rtos,$(getvar,perimeter),2,2);0,"-$(getvar,perimeter),)$(nth,$(getenv,to),,,aidimtextmove;0;l;;0","$(+,$(getvar,perimeter),$(*,$(getvar,dimscale),10));ucs;p)^M

2013動作確認
  • とってぃ
  • 2017/08/25 (Fri) 09:56:05
Re: 円の寸法について
何度も申し訳ありません。

まず謝らなければならないことが、
先程のマクロ実行後の流れ・・・添付が少なかったようです。すいませんでした。

そして、改めて『円周記入 改』を試してみたのですが、やはり角度が出てきてしまいます。
バージョンの違いでどうしようもないのでしょうか?

今回のマクロ実行後の流れは下記のとおりです。


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


コマンド: offset

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

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

コマンド: select

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

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

オブジェクトを選択:

コマンド: copy

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

オブジェクトを選択:

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

コマンド: erase

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

オブジェクトを選択:

コマンド: area

コーナーの 1 点目を指定 または [オブジェクト(O)/面積を加算(A)/面積を減算(S)] <オブジェクト(O)>: o

オブジェクトを選択: l


面積 = 7741405.8542, 円周 = 9863.1321
コマンド: setenv
変数名を入力: a1
値 <9863.13211105>: 9863.13211105


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


コマンド: line
1 点目を指定: nea
どこに @

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

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

コマンド: lengthen

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


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

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


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


コマンド: erase

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

オブジェクトを選択:

コマンド: ucs

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

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

コマンド: dimangular

円弧、円、線分を選択 または <頂点を指定(S)>: nea
どこに 0,-1569.76622984

円弧、円、線分を選択 または <頂点を指定(S)>: nea
どこに 0,-1569.76622984

円弧、円、線分を選択 または <頂点を指定(S)>: t


*選択無効*
単一のオブジェクトを指定。

円弧、円、線分を選択 または <頂点を指定(S)>: s


*選択無効*
単一のオブジェクトを指定。

円弧、円、線分を選択 または <頂点を指定(S)>:
頂点からの角度の 2 点目:
円弧寸法線の位置を指定 または [マルチ テキスト(M)/寸法値(T)/寸法値角度(A)/四半円点(Q)]:
寸法値: 346d49'33"
コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <2>: 0


コマンド: aidimtextmove

オプションを入力 [0/1/2] <2>: 0

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

オブジェクトを選択:
0,2169.76622984

コマンド: ucs

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

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


コマンド: offset

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

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

以上です。

宜しくお願いいたします。
  • アルファ
  • 2017/08/25 (Fri) 10:40:11
Re: 円の寸法について
角度寸法の部分が、正しく選択されていないみたいですね。

ちょっと修正してみました。
お試しください。

♪円周記入 改2 ※修正
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),offset;;\;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;area;o;l;setenv;a1;$M="""$(getvar,perimeter)""";;to;1;line;nea;@;cen;@;;lengthen;l;,,)$(nth,$(getenv,to),,;to;2;erase;l;;ucs;ob;l;dimangular;;non;0<0;nea;0",-$(getvar,perimeter);nea;0,-$(getvar,perimeter);t;$(rtos,$(getenv,a1),2,2);0,"-$(getvar,perimeter),)$(nth,$(getenv,to),,,aidimtextmove;0;l;;0","$(+,$(getvar,perimeter),$(*,$(getvar,dimscale),10));ucs;p)^M

2004,2013動作確認


※バージョン2010はクセが強いです(汗
  • とってぃ
  • 2017/08/25 (Fri) 10:53:38
Re: 円の寸法について
出来ました!!!

2010はクセが強いんですか!?
早く会社でバージョンアップしてほしいです。。。

お手数おかけしました。
ありがとうございます!!
  • アルファ
  • 2017/08/25 (Fri) 10:59:33
Re: 円の寸法について
あれ!?
すいません!!!!
円周ではなく半径が表記されてしまいます。


マクロ実行後の流れです。

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


コマンド: offset

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

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

コマンド: select

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

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

オブジェクトを選択:

コマンド: copy

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

オブジェクトを選択:

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

コマンド: erase

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

オブジェクトを選択:

コマンド: area

コーナーの 1 点目を指定 または [オブジェクト(O)/面積を加算(A)/面積を減算(S)] <オブジェクト(O)>: o

オブジェクトを選択: l


面積 = 598953.9940, 円周 = 2743.4792
コマンド: setenv
変数名を入力: a1
値 <2743.47915419>: 2743.47915419


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


コマンド: line
1 点目を指定: nea
どこに @

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

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

コマンド: lengthen

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


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

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


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


コマンド: erase

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

オブジェクトを選択:

コマンド: ucs

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

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

コマンド: dimangular

円弧、円、線分を選択 または <頂点を指定(S)>:

角度の頂点を指定: non
0<0

頂点からの角度の 1 点目: nea
どこに 0,-436.63826866

頂点からの角度の 2 点目: nea
どこに 0,-436.63826866

円弧寸法線の位置を指定 または [マルチ テキスト(M)/寸法値(T)/寸法値角度(A)/四半円点(Q)]: t

寸法値を入力 <0d0'0">: 437

円弧寸法線の位置を指定 または [マルチ テキスト(M)/寸法値(T)/寸法値角度(A)/四半円点(Q)]: 0,-436.63826866

寸法値: 0d0'0"
コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <2>: 0


コマンド: aidimtextmove

オプションを入力 [0/1/2] <2>: 0

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

オブジェクトを選択:
0,1036.63826866

コマンド: ucs

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

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


コマンド: offset

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


宜しくお願いします。
  • アルファ
  • 2017/08/25 (Fri) 11:10:29
Re: 円の寸法について
失礼しました。

改2を修正しましたので
再度コピーしお試しください。
  • とってぃ
  • 2017/08/25 (Fri) 11:29:14
Re: 円の寸法について
全周の寸法!表記されました!!!!!

何度もありがとうございました!!!!

今後もよろしくお願いいたします。
  • アルファ
  • 2017/08/25 (Fri) 11:42:28

返信フォーム






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