Target 属性 (ActiveX)
指定视图或视口的目标点。 支持的平台:仅限 Windows 属性值只读:不 类型:变体(双打的三元素阵列) 表示目标点的 3D WCS 坐标。 言论视线从中心绘制到目标点。 ![]() 例子VBA: Sub Example_Target() ' This example changes the target for a model space viewport. ' Create a new model space viewport Dim viewportObj As AcadViewport Set viewportObj = ThisDrawing.Viewports.Add("NewViewport") ' Add a circle Dim circleObj As AcadCircle Dim center(0 To 2) As Double Dim radius As Double center(0) = 0: center(1) = 0: center(2) = 0 radius = 1 Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius) ' Find the current target Dim currTarget As Variant currTarget = viewportObj.target MsgBox "The current target is " & viewportObj.target(0) & ", " & viewportObj.target(1) & ", " & viewportObj.target(2), , "Target Example" ' Change the target Dim newTarget(0 To 2) As Double newTarget(0) = 2#: newTarget(1) = 2#: newTarget(2) = 0 viewportObj.target = newTarget ThisDrawing.ActiveViewport = viewportObj ThisDrawing.Regen acAllViewports MsgBox "The new target is " & viewportObj.target(0) & ", " & viewportObj.target(1) & ", " & viewportObj.target(2), , "Target Example" End Sub 可视化 LISP: (vl-load-com) (defun c:Example_Target() ;; This example changes the target for a model space viewport. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Create a new model space viewport (setq viewportObj (vla-Add (vla-get-Viewports doc) "NewViewport")) ;; Add a circle (setq center (vlax-3d-point 0 0 0) radius 1) (setq modelSpace (vla-get-ModelSpace doc)) (setq circleObj (vla-AddCircle modelSpace center radius)) ;; Find the current target (setq currTarget (vlax-variant-value (vla-get-Target viewportObj))) (alert (strcat "The current target is " (rtos (vlax-safearray-get-element currTarget 0) 2) ", " (rtos (vlax-safearray-get-element currTarget 1) 2) ", " (rtos (vlax-safearray-get-element currTarget 2) 2))) ;; Change the target (setq newTarget (vlax-3d-point 2 2 0)) (vla-put-Target viewportObj newTarget) (vla-put-ActiveViewport doc viewportObj) (vla-Regen doc acAllViewports) (setq currTarget (vlax-variant-value (vla-get-Target viewportObj))) (alert (strcat "The new target is " (rtos (vlax-safearray-get-element currTarget 0) 2) ", " (rtos (vlax-safearray-get-element currTarget 1) 2) ", " (rtos (vlax-safearray-get-element currTarget 2) 2))) ) |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-14 07:48
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.