UserCoordinateSystems 属性 (ActiveX) 
获取文档的 UCS 集合。 支持的平台:仅限 Windows 言论没有其他评论。 例子VBA: Sub Example_UserCoordinateSystems()
    ' This example finds the current UserCoordinateSystems collection and
    ' adds a new UCS to that collection.
    
    Dim UCSColl As AcadUCSs
    Set UCSColl = ThisDrawing.UserCoordinateSystems
    
    ' Create a UCS named "TEST" in the current drawing
    Dim ucsObj As AcadUCS
    Dim origin(0 To 2) As Double
    Dim xAxisPnt(0 To 2) As Double
    Dim yAxisPnt(0 To 2) As Double
    
    ' Define the UCS
    origin(0) = 4#: origin(1) = 5#: origin(2) = 3#
    xAxisPnt(0) = 5#: xAxisPnt(1) = 5#: xAxisPnt(2) = 3#
    yAxisPnt(0) = 4#: yAxisPnt(1) = 6#: yAxisPnt(2) = 3#
    
    ' Add the UCS to the UserCoordinatesSystems collection
    Set ucsObj = UCSColl.Add(origin, xAxisPnt, yAxisPnt, "TEST")
    
    MsgBox "A new UCS called " & ucsObj.name & " has been added to the UserCoordinateSystems collection.", vbInformation, "UserCoordinateSystems Example"
End Sub
可视化 LISP: (vl-load-com)
(defun c:Example_UserCoordinateSystems()
    ;; This example finds the current UserCoordinateSystems collection and
    ;; adds a new UCS to that collection.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq UCSColl (vla-get-UserCoordinateSystems doc))
    
    ;; Create a UCS named "TEST" in the current drawing
    ;; Define the UCS
    (setq origin (vlax-3d-point 4 5 3)
          xAxisPnt (vlax-3d-point 5 5 3)
          yAxisPnt (vlax-3d-point 4 6 3))
    
    ;; Add the UCS to the UserCoordinatesSystems collection
    (setq ucsObj (vla-Add UCSColl origin xAxisPnt yAxisPnt "TEST"))
    
    (alert (strcat "A new UCS called " (vla-get-Name ucsObj) " has been added to the UserCoordinateSystems collection."))
)
 | 
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1   苏公网安备32011402011833)
GMT+8, 2025-11-4 15:09
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.