Создание Дополнения CAM-системы
  • Создание Дополнения CAM-системы
Search Results for

    Show / Hide Table of Contents
    • Creating a CAM-system Add-in
    • Введение
      • Глоссарий
      • Требования
    • Устройство Панели инструментов
      • Описание компонентов
        • Мастер дополнений
        • Файлы дистрибуции
        • Транслятор
        • Файл XML дополнения
        • Файл CAMInfo.ini
        • Утилита CheckLockToolbar
        • Панель инструментов
      • Сценарии взаимодействия
        • Установка Дополнения
        • Удаление Дополнения
        • Импорт из CAD-системы в CAM-систему
        • Импорт CAD-файла в CAM-систему
    • Импорт геометрии в CAM
      • Структура CAD-модели
      • Интерфейсы импорта
      • Подключение STGeomFile.dll
      • Формирование файла SGF
      • Структуры данных SGF
      • Работа со сборкой
      • Работа с деталью
      • Кривые и точки
        • Точка и аналитические кривые
          • 3D-точка
          • Система координат
          • Отрезок
          • Окружность
          • Дуга окружности
          • Эллипс
          • Дуга эллипса
          • Коническая спираль
          • NURBS-кривая
          • Составная кривая
        • Производные кривые
          • Кривая на поверхности
          • Обрезанная кривая
          • Инвертированная кривая
          • Кривая пересечения
          • Граница скругления
        • Параметризация кривых
      • Грань (обрезанная поверхность)
      • Поверхности
        • Аналитические поверхности
          • Плоскость
          • Цилиндр
          • Конус
          • Сфера
          • Тор
          • NURBS-поверхность
          • Полигональная сетка
        • Производные поверхности
          • Поверхность вращения
          • Поверхность выдавливания
          • Транспонированная UV-поверхность
          • Поверхность скругления
          • Эквидистантная поверхность
        • Параметризация поверхностей
      • PMI (Product Manufacturing Information)
        • IPMIGeomThread
      • Устаревшие и неиспользуемые методы

    Структура CAD-модели

    Это условная (вымышленная) структура. Классы CADxxx, описанные ниже, — не часть API CAM-системы и не относятся к какой-либо конкретной CAD-системе. Это упрощённая модель данных «гипотетической» CAD, введённая лишь для того, чтобы в примерах кода было видно, откуда берутся исходные данные и как они отображаются на вызовы SGF. В реальном Дополнении на её месте будут типы вашей CAD-системы (или её API), а логика преобразования останется той же.

    CAD-модель — это иерархия связанных объектов: от документа в целом до отдельных точек. Импорт в SGF, по сути, и есть обход этой иерархии с трансляцией каждого объекта в соответствующий вызов ISTGeomReceiver.

    Структура CAD-модели

    Сущности модели (сверху вниз — от сборочного уровня к геометрическим примитивам):

    Сущность Что это Импортируется через
    CADDocument Корень модели — весь CAD-документ. Флаг IsDetail определяет содержимое: деталь (CADPart) либо сборка (CADAssembly). дерево модели
    CADAssembly Сборка: дерево компонентов. Для каждого компонента флаг IsDetail выбирает деталь (CADPart) или вложенную сборку (CADAssembly); положение задаётся матрицей (CADMatrix). Blocks / инстансы
    CADMatrix Матрица размещения: положение и ориентация компонента сборки в системе координат родителя. матрица размещения
    CADPart Деталь: одно или несколько тел плюс атрибуты (имя, цвет). детали и тела
    CADBody Тело: оболочка из граней, описывающая топологию (грани, рёбра, вершины). ComboSolid
    CADFace Грань: участок несущей поверхности, ограниченный контурами. обрезанная поверхность
    CADSurface Несущая поверхность грани: плоскость, цилиндр, конус, сфера, тор, NURBS, сетка и др. поверхности
    CADLoop Контур грани — замкнутая последовательность рёбер. Внешний контур задаёт границу, внутренние — отверстия. петли грани
    CADEdge Ребро: участок несущей кривой (CADCurve) между двумя вершинами (CADVertex). обрезанная кривая / ребро
    CADVertex Вершина — концевая точка ребра; её положение задаётся точкой (CADPoint). тело (ComboSolid)
    CADCurve Несущая кривая ребра: отрезок, дуга, эллипс, NURBS, кривая пересечения и др. кривые
    CADPoint Точка в 3D (координаты X/Y/Z) — базовый примитив: положение вершин (CADVertex), контрольные и опорные точки кривых и поверхностей. как параметр прочих вызовов

    Связи между сущностями:

    • CADDocument → CADPart | CADAssembly — по флагу IsDetail: документ — это либо одна деталь, либо сборка;
    • CADAssembly → CADPart | CADAssembly — по флагу IsDetail компонент сборки — деталь либо вложенная сборка (отсюда рекурсия дерева);
    • CADAssembly → CADMatrix — сборка хранит матрицу размещения компонента;
    • CADPart → CADBody — деталь состоит из тел;
    • CADBody → CADFace — тело ограничено набором граней;
    • CADFace → CADSurface (1) + CADLoop (1..*) — у грани одна несущая поверхность и один или несколько контуров;
    • CADLoop → CADEdge — контур состоит из рёбер;
    • CADEdge → CADCurve (1) + CADVertex (2) — ребро опирается на одну несущую кривую и ограничено двумя вершинами;
    • CADVertex → CADPoint — вершина задаётся точкой-положением;
    • CADCurve / CADSurface → CADPoint — точки служат контрольными (для NURBS) и опорными.

    В последующих главах примеры оформлены как методы SaveXxx, которые получают такой CADxxx-объект и транслируют его в SGF.

    In this article
    Back to top Generated by DocFX