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

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

寸法値コピー
こんにちは、寸法値のコピーがマクロでできるか教えてください。
同じ図面内に実寸とノットスケールの図面があり、実寸を仕上げた後、ノットスケール図面に寸法を書き換える
作業がありますが、枚数があると、なかなか煩わしいですよね。
そういったマクロって組めるのかな、また欲をかいて貼り付けまでを出来ないかなと。

(1.コピーする寸法値を選択、コピー値を貼り付けたい寸法線を選択、で完了みたいな)

またそれが出来ない場合、皆さんどうされてますかね?
そんな図面ばかり描いていて、CADの良いところ活かせてないよなと思い、マクロとか頑張ろうかなと思いました。
根本的に描き方変えるべき課題だとは分かっていますが、それでやってきた先輩方がいるので、図面構成的なものを
変更するのが難しいですよね。

よろしくお願いします。
  • ワンオク
  • 2017/01/21 (Sat) 15:30:47
Re: 寸法値コピー
使用CADは2008LTです。
すみません。
  • ワンオク
  • 2017/01/21 (Sat) 16:04:12
Re: 寸法値コピー
こんにちは。

雑談っぽい回答で申し訳ないですが、土曜日なので許してね。

「マクロとか頑張ろうかな」と思うのでしたら、マクロで何が出来るのかを知っておきましょう。
Excelとかのマクロと同じように考えているとガッカリします。

AutoCADのマクロで出来る事は、「キーボード入力の自動化」です。

やりたい作図・編集作業をアイコンやショートカットを使わずに、コマンドラインへのキー入力だけで行う事ができれば、
それはマクロ化出来るという事です。(マウスによる位置指定や物の選択はマクロ化できます)

簡単な作業をマクロ化してみましょう。

線を描く
^C^CLINE;
物を移動する
^C^CMOVE;
線を描いてそれを移動する
^C^CLINE;\\;MOVE;L;;
線を描いてそれを移動し、そこで回転する
^C^CLINE;\\;MOVE;L;;\\ROTATE;P;;NON;@;

ちなみに
「^C」はESCキー、「;」はEnterキー「\」はマウスでクリックの意味です。
キーボードでそのまま入力してみると、マクロと同じ事ができます。

つまり、マクロを作るには、実際にキーボードとマウス操作だけでその作業が出来るのかを確認することが、
大前提となるのです。
(魔法の様な事や、新しいコマンドを作る様な事は出来ないのです。)

では、ご希望の「寸法値を取得して、別の寸法に上書きする。」ですが、

「寸法値を取得」はキーボード操作だけで出来るでしょうか?
普通にやるなら、
 オブジェクトプロパティ管理に表示されている物をコピーするか、
 マルチテキストエディタで寸法値を表示させてコピーするか、
 目視で覚えるか。
でしょう。

これは、一般向きで、めちゃくちゃ高度な技を使えば、ご希望の事が実現できるのかもしれません。
正式な回答は管理人のとってぃさんから頂いて下さい。



【追記】1/23
上の文章で、一部 不適切な内容がありましたので、
削除いたしました。

申し訳ありません。
  • Lon
  • 2017/01/21 (Sat) 17:05:32
Re: 寸法値コピー
Lonさん、レス有難うございます。
マクロについて分かりやすく説明して頂きありがとうございます。
  • ワンオク
  • 2017/01/22 (Sun) 00:16:36
Re: 寸法値コピー
寸法値コピーしたい寸法は
長さ寸法のみですか?

条件次第ですが
できなくはないです。
  • とってぃ
  • 2017/01/22 (Sun) 17:33:23
Re: 寸法値コピー
とりあえず作ってみました。

♪寸法値を他寸法値にコピー
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;so;$(getvar,sortents);offset;;^xコピーする寸法値の寸法線を選択^x\;select;non;@;non;@;;sortents;127;copy;p;;non;@;non;@;explode;l;erase;p;r;non;@;;lengthen;dy;;;l;;erase;l;;setenv;to;1,,,)$(nth,$(getenv,to),,;to;2;;diml1;$(+,$(*,$(getvar,dimasz),2);sortents;$(getenv,so),$(getvar,perimeter)),,)$(nth,$(getenv,to),,,;to;0;offset;;^x寸法値を変更する寸法選択【コピー元変更(Rc)】^x\$M="""$(if,$(getvar,cmdactive),;setenv;to;2;select;non;@;non;@;;setenv;to;3,setenv;to;0)""",)$(nth,$(getenv,to),,,,;to;2;copy;p;;non;@;non;@;erase;p;;cmddia;0;dim1;newtext;$(rtos,$(+,$(*,$(getvar,dimasz),2),$(getvar,perimeter)),2,3);l;;dimoverride;dimclrt;1;;l;;cmddia;1)^M


●使い方
1.コピーする寸法値の寸法線を選択
2.寸法値を変更する寸法選択 ⇒繰り返し2へ
  ※右クリックで1へ

▲注意
1.コピーする寸法値選択時は、寸法値下部の寸法線を選択して下さい。
  ※注意例は下記マクロの使い方参照
  130.寸法値修正(切上・切下・元寸法)
  http://ameblo.jp/totthi-macro/entry-11492846737.html

2.寸法の形状によっては動作しない可能性があります。

2013にて動作確認
  • とってぃ
  • 2017/01/23 (Mon) 08:55:29

返信フォーム






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