


 
 
 
 
 
 
 |
前節では、移動量の数値入力による要素の複写・移動の説明をしましたので、今回は、マウス座標指定による要素の複写・移動の説明をします。
流れとしては、
@要素を選択
A始点(原点/基準点)の指定
B終点の指定
C移動量を算出
D複写・移動処理
E Aへ戻る 又は Bへ戻る
というのが一般的でしょう。
移動量の算出は、用紙寸法を基準として行います。実寸法の場合、要素のレイヤの尺度によって座標値が変動しますので、混乱してしまうからです。数値入力ではありませんから[相対座標系/グリッド設定]で指定する設定内容を考慮する必要はありません。
始点を(x1,y1)、終点を(x2,y2)とすると、その移動量は、
X方向移動量 dx = x2 − x1
Y方向移動量 dy = y2 − y1
となります。
各要素のX座標・Y座標に、この移動量を加算すれば、目的の場所へ複写・移動を行う事が出来ます。(線分の始点・終点、円・円弧の中心点、点・文字の配置点、に移動量を加算します。)終点を始点よりも下に指定すると、dyの値はマイナスになりますので、図形は下の方向へ複写・移動されます。同様に、終点を始点よりも左に指定すると、dxの値はマイナスになりますので、図形は左の方向へ複写・移動されます。
移動量が決まれば、あとは、前節と同様の処理となります。
ちょっと修正
・編集メニューを変更します。
[複写(C)]
[移動(M)]
の項目だけだったのを、
[複写(C)]
> [数値入力(&N)]
[移動(M)]
> [数値入力(&N)]
とします。 |
今回の追加
・編集メニューを追加します。
[複写(C)]
> [数値入力(&N)]
> [マウス指定(&M)]
[移動(M)]
> [数値入力(&N)]
> [マウス指定(&M)]
(ショートカットキー(ShortCutプロパティ)やアクセスキーはメニュー編集で自由に出来ますので好きなように指定して下さい。) |
それではここまでのプログラムです。
【サンプルプログラムのソース】
|
|
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
▲PREV
▼NEXT
|