Список объектов спецификации

Автор plscomeback, 27.01.21, 15:59:28

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

plscomeback

Подскажите как получить список видимых обхектов текущей спецификации?

Вират Лакх

iApplication = Dispatch('Kompas.Application.7')
iDocument = iApplication.ActiveDocument
iSpecificationDescription = iDocument.SpecificationDescriptions.Active # Текущее описание спецификации
SpcObjects = iSpecificationDescription.Objects # Порядок и состав списка соответствует визуальному отображению данного описания спецификации

plscomeback

Цитата: Вират Лакх от 28.01.21, 04:48:45iApplication = Dispatch('Kompas.Application.7')
iDocument = iApplication.ActiveDocument
iSpecificationDescription = iDocument.SpecificationDescriptions.Active # Текущее описание спецификации
SpcObjects = iSpecificationDescription.Objects # Порядок и состав списка соответствует визуальному отображению данного описания спецификации
Огромное спасибо, я думал что описание спецификации это не то....

plscomeback

Вернемся к данному вопросу, подскажите, как получить список с документа спецификации
ПУТИ к файлам cdw и spw. То есть я хочу получить со спецификации вернего уровня пути ко всем прикрепленным файлам в виде условного дерева.

СБ 1.0.0.0
--СБ 1.1.0.0
  --СБ 1.1.1.0
    --Деталь 1.1.1.1
    --Деталь 1.1.1.2
    --......
  --СБ 1.1.2.0
    --Деталь 1.1.2.1
    --Деталь 1.1.2.2
    --.....
  --Деталь 1.1.0.1
  --Деталь 1.1.0.2
  --.......
--Деталь 1.0.0.1
--Деталь 1.0.0.2
--......

SergNLMK

Здравствуйте! Подскажите, пожалуйста, почему SpcObjects.Columns выдает значение None?
Хочу получить доступ к тексту из спецификации (обозначение, наименование и пр.) через API7.

Например вот такой код
for obj in range(len(iObjects)):
    iSpecificationObject = iObjects[obj]
    iSpecificationColumns = iSpecificationObject.Columns
    print(iSpecificationObject, iSpecificationColumns)
выдает такой результат:
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationObject instance at 0x2361023280400> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationObject instance at 0x2361023280528> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationObject instance at 0x2361023280656> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationCommentObject instance at 0x2361023280784> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationCommentObject instance at 0x2361023280912> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationObject instance at 0x2361023281040> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationObject instance at 0x2361023281168> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationObject instance at 0x2361023281296> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationCommentObject instance at 0x2361023281424> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationCommentObject instance at 0x2361023281552> None
<win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationCommentObject instance at 0x2361023281680> None
Соответственно, текст получить не удается, т.к. добавление строки iSpecificationColumn = iSpecificationColumns.Column(3, 1, 0)
выдает ошибку:
Traceback (most recent call last):
  File "C:\Users\Сергей\Desktop\Чтение из спецификации.cdm", line 48, in <module>
    iSpecificationColumn = iSpecificationColumns.Column(3, 1, 0)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'Column'

Причем, если объект спецификации базовый, то проблем не возникает.

Есть ли способ получить текст вспомогательных объектов из спецификации через API7?

Тестируемая спецификация:
23-400.00.000 - Детали автоматической линии подготовки проб.spw