.. role:: blue :class: blue Принципы работы конвертера ========================== .. _Converter_Operation_Principles: Работа конвертера предполагает использование интерфейсов, которые можно разделить на две группы. В первую входят интерфейсы, которые имеют реализацию на стороне C3D, во вторую — те интерфейсы, которые должны быть реализованы пользователем. Кроме того, геометрическое ядро C3D предоставляет стандартную реализацию всех интерфейсов, необходимых для обмена данными. Интерфейсы соответствуют следующим понятиям: - Конвертер (интерфейс :blue:`IConvertor3D`) — специальный объект, который используется для передачи данных. Реализован на стороне C3D. - Свойства конвертера (интерфейс :blue:`IConvertorProperty3D`) — служат для передачи настроек обмена в конвертер. Интерфейс имеет стандартную реализацию. - Документ (интерфейс :blue:`ItModelDocument`) — объект, которому соответствует передаваемая модель в целом. Интерфейс имеет стандартную реализацию. - Деталь (интерфейс :blue:`ItModelPart`) и сборка (интерфейс :blue:`ItModelAssembly`) — части модели, которые могут быть представлены как детали или как сборочные единицы. - Вставка (интерфейс :blue:`ItModelInstance`) — объект, отвечающий за позиционирование и/или повторное использование компонента в модели. Обобщающим понятием детали и сборки является **компонент**. Предполагается, что **компонент** может быть минимальной единицей, которой может соответствовать отдельный файл, с которым работает конечное приложение. Использование компонентов и вставок позволяет сформировать дерево модели, в котором компоненты могут быть многократно использованы. Внутри конвертера осуществляется преобразование внутренней модели, исходя из специфики формата. Например, у детали может быть зеркальное исполнение, и этому соответствует левая система координат компонента, а в формате STEP левые системы координат не предусмотрены. Также в формате STEP визуальные свойства нельзя назначить на вставку детали и для перекрашенных деталей создаются дубли. Основных критериев преобразования два — левая система координат и визуальные свойства (в каких‑то случаях допустимо назначать визуальные свойства на вставке, например цвет, а в каких‑то — нет). Схема преобразования между моделями данных базируется на двух сущностях: - типы элементов (:ref:`MbAssembly ` или формосодержащие :ref:`MbSolid `, :ref:`MbMesh `, :ref:`MbWireFrame `, :ref:`MbSpaceInstance `, :ref:`MbPlaneInstance `); - атрибуты (в первую очередь :ref:`MbProductInfo `).