Интерфейсы ItModelPart и ItModelAssembly

Интерфейсы ItModelPart и ItModelAssembly имеют одинаковый набор методов, поэтому их можно считать идентичными с точностью до интерпретации. Назначение свойств компонентов, визуальных свойств и технических требований реализуется посредством методов базового класса ItModelInstanceProperties.

Метод PureFileName() вызывается при экспорте и возвращает строку, смысл которой – имя файла компонента.

Методы для работы с собственными объектами:

void GetItems( std::vector< SPtr<MbItem> > & items,
               MbeGettingItemType            itemType,
               bool                          includeInvisible );

void AddItems( const std::vector< SPtr<MbItem> > & items );

GetItems();

AddItems();

Метод GetItems() предназначен для выдачи элементов в контейнер с использованием фильтров типа и видимости, которые формируются на основе значений, возвращаемых методом IConvertorProperty3D:: GetIoPermission().

Метод AddItems() используется при импорте и предназначен для добавления элементов в компонент.

Методы для работы со вставками:

SPtr<ItModelInstance> PrepareInstance();

SPtr<ItModelInstance> NextInstance( bool includeInvisible );

PrepareInstance();

NextInstance();

Метод PrepareInstance() предназначен для осуществления вставки компонента при импорте.

Метод NextInstance() представляет собой итератор вставок при экспорте. Предполагается, что итератор готов к выдаче вставок с начала. Признаком окончания является возврат нулевого указателя. Значение фильтра видимости в процессе обхода соответствует результату вызова метода IConvertorProperty3D:: GetIoPermission( iop_wInvisible ).

Метод GetAnnotationItems( eTextForm textForm ) является устаревшим.

Методы для импорта через плагины:

  • Метод

virtual void ItModelPart::AddMappedItem( MbItem &                  item,
                                         MbPlacement3D const &     placement,
                                         c3d::AttrSPtrVector const & attributes );

позволяет добавить объект с заданной локальной системой координат в корень сборки при импорте. Метод актуален только для формата IFC (cм. параграф Импорт IFC).

Аргументы:

item – объект, добавляемый в модель.

placement – локальная система координат.

  • Метод

virtual SPtr<MbInstance> ItModelPart::NextMappedItem() const;

возвращает объект с заданной локальной системой координат или nullptr. Метод актуален только для формата IFC (cм. параграф Импорт IFC).

  • Метод

virtual void ItModelPart::AddAxesGrid( c3d::ItemSPtr const & );

позволяет добавить группу конструкционных осей. Метод актуален только для формата IFC (cм. параграф Импорт IFC).

  • Метод

virtual c3d::ItemSPtr ItModelPart::NextAxesGrid() const;

возвращает очередную группу конструкционных осей или нуль в случае исчерпания. Метод актуален только для формата IFC (cм. параграф Импорт IFC).

  • Метод

virtual c3d::ItemSPtr NextSpatialAxis() const { return c3d::ItemSPtr{}; }

возвращает очередную пространственную ось или нуль в случае исчерпания.

  • Метод

virtual void AddSpatialAxis( c3d::ItemSPtr const & );

позволяет добавить очередную пространственную ось.

  • Метод

virtual c3d::ItemSPtr ItModelPart::NextBoundaryItem();

возвращает следующий объект, ограничивающий площадь или объем. Метод актуален только для формата IFC (cм. параграф Импорт IFC).

  • Метод

virtual SPtr<MbAssistingItem> ItModelPart::NextCoordinateSystem();

возвращает очередную систему координат или нуль в случае исчерпания. Включение и выключение метода при импорте и экспорте возможно с помощью фильтрации SetIoPermission( iop_rCS / iop_wCS ).

Методы для работы с модельным документом и сборками:

virtual void ItModelPart::AddBoundaryItem( c3d::ItemSPtr const &);

добавляет объект, ограничивающий площадь или объем.

virtual void ItModelPart::AddCoordinateSystem( SPtr<MbAssistingItem> const &);

позволяет добавить систему координат. Включение и выключение метода при импорте и экспорте возможно с помощью фильтрации SetIoPermission( iop_rCS / iop_wCS ).

Интерфейсы ItModelPart и ItModelAssembly объявлены в файле conv_model_document.h.