CAD作ろ! ラバーバンド
CADで線を作図する際に、開始点を指定した後、赤色などの線がマウスにくっついて描画される事があります。マウスを指定して終了点を指定したら、その線を作図しますよ、と予め知らせるために表示されるものです。これを一般的に「ラバーバンド」と呼びます。ゴムのひものように伸び縮みしますーというような意味のようです。
あ、さて、これはどのようにすれば実現出来るのでしょうか? 取りあえずは、普通に赤色で線を描いてみましょう。テスト8とテスト9のプログラムを合体させて、線を作図させるボタンを追加しています。
【
ソース・プログラム
】
実行してみると分かりますが、本当に、赤い線がずらーっと表示されてしまいます。それでは、線を消せばいいだろう、という事で、白色の線で消そうとしてみます。ここで注意するのは、描いて消す、とすると、赤い線が見えませんので、以前のを消してから描く、消してから描く、という風にプログラミングします。
【
ソース・プログラム
】
白色で消すと、既に作図してある絵が消えて行ってしまいます。さて、それではどうするかといえば、XORモードで作図するとうまく行きます。通常は、「Colorプロパティで指定するペン色」で作図するよう、ペンのModeプロパティは「pmCopy」になっていますが、これを「pmXor」に指定します。
XOR(エクスクルーシブオア;排他的論理和)とは何かというと、ビット演算の1つで、ANDやORの仲間のようなものです。
A
B
A AND B
0
0
0
0
1
0
1
0
0
1
1
1
A
B
A OR B
0
0
0
0
1
1
1
0
1
1
1
1
A
B
A XOR B
0
0
0
0
1
1
1
0
1
1
1
0
Aを背景の絵、Bをラバーバンドとすると、絵の無い所にはラバーバンドがそのまま作図され、絵のある所にはラバーバンドは反転作図されます。そして、更にXORをかけると、
A
B
A XOR B
B
(A XOR B) XOR B
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
となり、Aと同じ結果になる事が分かります。
つまり、XORモードでラバーバンドを描いて、更にもう一度XORモードでラバーバンドを描けば、ラバーバンドを綺麗に消せる、という訳です。
□□□■■□□□
□□■□□■□□
□■□□□□■□
■□□□□□□■
■■■■■■■■
■□□□□□□■
■□□□□□□■
→
線
を
描
く
□□□■■□
■■
□□■□□■
■■
□■□□□
■□
□
■□□□□
■■
■
■■■■
□□
■■
■□□□
■■
□■
■□□
■■
□□■
→
再
度
線
を
描
く
□□□■■□
□□
□□■□□■
□□
□■□□□
□■
□
■□□□□
□□
■
■■■■
■■
■■
■□□□
□□
□■
■□□
□□
□□■
【
ソース・プログラム
】
なお、ラバーバンドの色を「clRed」にしているのに実際には「水色」で表示されていますが、これは、背景色が白色(R:255、G:255、B:255)である為、XOR演算結果がそのようになってしまうからです。黒色背景色にするか、又は、白色背景色の場合には、「clAqua(水色)」で作図すると赤色で表示されます。
▲PREV
▼NEXT
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
▲PREV
▼NEXT
(C)Copyright 1999-2015 By AFsoft All Rights Reserved.