.. role:: blue :class: blue Интерфейсы ItModelPart и ItModelAssembly ======================================== .. _ItModelPart_and_ItModelAssembly_Components: Интерфейсы :blue:`ItModelPart` и :blue:`ItModelAssembly` имеют одинаковый набор методов, поэтому их можно считать идентичными с точностью до интерпретации. Назначение свойств компонентов, визуальных свойств и технических требований реализуется посредством методов базового класса :blue:`ItModelInstanceProperties`. Метод :blue:`PureFileName`\() вызывается при экспорте и возвращает строку, смысл которой -- имя файла компонента. **Методы для работы с собственными объектами**: .. code-block:: cpp void GetItems( std::vector< SPtr > & items, MbeGettingItemType itemType, bool includeInvisible ); void AddItems( const std::vector< SPtr > & items ); GetItems(); AddItems(); Метод :blue:`GetItems`\() предназначен для выдачи элементов в контейнер с использованием фильтров типа и видимости, которые формируются на основе значений, возвращаемых методом IConvertorProperty3D:: :blue:`GetIoPermission`\(). Метод :blue:`AddItems`\() используется при импорте и предназначен для добавления элементов в компонент. **Методы для работы со вставками**: .. code-block:: cpp SPtr PrepareInstance(); SPtr NextInstance( bool includeInvisible ); PrepareInstance(); NextInstance(); Метод :blue:`PrepareInstance`\() предназначен для осуществления вставки компонента при импорте. Метод :blue:`NextInstance`\() представляет собой итератор вставок при экспорте. Предполагается, что итератор готов к выдаче вставок с начала. Признаком окончания является возврат нулевого указателя. Значение фильтра видимости в процессе обхода соответствует результату вызова метода IConvertorProperty3D:: :blue:`GetIoPermission`\( iop_wInvisible ). Метод :blue:`GetAnnotationItems`\( eTextForm **textForm** ) является устаревшим. **Методы для импорта через плагины**: - Метод .. code-block:: cpp virtual void ItModelPart::AddMappedItem( MbItem & item, MbPlacement3D const & placement, c3d::AttrSPtrVector const & attributes ); позволяет добавить объект с заданной локальной системой координат в корень сборки при импорте. Метод актуален только для формата IFC (cм. параграф :ref:`Импорт IFC `). Аргументы: **item** -- объект, добавляемый в модель. **placement** -- локальная система координат. - Метод .. code-block:: cpp virtual SPtr ItModelPart::NextMappedItem() const; возвращает объект с заданной локальной системой координат или nullptr. Метод актуален только для формата IFC (cм. параграф :ref:`Импорт IFC `). - Метод .. code-block:: cpp virtual void ItModelPart::AddAxesGrid( c3d::ItemSPtr const & ); позволяет добавить группу конструкционных осей. Метод актуален только для формата IFC (cм. параграф :ref:`Импорт IFC `). - Метод .. code-block:: cpp virtual c3d::ItemSPtr ItModelPart::NextAxesGrid() const; возвращает очередную группу конструкционных осей или нуль в случае исчерпания. Метод актуален только для формата IFC (cм. параграф :ref:`Импорт IFC `). - Метод .. code-block:: cpp virtual c3d::ItemSPtr NextSpatialAxis() const { return c3d::ItemSPtr{}; } возвращает очередную пространственную ось или нуль в случае исчерпания. - Метод .. code-block:: cpp virtual void AddSpatialAxis( c3d::ItemSPtr const & ); позволяет добавить очередную пространственную ось. - Метод .. code-block:: cpp virtual c3d::ItemSPtr ItModelPart::NextBoundaryItem(); возвращает следующий объект, ограничивающий площадь или объем. Метод актуален только для формата IFC (cм. параграф :ref:`Импорт IFC `). - Метод .. code-block:: cpp virtual SPtr ItModelPart::NextCoordinateSystem(); возвращает очередную систему координат или нуль в случае исчерпания. Включение и выключение метода при импорте и экспорте возможно с помощью фильтрации :blue:`SetIoPermission`\( iop_rCS / iop_wCS ). **Методы для работы с модельным документом и сборками**: .. code-block:: cpp virtual void ItModelPart::AddBoundaryItem( c3d::ItemSPtr const &); добавляет объект, ограничивающий площадь или объем. .. code-block:: cpp virtual void ItModelPart::AddCoordinateSystem( SPtr const &); позволяет добавить систему координат. Включение и выключение метода при импорте и экспорте возможно с помощью фильтрации :blue:`SetIoPermission`\( iop_rCS / iop_wCS ). Интерфейсы :blue:`ItModelPart` и :blue:`ItModelAssembly` объявлены в файле *conv_model_document.h*.