マウスで指定したポイントを取得する関数 LTCustomizer21 for AutoCAD LT リファレンスマニュアル
ActiveX
Function get_mouse_point(ByRef x As Double, ByRef y As
Double, ByRef z As Double) As Boolean
C/C++
int WINAPI LTC_get_mouse_point(double xyz[3]);
パラメータ
x,y,z:取得した座標
xyz[]:取得した座標最初のインデックスがX座標,2番目がY座標,3番目がZ座標
返り値
ActiveX:True:成功 False(失敗)
C/C++: 1:成功 。0:失敗
このコマンドはAutoCAD/LTでidコマンドを実行してその後、システム変数LASTPOINTの値を取得して終了します。インタラクティブなユーザインターフェイスを作る際に使用します。
LASTPOINTの値はコマンドラインを見ればわかるとおり、精度の高いものではありません。
高精度を要求する場合には以下のコードを参照してください(VisualBasicサンプル)
Private Sub Command1_Click()
Dim x, y, z As Double
Dim str As String
'ltcはLTCustomizer21のオブジェクトです
If ltc.command2("_point") = True Then
'最後に描画したデータだけをバイナリDXFで値を取り込みます
If ltc.Select("_L ",
"", "_V R12 B") = 1 Then
ltc.command2
("_erase _p ")
x =
ltc.get_select_double_data(0, 10)
y =
ltc.get_select_double_data(0, 20)
z =
ltc.get_select_double_data(0, 30)
'
値を確かめます
str = "X
= " + CStr(x) + " Y = " + CStr(y) + " Z = " + CStr(z)
MsgBox (str)
End If
End If
End Sub
参照
get_mouse_rect()