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

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

距離記入オフセットの応用
こんにちは。
AUTOCAD2015R使用中です。

*^C^C$m=setenv;to;0;$(nth,$(getenv,to),offset;;\;u;;setenv;p1;$M="""$(getvar,lastpoint)""";;to;0;select;@;non;@;;setenv;to;1,,)$(nth,$(getenv,to),,move;p;;non;オフセットする側の点を指定:^X\non;@;$m=id;non;$(getvar,lastpoint);setenv;p2;"""$(getvar,lastpoint)""";;to;2,)$(nth,$(getenv,to),,,offsetdist;\$M="""$(if,$(getvar,cmdactive),\,)"""offset;;$(getenv,p1);$(getenv,p2);;setenv;to;2)^M

こちらのオフセットマクロを
最初の基点からのオフセットではなく、
オフセットしたところを新しい基点として
距離を指定することは可能でしょうか。

例えば、100オフセット→100オフセットしたところを基準に500オフセット...
のような感じです。

どうぞ宜しくお願い致します
  • yosi
  • 2018/06/21 (Thu) 17:19:21
Re: 距離記入オフセットの応用
単純に考えると距離記入だけではできないのではないでしょうか?

例えば、100オフセット→100オフセットしたところを基準に500オフセット
で考えると、もしオフセットする側の点を指定を”50付近”で選択した場合
オフセットしたところを新しい基点にすると最初の基準から100の位置に基準が移動するので
500オフセットは最初の基準から-400の位置になってしまうと思います

基準に対してオフセットする側の点を指定する必要はあるのでは?

できる方法があれば自分も知りたいです
  • chibi-tom
  • 2018/06/22 (Fri) 08:40:33
Re: 距離記入オフセットの応用
chibi-tom様

ランダムな数字でオフセットすると
毎回違う数字を入力しなければならなくて
こちらのマクロを使わせていただいていたのですが、
基点が固定なので
なにか方法はないのかな、と思いまして。
3mのオブジェクトに対して
500→1000→750→500→250と構築線を引いたりするもので...
基点が固定よりは
オフセットする度に、
オフセットしたところが基点にならないかな、と。
なんとも説明が下手で申し訳ないです。
  • yosi
  • 2018/06/22 (Fri) 11:44:47
Re: 距離記入オフセットの応用
とってぃ様のマクロ集

15.連続コピー(オプション付)を利用すれば

直行や極指定にすればできるのではないでしょうか?
  • chibi-tom
  • 2018/06/22 (Fri) 12:45:39
Re: 距離記入オフセットの応用
chibi-tom様

ありがとうございます。
できました。
  • yosi
  • 2018/06/22 (Fri) 13:10:35
Re: 距離記入オフセットの応用
オフセットマクロの仕様のまま、オフセット値を足し算にしてみました
lt2017で動作確認です

*^C^C$m=setenv;to;0;$(nth,$(getenv,to),offset;;\;u;;setenv;p1;$M="""$(getvar,lastpoint)""";;to;0;select;@;non;@;;setenv;to;1,,,,)$(nth,$(getenv,to),,move;p;;non;オフセットする側の点を指定:^X\non;@;$m=id;non;$(getvar,lastpoint);setenv;p2;"""$(getvar,lastpoint)""";;to;2,,,)$(nth,$(getenv,to),,,offsetdist;\$M="""$(if,$(getvar,cmdactive),\,)"""setenv;ofd0;$M="""$(getvar,offsetdist)""";setenv;to;3,,)$(nth,$(getenv,to),,,,offset;$(getenv,ofd0);$(getenv,p1);$(getenv,p2);;setenv;to;4,)$(nth,$(getenv,to),,,,,offsetdist;\$M="""$(if,$(getvar,cmdactive),\,)"""setenv;ofd0;$M="""$(+,$(getenv,ofd0),$(getvar,offsetdist))""";setenv;to;3)^M
  • chibi-tom
  • 2018/06/28 (Thu) 11:43:51
Re: 距離記入オフセットの応用
chibi-tom様

考えてくださり
ありがとうございます。

早速使わせていただきましたところ、

モデルを再作図中。


AutoCAD メニュー ユーティリティ がロードされました。コマンド行でsetenvとgetenvを使用できます。<www.cadic.co.jp>*キャンセル*

コマンド:
コマンド:

コマンド:
コマンド:
コマンド:
コマンド: _xline
点を指定 または [水平(H)/垂直(V)/角度(A)/2 等分(B)/オフセット(O)]:
通過点を指定: <直交モード オン>
通過点を指定:
通過点を指定: *キャンセル*

コマンド:
コマンド: _.erase 認識された数: 1

コマンド:
.ERASE

オブジェクトを選択: **キャンセル*
*
コマンド:
コマンド: setenv
変数名を入力: to
値 <1>: 0


コマンド:
コマンド: move

オブジェクトを選択: p
直前の選択セットがありません。

オブジェクトを選択:

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

コマンド:
MOVE

オブジェクトを選択: **キャンセル*
*
コマンド:
コマンド: setenv
変数名を入力: to
値 <0>: 0

コマンド:
コマンド: offset

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

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

コマンド: u
SETENV
コマンド:
U

グループの開始点が見つかりました。
さらに戻るには UNDO[元に戻す]/終了(E) オプションを使用してください。

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

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

コマンド:
コマンド: select

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

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

オブジェクトを選択:

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


このような感じで
オフセットするオブジェクトを選択後、
進めませんでした;;
  • yosi
  • 2018/06/28 (Thu) 17:22:13
Re: 距離記入オフセットの応用
^Mの後にスペースや改行などはないでしょうか?
もう一度確認してみてください。
  • chibi-tom
  • 2018/06/28 (Thu) 17:43:51
Re: 距離記入オフセットの応用
chibi-tom様

ありがとうございます。
改めてコピー貼付してみたところ、
動作しました!
前後のどこかをコピーし忘れていたようです。

ありがとうごございました。
  • yosi
  • 2018/06/29 (Fri) 09:23:22

返信フォーム






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