(изменено: Yuriy, 18 августа 2009г. 23:27:59)

Тема: AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться.

В AA-2010 cтолкнулся c неприятной неожиданностью - перестали работать некоторые програмки, работающие с AEC-объектами.
например эти
Причина - в исчезновении из списка данных информации ранее там находящейся.


Например в AA-2009 для линии разреза по entget выдавался сл. список

(-1 . <Entity name: 7ef0bac8>)
(0 . AEC_BDG_SECTIONLINE)
(330 . <Entity name: 7ef01d80>)
(5 . D9B1)
(100 . AcDbEntity)
(67 . 0)
(410 . Model)
(8 . vsp-разрез-линия)
(100 . AecDbEntity)
(102 . {AEC_SUBOBJECT)
(300 . AecImpClipVol)
(100 . AecImpObj)
(3 . )
(100 . AecImpEnt)
(171 . 0)
(100 . AecImpGeo)
(10 -26023.3 -23602.2 0.0)
(15 1.0 0.0 0.0)
(16 0.0 1.0 0.0)
(210 0.0 0.0 1.0)
(360 . <Entity name: 0>)
(100 . AecImpLayoutTool)
(100 . AecImpClipVol)
(340 . <Entity name: 7ef04110>)
(331 . <Entity name: 7ef0bef8>)
(331 . <Entity name: 7ef0bee0>)
(331 . <Entity name: 7ef0bec0>)
(331 . <Entity name: 7ef0bea8>)
(331 . <Entity name: 7ef0be88>)
(331 . <Entity name: 7ef0be70>)
(331 . <Entity name: 7ef0be50>)
(331 . <Entity name: 7ef0bde8>)
(331 . <Entity name: 7ef0bdc0>)
(331 . <Entity name: 7ef0bd98>)
(331 . <Entity name: 7ef0bcb0>)
(331 . <Entity name: 7ef0bc98>)
(331 . <Entity name: 7ef0bc80>)
(331 . <Entity name: 7ef0bc48>)
(331 . <Entity name: 7ef0bc30>)
(331 . <Entity name: 7ef0bbb8>)
(331 . <Entity name: 7ef0bba0>)
(331 . <Entity name: 7ef0bb70>)
(331 . <Entity name: 7ef0bb58>)
(331 . <Entity name: 7ef0bb40>)
(331 . <Entity name: 7ef0baa8>)
(331 . <Entity name: 7ef0ba90>)
(331 . <Entity name: 7ef0ba60>)
(331 . <Entity name: 7ef0be08>)
(331 . <Entity name: 7ef0be28>)
(331 . <Entity name: 7ef0ba20>)
(331 . <Entity name: 7ef0c218>)
(331 . <Entity name: 7ef0caa0>)
(10 0.0 0.0 0.0)
(10 22158.9 0.0 0.0)
(50 . 0.0)
(51 . 0.0)
(40 . 849.525)
(41 . 849.525)
(42 . 2829.74)
(43 . 300.0)
(70 . 1)
(102 . AEC_SUBOBJECT})
(102 . {AEC_NULLOBJECT})
(100 . AecDbGeo)
(100 . AecDbLayoutTool)
(100 . AecDbClipVol)
(100 . AecDbBdgSectionLine)

а в 2010

(-1 . <Entity name: 7ed81ac8>)
(0 . AEC_BDG_SECTIONLINE)
(330 . <Entity name: 7ed77d80>)
(5 . D9B1)
(100 . AcDbEntity)
(67 . 0)
(410 . Model)
(8 . vsp-разрез-линия)

Как же теперь добираться до нужных данных при помощи лиспа :?:

Re: AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться.

А если использовать ActiveX?

Re: AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться.

Алексей,
получил по vlax-dump-object

; IAecBdgSectionLine: Section Line entity used to support the AutoCAD 
Architecture section and elevation feature
; Property values:
;   Angle1 = 0.0
;   Angle2 = 0.0
;   Application (RO) = #<VLA-OBJECT IAcadApplication 00d591b4>
;   BoundSpaces = 1
;   Description = ""
;   Document (RO) = #<VLA-OBJECT IAcadDocument 0145d550>
;   Handle (RO) = "D9B1"
;   HasExtensionDictionary (RO) = 0
;   Height = 2829.74
;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 10e8ae1c>
;   Layer = "vsp-разрез-линия"
;   Linetype = "BYLAYER"
;   LinetypeScale = 1.0
;   Lineweight = -1
;   Location = (-26023.3 -23602.2 0.0)
;   LowerExtension = 300.0
;   Material = "ByLayer"
;   Name = "Bldg Section Line"
;   Normal = (0.0 0.0 1.0)
;   ObjectID (RO) = 2128091848
;   ObjectName (RO) = "AecDbBdgSectionLine"
;   OwnerID (RO) = 2128051584
;   PlotStyleName = "ByLayer"
;   Rotation = 0.0
;   ShadowDisplay = 0
;   Side1 = 849.525
;   Side2 = 849.525
;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 10e98fc0>
;   UseModelExtents = -1
;   Visible = -1
; Methods supported:
;   ArrayPolar (3)
;   ArrayRectangular (6)
;   AttachAnchor (1)
;   ClosestNode (1)
;   Copy ()
;   Delete ()
;   GetAnchor ()
;   GetBoundingBox (2)
;   GetExtensionDictionary ()
;   GetXData (3)
;   Highlight (1)
;   IntersectWith (2)
;   Mirror (2)
;   Mirror3D (3)
;   Move (2)
;   NodeLocation (1)
;   ReleaseAnchor ()
;   Rotate (2)
;   Rotate3D (3)
;   ScaleEntity (2)
;   SetXData (2)
;   TransformBy (1)
;   Update ()

Никак немогу понять где же находится список объектов, задействованных линией разреза (ранее код 331)
и список точек линии разреза :?:

Re: AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться.

еще один способ извлечения списка свойств ...

Re: AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться.

список свойств полученный по способу #4

("VLA-GET-OBJECTNAME" "AecDbBdgSectionLine")
("VLA-GET-HASEXTENSIONDICTIONARY" :vlax-false)
("VLA-GET-LINETYPE" "BYLAYER")
("VLA-GET-NORMAL" #<variant 8197 ...>)
("VLA-GET-OWNERID" 2125782400)
("VLA-GET-HEIGHT" 2829.74)
("VLA-GET-DESCRIPTION" "")
("VLA-GET-ROTATION" 0.0)
("VLA-GET-PLOTSTYLENAME" "ByLayer")
("VLA-GET-APPLICATION" #<VLA-OBJECT IAcadApplication 00d591b4>)
("VLA-GET-LAYER" "vsp-разрез-линия")
("VLA-GET-COLOR" 256)
("VLA-GET-HYPERLINKS" #<VLA-OBJECT IAcadHyperlinks 20a921f4>)
("VLA-GET-HANDLE" "D9B1")
("VLA-GET-NAME" "Bldg Section Line")
("VLA-GET-LINEWEIGHT" -1)
("VLA-GET-DATABASE" #<VLA-OBJECT IAcadDatabase 20a6fa34>)
("VLA-GET-LINETYPESCALE" 1.0)
("VLA-GET-VISIBLE" :vlax-true)
("VLA-GET-OBJECTID" 2125822664)
("VLA-GET-DOCUMENT" #<VLA-OBJECT IAcadDocument 0145f6c8>)
("VLA-GET-MATERIAL" "ByLayer")
("VLA-GET-TRUECOLOR" #<VLA-OBJECT IAcadAcCmColor 20a73600>)

dump
("VLA-GET-DATABASE" #<VLA-OBJECT IAcadDatabase 20a6fa34>)

;   Blocks (RO) = #<VLA-OBJECT IAcadBlocks 10e72474>
;   Dictionaries (RO) = #<VLA-OBJECT IAcadDictionaries 10e72b04>
;   DimStyles (RO) = #<VLA-OBJECT IAcadDimStyles 10e72744>
;   ElevationModelSpace = 0.0
;   ElevationPaperSpace = 0.0
;   FileDependencies (RO) = #<VLA-OBJECT IAcadFileDependencies 20a6a3cc>
;   Groups (RO) = #<VLA-OBJECT IAcadGroups 10e722e4>
;   Layers (RO) = #<VLA-OBJECT IAcadLayers 10e6c1b4>
;   Layouts (RO) = #<VLA-OBJECT IAcadLayouts 10e72f14>
;   Limits = (0.0 0.0 59400.0 42000.0)
;   Linetypes (RO) = #<VLA-OBJECT IAcadLineTypes 10e72834>
;   Materials (RO) = #<VLA-OBJECT IAcadMaterials 10e73a54>
;   ModelSpace (RO) = #<VLA-OBJECT IAcadModelSpace 112a22e4>
;   PaperSpace (RO) = #<VLA-OBJECT IAcadPaperSpace 10e71ca4>
;   PlotConfigurations (RO) = #<VLA-OBJECT IAcadPlotConfigurations 10e72884>
;   Preferences (RO) = #<VLA-OBJECT IAcadDatabasePreferences 20a6a3a4>
;   RegisteredApplications (RO) = #<VLA-OBJECT IAcadRegisteredApplications 
10e6c2f4>
;   SectionManager (RO) = Ошибка
;   SummaryInfo (RO) = #<VLA-OBJECT IAcadSummaryInfo 20a6a3f4>
;   TextStyles (RO) = #<VLA-OBJECT IAcadTextStyles 10e720b4>
;   UserCoordinateSystems (RO) = #<VLA-OBJECT IAcadUCSs 10e72ec4>
;   Viewports (RO) = #<VLA-OBJECT IAcadViewports 10e6c664>
;   Views (RO) = #<VLA-OBJECT IAcadViews 10e72924>

Но списка объектов, задействованных линией разреза (ранее код 331)
и списка точек линии разреза так и не нашел :(

Re: AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться.

AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться?

видимо чтобы их найти нужно быстрее научиться исследовать объектную модель AA

Re: AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться.

Yuriy,
Autodesk рекомендует C# для полного доступа к объектам АА и MEP

Re: AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться.

Vitaly пишет:

Autodesk рекомендует C# для полного доступа к объектам АА и MEP

Если с лиспом у меня хоть как-то, то C# вообще никак  :(  :(  :(

Re: AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться.

Yuriy,

AA-2010 Куда autodesk запрятал данные архитектурных объектов и как до них добраться?

Я бы на месте архитекторов добивался бы от Autodesk предоставления  пользователю доступа к механизму полей или что нить в этом духе... )))