Импорт геометрии в CAM
Эта глава описывает ядро Дополнения — перенос геометрии модели из CAD-системы в CAM-систему. Геометрия, доступная через API CAD-системы, преобразуется в файл внутреннего формата CAM-системы, который та затем загружает.
Базовый формат такого переноса — SGF (Structured Geometry File). Он хранит топологию (грани, рёбра, вершины) и геометрию (поверхности, кривые, точки) в виде иерархии связанных сущностей.
Сам файл строит библиотека STGeomFile.dll: она поставляется вместе с CAM-системой и предоставляет API для пошагового создания тел — сначала описываются примитивы геометрии (поверхности, кривые), затем поверх них строится топология (грани и рёбра), и в конце результат сохраняется в файл.
Глава построена по принципу «сначала — что импортируем, затем — как». Сперва вводится абстрактная структура CAD-модели — иерархия объектов (CADDocument, CADPart, CADBody, …), которую мы в последующих примерах будем переносить в SGF. Затем — два интерфейса импорта (ISTGeomFiler и ISTGeomReceiver), как подключить библиотеку, чтобы их получить, как сформировать сам файл и базовые структуры данных SGF — типы, на которых написаны все сигнатуры. После этого — работа со сборками: обход дерева компонентов и их размещение, и работа с деталью: сохранение её тел. Далее — импорт геометрии по типам: кривые и точки, грани, поверхности; PMI-аннотации; устаревшие и неиспользуемые методы.
Язык примеров. Все примеры кода в этой главе приведены на C# — для единообразия и наглядности. Само API к языку не привязано: доступ к нему возможен из любого языка с поддержкой COM (
ISTGeomFiler/ISTGeomReceiver).