Kowal 发表于 2022-7-5 22:54:06

[Civil 3D]命名点编组g

你好
如何通过检查entsel函数来获取点组的名称?

Tharwat 发表于 2022-7-5 23:11:41

尝试此操作以获取与选定对象相关的所有dxf代码。
 
(entget (car (entsel)))

Lee Mac 发表于 2022-7-5 23:16:25

此实用程序可能会帮助您:实体列表

Kowal 发表于 2022-7-5 23:30:41

我使用了:
(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 ()
 
如何访问几何空间点组的名称?

Kowal 发表于 2022-7-5 23:38:22

我使用此代码读取信息:
(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)
)
在这种情况下,点的坐标。
如何获取组的名称。

Tharwat 发表于 2022-7-5 23:51:35

我看到这个物体的名字是零,如你第4号帖子所示!
 
在黑暗中拍摄,试试这个。
 
(vla-get-name (vlax-ename->vla-object e))

BIGAL 发表于 2022-7-6 00:03:15

这将为您提供点编组的名称,最后几行是您需要的位。

(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]
查看完整版本: [Civil 3D]命名点编组g