Информация о типоразмере хранится в свойстве PressurePart.PartDescription (ReadOnly)Немного не так. При создании элемента в качестве значения по умолчанию для описания берётся типоразмер элемента. В безнапорной сети даже специальная настройка есть по управлению этим поведением:
В безнапорной сети даже специальная настройка есть по управлению этим поведениемВ безнапорной сети у объектов есть PartSizeName...
Тут, наверное, снова можно попробовать добраться к типоразмеру через ReflectiondotPeek-ом долго изучал AeccPressurePipesMgd.dll. Пока не нашел.
Дополнительно, можно попробовать поизучать связанные с трубой объекты с помощью MgdDbg.Выявил ссылки на PressurePartList и PressurePipeStyle. На типоразмер - нет...
Команда: (entget (car (entsel)))
Выберите объект: ((-1 . <Имя объекта: 7291dd00>) (0 . "AECC_PRESSUREPIPE") (330 . <Имя объекта: 72c251f0>) (5 . "46B0") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AeccDbEntity") (100 . "AeccDbGeo_aec") (100 . "AeccDbGeo") (100 . "AeccDbNetworkPartBase") (100 . "AeccDbPressurePart") (100 . "AeccDbPressurePipe"))
И COM тоже:Команда: (setq pipe (car (entsel)))(setq pipe-vla (vlax-ename->vla-object pipe))(vlax-dump-Object pipe-vla T)
Выберите объект: ; IAeccEntity: интерфейс IAeccEntity
; Значения свойств:
; Application (RO) = #<VLA-OBJECT IAeccApplication 000000007129bbe0>
; Description = "Трубы бесшовные холоднодеформ. из сплавов на основе титана 102x6.0"
; DisplayName (RO) = "Напорная труба - (32)"
; Document (RO) = #<VLA-OBJECT IAeccDocument 00000000712a1d60>
; EntityTransparency = "ПоСлою"
; Handle (RO) = "46B0"
; HasExtensionDictionary (RO) = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 0000000074ede898>
; Layer = "0"
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Material = "ByLayer"
; Name = "Напорная труба - (32)"
; ObjectID (RO) = 42
; ObjectName (RO) = "AeccDbPressurePipe"
; OwnerID (RO) = 43
; PlotStyleName = "ByLayer"
; ShowToolTip = -1
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 0000000074edc8b0>
; Visible = -1
; Поддерживаемые методы:
; ArrayPolar (3)
; ArrayRectangular (6)
; Copy ()
; Delete ()
; GetBoundingBox (2)
; GetExtensionDictionary ()
; GetXData (3)
; Highlight (1)
; IntersectWith (2)
; IsReferenceObject ()
; IsReferenceStale ()
; IsReferenceSubObject ()
; IsReferenceValid ()
; Mirror (2)
; Mirror3D (3)
; Move (2)
; Rotate (2)
; Rotate3D (3)
; ScaleEntity (2)
; SetXData (2)
; TransformBy (1)
; Update ()
T
К сожалению, entget - не вариант:А что кроется за этим: (330 . <Имя объекта: 72c251f0>) ?
А что кроется за этим: (330 . <Имя объекта: 72c251f0>) ?Блок-владелец:
Команда: (setq pipe (car (entsel)))(entget (cdr (assoc 330 (entget pipe))))
Выберите объект: ((-1 . <Имя объекта: 72c251f0>) (0 . "BLOCK_RECORD") (5 . "1F") (102 . "{ACAD_XDICTIONARY") (360 . <Имя объекта: 72c24560>) (102 . "}") (330 . <Имя объекта: 72c25010>) (100 . "AcDbSymbolTableRecord") (100 . "AcDbBlockTableRecord") (2 . "*Model_Space") (360 . <Имя объекта: 72c25200>) (340 . <Имя объекта: 72c25220>) (70 . 0) (280 . 1) (281 . 0))
Ну и расширенные данные неплохо бы посмотреть.РД и словаря тоже нет:
Так что ARXDBG будет полезен.Вообще, кое-что, вроде как, нащупал через ArxDbg:
Команда: (entget (handent "14D0"))
((-1 . <Имя объекта: 72c05080>) (0 . "DICTIONARY") (5 . "14D0") (102 . "{ACAD_REACTORS") (330 . <Имя объекта: 72c250c0>) (102 . "}") (330 . <Имя объекта: 72c250c0>) (100 . "AcDbDictionary") (280 . 0) (281 . 1) (3 . "100112standard26100_mm_x_100_mm43ГОСТ_22897_862Трубы_бесшовные_холоднодеформ._из_сплавов_на_основе_титана_102x6.035b5b980_d37b_49e7_85d0_1143f0b55498Трубы_бесшовные_холоднодеформ._из_сплавов_на_основе_титана_ГОСТ_22897_86__толщина_стенки_6_ммbcabf25b_5c6a_5c3c_bee9_1c29225b4569F3224858_E199_4219_8644_12DD136AA9DFPipe_DomainPressurePipe") (350 . <Имя объекта: 7291db00>) (3 . "15elbow2100_mm_x_100_mm43ГОСТ_22793_832Отвод_гнутый_1_15_100_100_127x14ef211a75_b592_45c6_a07a_3a7f189946a4Отвод_гнутый_15_ГОСТ_22793_83__исполнение_116b31ce3_5a12_5d1f_9650_e4589bb4fb33F3224858_E199_4219_8644_12DD136AA9DFFitting_DomainElbow") (350 . <Имя объекта: 7291dc10>) (3 . "30elbow2100_mm_x_100_mm43ГОСТ_22793_832Отвод_гнутый_3_30_100_100_159x2892c7a313_5ee5_4907_be69_c96a3d63ac8cОтвод_гнутый_30_ГОСТ_22793_83__исполнение_322b3b9ec_daaf_56a0_8f3f_6b82bba51ff2F3224858_E199_4219_8644_12DD136AA9DFFitting_DomainElbow") (350 . <Имя объекта: 7291dce0>) (3 . "45elbow2100_mm_x_100_mm43ГОСТ_17375_20012Отвод_крутоизогнутый_стальной_бесшовный_приварной_45_114x10b8c6e7dc_3fb9_418a_879e_fa9949c9f028Отвод_крутоизогнутый_стальной_бесшовный_приварной_45_ГОСТ_17375_2001__толщина_стенки_10_мм00478ebe_dfa8_5e96_8fad_97c31418c20cF3224858_E199_4219_8644_12DD136AA9DFFitting_DomainElbow") (350 . <Имя объекта: 7291dd90>) (3 . "90elbow2100_mm_x_100_mm43ГОСТ_22793_832Отвод_гнутый_2_90_100_100_140x2011fe5f3c_1ea0_4eed_9339_f10da5c46e44Отвод_гнутый_90_ГОСТ_22793_83__исполнение_20320c558_93d8_5668_b106_295b6e65c531F3224858_E199_4219_8644_12DD136AA9DFFitting_DomainElbow") (350 . <Имя объекта: 7291df00>))
Думаю, что если дальше поковырять и выяснить что там за объекты под 350 кодом, то можно что-то найти интересное. Я пас - спать хочу :)
Можно как-нибудь через рефлексию зацепить?Нет. Тут есть типы объектов, доступ к которым через .NET не получишь.
Нет. Тут есть типы объектов, доступ к которым через .NET не получишь.
Значит я зря потратил время...Зря ничего не бывает. Ты просто отмел одно из направлений, которое не приводит к результату.