Создание Дополнения 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
      • Устаревшие и неиспользуемые методы

    IPMIGeomThread

    Описывает объект резьбы (thread) для PMI. Экземпляр возвращается методом ISTGeomReceiver.BeginObject_PMIThread (см. PMI (Product Manufacturing Information)); после заполнения объект записывается в SGF через EndObject.

    Каждое свойство доступно через пару методов Get<Имя> / Set<Имя> (например, GetPitch / SetPitch).

    Резьба (PMI): параметры объекта

    Свойство Тип Назначение
    Designation string Обозначение резьбы.
    LCS TST3DMatrix Локальная система координат резьбы.
    TopHeight STFloat Верхняя граница (высота).
    BottomHeight STFloat Нижняя граница.
    Pitch STFloat Шаг резьбы.
    StartCount integer Число заходов.
    DiameterMin STFloat Минимальный диаметр.
    DiameterMax STFloat Максимальный диаметр.
    ConeAngle STFloat Угол конуса (для конической резьбы).
    DirectionIsLeft boolean Левая резьба.
    IsOuterThread boolean Наружная резьба.

    Ассоциативные ссылки на геометрию (необязательные). Резьба может ссылаться на исходную геометрию модели, по которой она построена, — по спискам строковых CAD-идентификаторов. Эти ссылки необязательны: резьба корректно сохраняется и без них; они лишь задают ассоциативную связь с геометрией.

    Метод Описание
    AddBaseObjectCADID(Value: string) (необязательно) Ассоциативная ссылка на базовый объект — несущую поверхность, по которой создана резьба.
    AddInitialBorderCADID(Value: string) (необязательно) Ассоциативная ссылка на геометрию начальной границы резьбы.
    AddFinalBorderCADID(Value: string) (необязательно) Ассоциативная ссылка на геометрию конечной границы резьбы.

    Порядок заполнения. Объект резьбы создаётся вызовом BeginObject_PMIThread (он возвращает интерфейс IPMIGeomThread), заполняется сеттерами параметров и записывается в SGF вызовом EndObject. Положение резьбы задаёт локальная система координат LCS (TST3DMatrix), а её протяжённость вдоль оси — TopHeight / BottomHeight. Ассоциативные ссылки на исходную геометрию (AddBaseObjectCADID, AddInitialBorderCADID, AddFinalBorderCADID) необязательны — их можно не задавать.

    Пример сохранения резьбы (PMI).

    // Сохранить резьбу (PMI) по данным CAD-системы
    bool SaveThread(CADThread thread)
    {
        // открыть объект резьбы и получить интерфейс для заполнения
        IPMIGeomThread pmi = sgr.BeginObject_PMIThread(thread.Id);
        if (pmi == null)
            return false;
    
        // параметры резьбы
        pmi.SetDesignation(thread.Designation);     // обозначение, напр. "M12x1.5"
        pmi.SetPitch(thread.Pitch);                 // шаг
        pmi.SetStartCount(thread.StartCount);       // число заходов
        pmi.SetDiameterMax(thread.OuterDiameter);   // наружный диаметр
        pmi.SetDiameterMin(thread.InnerDiameter);   // внутренний диаметр
        pmi.SetConeAngle(thread.ConeAngle);         // угол конуса (0 для цилиндрической)
        pmi.SetDirectionIsLeft(thread.IsLeft);      // левая резьба
        pmi.SetIsOuterThread(thread.IsOuter);       // наружная резьба
    
        // положение и протяжённость
        pmi.SetLCS(ToMatrix(thread.Placement));     // локальная система координат → TST3DMatrix
        pmi.SetTopHeight(thread.TopHeight);
        pmi.SetBottomHeight(thread.BottomHeight);
    
        // необязательные ассоциативные ссылки на исходную геометрию — только если они заданы
        if (thread.BaseSurfaceId != null) pmi.AddBaseObjectCADID(thread.BaseSurfaceId);     // несущая поверхность
        if (thread.StartBorderId != null) pmi.AddInitialBorderCADID(thread.StartBorderId);  // начальная граница
        if (thread.EndBorderId   != null) pmi.AddFinalBorderCADID(thread.EndBorderId);      // конечная граница
    
        // записать заполненный объект в SGF
        return sgr.EndObject(pmi);
    }
    
    In this article
    Back to top Generated by DocFX