[Civil 3D]命名点编组g
你好如何通过检查entsel函数来获取点组的名称? 尝试此操作以获取与选定对象相关的所有dxf代码。
(entget (car (entsel))) 此实用程序可能会帮助您:实体列表 我使用了:
(entget(car(entsel)))
我得到:
Wybierz obiekt: ((-1 . <Nazwa elementu: 7ef18568>)
(0 . "AECC_COGO_POINT")
(330 . <Nazwa elementu: 7ef01cf8>) (5 . "80F5") (100 . "AcDbEntity")
(67 . 0) (410 . "Model") (8 . "C-PUNKTY") (100 . "AeccDbCogoPoint"))
我使用了:
(vl-load-com)
(vlax-dump-object (vlax-ename->vla-object(car (entsel))) 'T)
我得到:
Wybierz obiekt: ; IAeccPoint: Interfejs IAeccPoint
; Wartości właściwości:
; Application (RO) = #<VLA-OBJECT IAeccApplication 18b42f20>
; Convergence (RO) = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ
nie określono układu współrzędnych geodezyjnych.
; Description = Civil 3D API: Parametr jest niepoprawny.
; DescriptionFormat = ""
; DisplayName (RO) = Civil 3D API: Parametr jest niepoprawny.
; Document (RO) = #<VLA-OBJECT IAeccDocument 18bf3b60>
; Easting = 20580.3
; Elevation = 100.0
; FullDescription (RO) = ""
; GridEasting = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
określono układu współrzędnych geodezyjnych.
; GridNorthing = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
określono układu współrzędnych geodezyjnych.
; Handle (RO) = "80F5"
; HasExtensionDictionary (RO) = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 18b033bc>
; LabelStyle = nil
; Latitude = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
określono układu współrzędnych geodezyjnych.
; Layer = "C-PUNKTY"
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Location = (20580.3 3776.2 100.0)
; Longitude = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
określono układu współrzędnych geodezyjnych.
; Material = "ByLayer"
; Name = ""
; Northing = 3776.2
; Number = 1
; ObjectID (RO) = 2129757544
; ObjectName (RO) = "AeccDbCogoPoint"
; OwnerID (RO) = 2129665272
; PlotStyleName = "ByLayer"
; ProjectVersion (RO) = Civil 3D API: Parametr jest niepoprawny.
; RawDescription = ""
; Rotation = 0.0
; Scale (RO) = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
określono układu współrzędnych geodezyjnych.
; ShowToolTip = Civil 3D API: Nieprawidłowe dojście.
; Style = nil
; StyleName (RO) = "<brak>"
; SurveyPoint (RO) = 0
; TrueColor = Program AutoCAD.Aplikacja: Niepoprawna klasa
; Visible = Program AutoCAD.Aplikacja: Niepoprawna klasa
; XYScale = 1.0
; ZScale = 1.0
; Obsługiwane metody:
; ArrayPolar (3)
; ArrayRectangular (6)
; Copy ()
; Delete ()
; GetBoundingBox (2)
; GetExtensionDictionary ()
; GetUserDefinedPropertyValue (1)
; GetXData (3)
; Highlight (1)
; IntersectWith (2)
; IsReferenceObject ()
; IsReferenceStale ()
; IsReferenceSubObject ()
; IsReferenceValid ()
; Mirror (2)
; Mirror3D (3)
; Move (2)
; Rotate (2)
; Rotate3D (3)
; ScaleEntity (2)
; SetUserDefinedPropertyValue (2)
; SetXData (2)
; TransformBy (1)
; Update ()
如何访问几何空间点组的名称? 我使用此代码读取信息:
(prompt "\ngr-nam")
(defun c:gr-nam (/ e d obj L1)
(vl-load-com)
(if (setq e (car (entsel "\nSelect COGO: " )))
(progn
(setq d (entget e))
(if (= (cdr (assoc 0 d)) "AECC_COGO_POINT")
(progn
(setq obj (vlax-ename->vla-object e))
(setq L1 (vlax-get obj 'Location))
(princ L1)
);progn
(princ "\nInvalid object: ")
);if
);progn
(princ "\nNothing selected: ")
);if
(princ)
)
在这种情况下,点的坐标。
如何获取组的名称。 我看到这个物体的名字是零,如你第4号帖子所示!
在黑暗中拍摄,试试这个。
(vla-get-name (vlax-ename->vla-object e)) 这将为您提供点编组的名称,最后几行是您需要的位。
(if ((lambda (vrsn)
(cond
((vl-string-search "R17.2" vrsn) (setq appstr "6.0")) ;09
((vl-string-search "R18.0" vrsn) (setq appstr "7.0")) ;10
((vl-string-search "R18.1" vrsn) (setq appstr "8.0")) ;11
((vl-string-search "R18.2" vrsn) (setq appstr "9.0")) ;12 ?
((vl-string-search "R19.0" vrsn) (setq appstr "10.0")) ;13
((alert "This version of C3D not supported!"))
)
)
(vlax-product-key)
) ; end if condition progn is true
(progn
(cond (*AeccDoc*)
((setq *AeccDoc*
(vlax-get
(cond (*AeccApp*)
((setq *AeccApp*
(vla-getinterfaceobject
(cond (*Acad*)
((setq *Acad* (vlax-get-acad-object)))
)
(strcat "AeccXUiLand.AeccApplication." appstr)
)
)
)
)
'ActiveDocument
)
)
)
) ; end main cond
) ; end progn
) ; end if vsrn
(vlax-for j (vlax-get *AeccDoc* 'Pointgroups)
(setq lst (cons (cons (vla-get-name j) j) lst))
)
页:
[1]