放射線、幾何公差、構築線のベクトル方向を指定します。
サポートされているプラットフォーム: Windows のみ
読み込み専用: いいえ
タイプ: バリアント型(倍精度実数の 3 要素配列)
放射線、幾何公差、構築線の方向。
追加の注意はありません。
VBA:
Sub Example_DirectionVector()
' This example creates a ray and then changes the direction vector
' for the ray.
Dim rayObj As AcadRay
Dim basePoint(0 To 2) As Double
Dim SecondPoint(0 To 2) As Double
Dim newDirectionVec(0 To 2) As Double
basePoint(0) = 3#: basePoint(1) = 3#: basePoint(2) = 0#
SecondPoint(0) = 1#: SecondPoint(1) = 3#: SecondPoint(2) = 0#
' Create a Ray object in model space
Set rayObj = ThisDrawing.ModelSpace.AddRay(basePoint, SecondPoint)
ZoomAll
MsgBox "The ray has a direction vector of " & rayObj.DirectionVector(0) & ", " & rayObj.DirectionVector(1) & ", " & rayObj.DirectionVector(2), vbInformation, "DirectionVector Example"
' Change the direction vector
newDirectionVec(0) = 3#: newDirectionVec(1) = 1#: newDirectionVec(2) = 0#
rayObj.DirectionVector = newDirectionVec
' Query the new direction vector for the Ray
Dim retDir As Variant ' Note that return from DirectionVector property is Variant and not a SafeArray
retDir = rayObj.DirectionVector
ThisDrawing.Regen True
MsgBox "The direction vector of the ray has been changed to " & rayObj.DirectionVector(0) & ", " & rayObj.DirectionVector(1) & ", " & rayObj.DirectionVector(2), vbInformation, "DirectionVector Example"
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_DirectionVector()
;; This example creates a ray and then changes the direction vector
;; for the ray.
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
(setq basePoint (vlax-3d-point 3 3 0)
SecondPoint (vlax-3d-point 1 3 0))
;; Create a Ray object in model space
(setq modelSpace (vla-get-ModelSpace doc))
(setq rayObj (vla-AddRay modelSpace basePoint SecondPoint))
(vla-ZoomAll acadObj)
(setq vDirection (vlax-safearray->list (vlax-variant-value (vla-get-DirectionVector rayObj))))
(alert (strcat "The ray has a direction vector of "
"\n" (rtos (nth 0 vDirection) 2) "," (rtos (nth 1 vDirection) 2) "," (rtos (nth 2 vDirection) 2)))
;; Change the direction vector
(setq newDirectionVec (vlax-3d-point 3 1 0))
(vla-put-DirectionVector rayObj newDirectionVec)
;; Query the new direction vector for the Ray
(setq retDir (vlax-safearray->list (vlax-variant-value (vla-get-DirectionVector rayObj))))
(vla-Regen doc :vlax-true)
(alert (strcat "The direction vector of the ray has been changed to "
"\n" (rtos (nth 0 retDir) 2) "," (rtos (nth 1 retDir) 2) "," (rtos (nth 2 retDir) 2)))
)