Как создать точку и группу нашёл\разобрался
(if (wcmatch (vla-get-Name (vlax-get-acad-object)) "*Civil 3D*")
(progn
(setq C3D (strcat "HKEY_LOCAL_MACHINE\\"
(if vlax-user-product-key
(vlax-user-product-key)
(vlax-product-key)
)
)
C3D (vl-registry-read C3D "Release")
C3D (substr
C3D
1
(vl-string-search "." C3D (+ (vl-string-search "." C3D) 1))
)
C3D (vla-getinterfaceobject
(vlax-get-acad-object)
(strcat "AeccXUiLand.AeccApplication." C3D)
)
)
(setq c3ddoc (vlax-get C3D 'activedocument)
points (vlax-get c3ddoc 'points)
groups (vlax-get c3ddoc 'pointGroups)
)
(vlax-for item groups
(setq groups_list (cons item groups_list))
)
(setq point
(vlax-invoke-method
points
'Add
(vlax-3D-point (getpoint))
)
)
(setq new_group
(vlax-invoke-method
groups
'Add
"My test group"
)
)
)
)
Но вот как теперь эту точку добавить в группу ни как не найду
Дамп точки
; IAeccPoint: Интерфейс IAeccPoint
; Значения свойств:
; Application (RO) = #<VLA-OBJECT IAeccApplication 00000248ea28e5b0>
; Convergence (RO) = Civil 3D API: Данная операция не поддерживается, так как не задана геодезическая система координат.
; Description = Civil 3D API: Параметр задан неверно.
; DescriptionFormat = ""
; DisplayName (RO) = Civil 3D API: Параметр задан неверно.
; Document (RO) = #<VLA-OBJECT IAeccDocument 00000248ea28ec70>
; Easting = 4319.75
; Elevation = 0.0
; EntityTransparency = "ПоСлою"
; FullDescription (RO) = ""
; GridEasting = Civil 3D API: Данная операция не поддерживается, так как не задана геодезическая система координат.
; GridNorthing = Civil 3D API: Данная операция не поддерживается, так как не задана геодезическая система координат.
; Handle (RO) = "6904"
; HasExtensionDictionary (RO) = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 00000240df2db9c8>
; LabelRotation = 0.0
; LabelStyle = nil
; Latitude = Civil 3D API: Данная операция не поддерживается, так как не задана геодезическая система координат.
; Layer = "V-NODE"
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Location = (4319.75 5204.48 0.0)
; Longitude = Civil 3D API: Данная операция не поддерживается, так как не задана геодезическая система координат.
; Material = "ByLayer"
; Name = ""
; Northing = 5204.48
; Number = 9
; ObjectID (RO) = 49
; ObjectName (RO) = "AeccDbCogoPoint"
; OwnerID (RO) = 46
; PlotStyleName = "ByLayer"
; ProjectVersion (RO) = Civil 3D API: Параметр задан неверно.
; RawDescription = ""
; Rotation = 0.0
; Scale (RO) = Civil 3D API: Данная операция не поддерживается, так как не задана геодезическая система координат.
; ShowToolTip = -1
; Style = nil
; StyleName (RO) = "<нет>"
; SurveyPoint (RO) = 0
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 00000240df2daa60>
; Visible = -1
; XYScale = 1.0
; ZScale = 1.0
; Поддерживаемые методы:
; 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 ()
ни слова о группе, ну оно и логично, одна точка может состоять в разных группах
Дамп группы
; IAeccPointGroup: Интерфейс IAeccPointGroup
; Значения свойств:
; Application (RO) = #<VLA-OBJECT IAeccApplication 00000248e9a3fd10>
; Description = ""
; Document (RO) = #<VLA-OBJECT IAeccDocument 00000248e9a3faa0>
; DrawPriority (RO) = 9
; Elevation = 0.0
; Handle (RO) = "6913"
; HasExtensionDictionary (RO) = 0
; IsUpToDate (RO) = -1
; Name = "My test group"
; ObjectID (RO) = 52
; ObjectName (RO) = "AeccDbPG"
; OverrideElevation = 0
; OverridePointLabelStyle = 0
; OverridePointStyle = 0
; OverrideRawDescription = 0
; OwnerID (RO) = 44
; PointCount (RO) = 0
; PointLabelStyle = #<VLA-OBJECT IAeccLabelStyle 00000240e36d0e90>
; Points (RO) = nil
; PointStyle = #<VLA-OBJECT IAeccPointStyle 00000240e95c84d0>
; QueryBuilder (RO) = #<VLA-OBJECT IAeccPointGroupQueryBuilder 00000248e9a3f9b0>
; RawDescription = ""
; Поддерживаемые методы:
; ContainsPoint (1)
; Delete ()
; GetExtensionDictionary ()
; GetUserDefinedPropertyClassification (1)
; GetXData (3)
; SetUserDefinedPropertyClassification (2)
; SetXData (2)
; Update ()
Если в группе есть точки, то их номера в виде списка появляются в свойстве "Points" , но это свойство только для чтения :-( Метод "ContainsPoint" проверяет опять же по номеру(или id точки) входит ли она в группу. А вот как добавить в группу точку ни чего нет...
Вот что-то есть но на каком-то совсем мне неизвестном языке
http://help.autodesk.com/view/CIV3D/2017/ENU/?guid=GUID-55A8758C-41DF-47F6-A762-F9B87FAA1A54 или вот
http://docs.autodesk.com/CIV3D/2014/ENU/Developers_Guide/index.html?url=files/GUID-2CE0EBB7-9539-44D6-A9D0-167D78414D44.htm,topicNumber=d30e14477 Походу опять из Lisp того не сделать?