Интерфейсы 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.