指定射线或 xline 的第二个点。 支持的平台:仅窗口 属性值只读:不 类型:变体(双精度的三元素数组) 表示射线或 xline 的第二个点的 3D WCS 坐标。 言论不能将射线的第二个点设置为等于其基点。 例子工 务 局: Sub Example_SecondPoint() ' This example creates a ray object. It then finds the ' second point of the ray, changes the second point, and ' queries the new second point. Dim basePoint(0 To 2) As Double Dim directionVec(0 To 2) As Double Dim rayObj As AcadRay Dim currSecondPoint As Variant Dim msg As String Dim newSecondPoint(0 To 2) As Double ' Establish the base point and directional vector for the ray basePoint(0) = 3: basePoint(1) = 3: basePoint(2) = 0 directionVec(0) = 1: directionVec(1) = 1: directionVec(2) = 0 ' Create a Ray object in model space Set rayObj = ThisDrawing.ModelSpace.AddRay(basePoint, directionVec) ThisDrawing.Regen True MsgBox "A new Ray has been added.", vbInformation ' Define a new second point newSecondPoint(0) = 4: newSecondPoint(1) = 2: newSecondPoint(2) = 0 ' Update the ray using the new second point rayObj.SecondPoint = newSecondPoint ' Query the new second point for the Ray currSecondPoint = rayObj.SecondPoint msg = currSecondPoint(0) & vbCrLf & _ currSecondPoint(1) & vbCrLf & _ currSecondPoint(2) ThisDrawing.Regen True MsgBox "We've just changed the second point of the new Ray to: " & vbCrLf & msg, vbInformation End Sub Visual LISP: (vl-load-com) (defun c:Example_SecondPoint() ;; This example creates a ray object. It then finds the ;; second point of the ray, changes the second point, and ;; queries the new second point. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Establish the base point and directional vector for the ray (setq basePoint (vlax-3d-point 3 3 0) directionVec (vlax-3d-point 1 1 0)) ;; Create a Ray object in model space (setq modelSpace (vla-get-ModelSpace doc)) (setq rayObj (vla-AddRay modelSpace basePoint directionVec)) (vla-Regen doc :vlax-true) (alert "A new Ray has been added.") ;; Define a new second point (setq newSecondPoint (vlax-3d-point 4 2 0)) ;; Update the ray using the new second point (vla-put-SecondPoint rayObj newSecondPoint) ;; Query the new second point for the Ray (setq currSecondPoint (vlax-safearray->list (vlax-variant-value (vla-get-SecondPoint rayObj)))) (setq msg (strcat (rtos (nth 0 currSecondPoint) 2) ", " (rtos (nth 1 currSecondPoint) 2) ", " (rtos (nth 2 currSecondPoint) 2))) (vla-Regen doc :vlax-true) (alert (strcat "We've just changed the second point of the new Ray to: " msg)) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:28
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.