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

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

寸法整列の要素版
おせわになります。
寸法整列の要素版は有りますか?
側面図の位置合わせに使えると思います。
現在は下書き線で確認しています。
残念ながら自分では出来ないので宜しくお願いします。



  • koyu
  • 2016/10/25 (Tue) 19:28:28
Re: 寸法整列の要素版
寸法整列の要素版とはどの様なものでしょうか?

必要事項及び作業手順を詳しく記述願います。
  • とってぃ
  • 2016/10/26 (Wed) 08:07:08
Re: 寸法整列の要素版
申し訳ございません。
寸法整列と同様な要素整列です。
正面図の穴位置を移動した時の側面図の中心線合わせ(要素整列)などに使用します。

現状では下書き線を描いて側面図の中心線を移動させています。

皆さんはどの様に整列させているのでしょう?

  • koyu
  • 2016/10/26 (Wed) 12:00:42
Re: 寸法整列の要素版
要素 とはオブジェクトのことですか?

また、どの様な作業手順をマクロ化させたいのでしょうか。
内容によっては、マクロよりも早いやり方等があるかも知れませんので
もう少し詳しい動作内容を記述願います。

>現状では下書き線を描いて側面図の中心線を移動させています。
複数の中心線を、指定した場所に整列させているのですか?
移動させるオブジェクトの基点は端点?中心?

  • とってぃ
  • 2016/10/26 (Wed) 12:51:09
Re: 寸法整列の要素版
遅くなってすみません。

図のように寸法整列同様にオブジェクト整列は可能でしょうか?
  • koyu
  • 2016/10/29 (Sat) 10:42:16
Re: 寸法整列の要素版
遅くなってすみません。
図が載らなかったので再送です。

図のように寸法整列同様にオブジェクト整列は可能でしょうか?
  • koyu
  • 2016/10/30 (Sun) 12:01:19
Re: 寸法整列の要素版
とりあえず作ってみました。
お試しください。

♪オブジェクト位置合せ
*^C^C$m=setenv;to;0;$(nth,$(getenv,to),xline;h;\$M="""$(if,$(getvar,cmdactive),;erase;l;;setenv;sw;0;;to;2,setenv;to;1)""",xline;v;\$M="""$(if,$(getvar,cmdactive),;erase;l;;setenv;sw;1;;to;2,setenv;to;0)""",,,,)$(nth,$(getenv,to),,,;p0;$(if,$(getenv,sw),$(index,0,$(getvar,lastpoint)),$(index,1,$(getvar,lastpoint)));;to;3,,,)$(nth,$(getenv,to),,,,;to;0;offset;;^x整列させるオブジェクトを選択^x\;setenv;to;3;select;non;@;non;@;;setenv;p1;$M="""$(getvar,lastpoint)""";;to;$(if,$(getenv,sw),4,5),,)$(nth,$(getenv,to),,,,,;to;1;move;p;;non;@;non;$(getenv,p0)","$(index,1,$(getenv,p1)),;to;0;move;p;;non;@;non;$(index,0,$(getenv,p1))","$(getenv,p0))^M

●使い方
1.基準となるオブジェクトの水平/垂直を選択
  ※右クリックで、水平/垂直を切り換え
2.整列させるオブジェクトを選択 ⇒繰り返し1へ

LT2013動作確認
  • とってぃ
  • 2016/10/31 (Mon) 08:59:36
Re: 寸法整列の要素版
早々の対応ありがとうございます。
当方2004LTを使用しています。
確認しましたが、ズレがありました。(規則性はありませんでした)

寸法整列と同じ動作と思い簡単に投稿しましたが違うようですね。

寸法整列のように斜めのオブジェクトにも対応可能は無理でしょうか?
  • koyu
  • 2016/10/31 (Mon) 11:31:39
Re: 寸法整列の要素版
ズレに関しては直せますが、その前に・・・

水平/垂直だけであれば、若干マクロで操作性が上がるとは思い作りましたが
角度の付いたオブジェクトに対しては
操作手順的に、2点指定で角度を指定しなければなりません。

その際、角度の基準となる2点目の指定方法は
垂線?四半円点?近接点?それとも任意の点でしょうか?


図面上必ず角度を設定する基準があるかどうかにもよりますし
内容に汎用性があり過ぎて、マクロ化するには疑問です。

マクロは、コマンドを羅列した簡易プログラムですので
ある程度、やりたい内容・操作手順等が決まっていないと
全ての動作に対応させる事は無理です。


今回のケースでは
構築線で基準線を描き、移動コマンドで移動させる方が
正確かつ早いと思いますがいかがでしょうか。
  • とってぃ
  • 2016/10/31 (Mon) 11:54:46
Re: 寸法整列の要素版
対応ありがとうございます。

標準メニューの.X .Yに埋め込めそうな気がします。
横は横、縦は縦で.X .Yに埋め込むのはどうでしょう?
そうすれば構築線は不要になりませんか?

当方はautocadに不慣れなので作りやすい物で結構です。
宜しくお願いします。
  • koyu
  • 2016/10/31 (Mon) 14:31:59
Re: 寸法整列の要素版
考え方を変えてみました。
ただし注意点がありますので、下記参照願います。

♪線分位置合せ
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),offset;;\;select;non;@;non;@;;copy;p;;non;@;non;@;erase;p;;ucs;ob;l;id;\setenv;to;1,move;l;;non;0<0;non;0","$(index,1,$(getvar,lastpoint));ucs;p)^M

●使い方
1.移動させるオブジェクトを選択
2.移動の基準となる点を指定 ⇒繰り返し1へ

▲注意
1.線分オブジェクト以外では、指定の動作にならない場合があります。
2.途中キャンセルを行うと、UCS座標が移動したままとなります。
  ※「ucs エンター p エンター」で元に戻してください。
  • とってぃ
  • 2016/10/31 (Mon) 15:24:02
Re: 寸法整列の要素版
対応ありがとうございます。

斜めオブジェクトも整列しました。
ここまで来たらもう一歩進めてお願いします。

ブロックも移動するが、縦、横どちらに移動するか解りませんでした。
X,Y分ければ確実になる気がします。
これ以上は望みませんので、是非ともX,Y分けた物をお願いします。
宜しくお願いします。
  • koyu
  • 2016/10/31 (Mon) 17:45:11
Re: 寸法整列の要素版
XYに関しては、先に出した
♪オブジェクト位置合せ
マクロのズレを直します。
明日までお待ちください。
  • とってぃ
  • 2016/10/31 (Mon) 19:02:03
Re: 寸法整列の要素版
横から失礼します、気まぐれで作って見ました、よかったら見てください。

*^C^C$M=setenv;to;0;$(if,$(=,$(getenv,to),0),line;基準線を作図^X\\;ucs;ob;l;setenv;to;1)$(if,$(=,$(getenv,to),1),;to;3;id;オブジェクトを選択または空選択で終了^X\select;non;@;non;@;;setenv;to;2)$(if,$(=,$(getenv,to),2),;to;1;move;p;;non;@;$M=non;@"""$(*,$(index,1,$(getvar,lastpoint)),$(if,$(>,0,$(index,1,$(getvar,lastpoint))),-)1)<$(if,$(>,0,$(index,1,$(getvar,lastpoint))),90,270)""")$(if,$(=,$(getenv,to),3),^Cerase;l;;ucs;p)^M
  • zukki-
  • 2016/10/31 (Mon) 21:22:33
Re: 寸法整列の要素版
zukki-さんも作られていますが
一応自分の修正したマクロもあげておきます。

♪オブジェクト位置合せ 改
*^C^C$m=setenv;to;0;$(nth,$(getenv,to),xline;h;\$M="""$(if,$(getvar,cmdactive),;erase;l;;setenv;sw;0;;to;2,setenv;to;1)""",xline;v;\$M="""$(if,$(getvar,cmdactive),;erase;l;;setenv;sw;1;;to;2,setenv;to;0)""",,,,)$(nth,$(getenv,to),,,;p0;$(if,$(getenv,sw),$(index,0,$(getvar,lastpoint)),$(index,1,$(getvar,lastpoint)));;to;3,,,)$(nth,$(getenv,to),,,,;to;0;offset;;^x整列させるオブジェクトを選択^x\;setenv;to;3;select;nea;@;nea;@;;setenv;p1;$M="""$(getvar,lastpoint)""";;to;$(if,$(getenv,sw),4,5),,)$(nth,$(getenv,to),,,,,;to;1;move;p;;non;@;non;$(getenv,p0)","$(index,1,$(getenv,p1)),;to;0;move;p;;non;@;non;$(index,0,$(getenv,p1))","$(getenv,p0))^M

●使い方
1.基準となるオブジェクトの水平/垂直を選択
  ※右クリックで、水平/垂直を切り換え
2.整列させるオブジェクトを選択 ⇒繰り返し1へ

LT2013動作確認


お試しください。
  • とってぃ
  • 2016/11/01 (Tue) 08:06:10
Re: 寸法整列の要素版
対応いただきありがとうございます。

動作を確認しました。
長々と対応いただきありがとうございます。
マクロを確認し習得へ努力していきます。

zukki-さん、とってぃさん ありがとうございました。
  • koyu
  • 2016/11/01 (Tue) 09:21:41

返信フォーム






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