所定の UCS の Y 方向を指定します。
サポートされているプラットフォーム: Windows のみ
読み込み専用: いいえ
タイプ: バリアント型(倍精度実数の 3 要素配列)
所定の UCS の Y 方向を指定するベクトル。
アクティブな UCS で Y ベクトルの値を変更した場合は、アクティブな UCS を再設定しなければ変更結果を表示できません。 アクティブな UCS を再設定するには、ActiveUCS プロパティを使用します。
VBA:
Sub Example_YVector() ' This finds the current setting of YVector for a given UCS. ' It then changes the YVector and resets the UCS. Dim viewportObj As AcadViewport ' Set the viewportObj variable to the active viewport Set viewportObj = ThisDrawing.ActiveViewport ' Define a new UCS and turn on the UCS icon at the origin. Dim ucsObj As AcadUCS Dim origin(0 To 2) As Double Dim xAxisPoint(0 To 2) As Double Dim yAxisPoint(0 To 2) As Double origin(0) = 2: origin(1) = 2: origin(2) = 0 xAxisPoint(0) = 3: xAxisPoint(1) = 2: xAxisPoint(2) = 0 yAxisPoint(0) = 2: yAxisPoint(1) = 3: yAxisPoint(2) = 0 Set ucsObj = ThisDrawing.UserCoordinateSystems.Add(origin, xAxisPoint, yAxisPoint, "UCS1") ThisDrawing.ActiveUCS = ucsObj viewportObj.UCSIconOn = True viewportObj.UCSIconAtOrigin = True ThisDrawing.ActiveViewport = viewportObj ' Display the current setting of the vectors MsgBox "The current XVector is: " _ & ucsObj.XVector(0) & ", " & ucsObj.XVector(1) & ", " & ucsObj.XVector(2) & vbCrLf _ & "The current YVector is: " _ & ucsObj.YVector(0) & ", " & ucsObj.YVector(1) & ", " & ucsObj.YVector(2), , "YVector Example" ' Change the setting of YVector Dim newVector(0 To 2) As Double newVector(0) = -1: newVector(1) = -1: newVector(2) = 0 ucsObj.YVector = newVector ' Reset the active UCS to see the change ThisDrawing.ActiveUCS = ucsObj MsgBox "The new XVector is: " _ & ucsObj.XVector(0) & ", " & ucsObj.XVector(1) & ", " & ucsObj.XVector(2) & vbCrLf _ & "The YVector is: " _ & ucsObj.YVector(0) & ", " & ucsObj.YVector(1) & ", " & ucsObj.YVector(2), , "YVector Example" End Sub
Visual LISP:
(vl-load-com) (defun c:Example_YVector() ;; This finds the current setting of XVector for a given UCS. ;; It then changes the XVector and resets the UCS. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Set the viewportObj variable to the activeviewport (setq viewportObj (vla-get-ActiveViewport doc)) ;; Define a new UCS and turn on the UCS icon at the origin. (setq origin (vlax-3d-point 2 2 0) xAxisPoint (vlax-3d-point 3 2 0) yAxisPoint (vlax-3d-point 2 3 0)) (setq ucsObj (vla-Add (vla-get-UserCoordinateSystems doc) origin xAxisPoint yAxisPoint "TEST")) (vla-put-ActiveUCS doc ucsObj) (vla-put-UCSIconOn viewportObj :vlax-true) (vla-put-UCSIconAtOrigin viewportObj :vlax-true) (vla-put-ActiveViewport doc viewportObj) ;; Display the current setting of the XVector (alert (strcat "The current XVector is: " "\n" (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 0) 2) ", " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 1) 2) ", " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 2) 2) "\nThe current YVector is: " "\n" (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 0) 2) ", " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 1) 2) ", " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 2) 2))) ;; Change the setting of XVector (setq newVector (vlax-3d-point 0.7071 0.7071 0)) (vla-put-XVector ucsObj newVector) (setq newVector (vlax-3d-point -0.7071 0.7071 0)) (vla-put-YVector ucsObj newVector) ;; Reset the active UCS to see the change (vla-put-ActiveUCS doc ucsObj) (alert (strcat "The new XVector is: " "\n" (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 0) 2) ", " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 1) 2) ", " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 2) 2) "\nThe new YVector is: " "\n" (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 0) 2) ", " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 1) 2) ", " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 2) 2))) )