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

    Полигональная сетка

    Полигональная сетка формируется множеством треугольников, каждый из которых состоит из трёх вершин.

    StartMesh(ID: string) — начать формирование сетки.

    • ID — идентификатор сущности.

    AddMeshVertex(index: integer; p: TST3DPoint) — добавить вершину.

    • index — индекс вершины (используется в AddMeshTriangle);
    • p — координаты вершины.

    AddMeshTriangle(v1, v2, v3: integer) — добавить треугольник.

    • v1, v2, v3 — индексы трёх вершин.

    CloseMesh() — завершить формирование сетки.

    Полигональная сетка

    Пример импорта полигональной сетки. Каждая вершина добавляется один раз — по своему индексу (повторные индексы из разных треугольников пропускаются), затем по этим индексам добавляются треугольники.

    // Параметры полигональной сетки CAD-системы
    class CADMeshParam
    {
        public CADPoint[] Vertices;  // вершины (индекс = позиция в массиве)
        public int[][]    Triangles; // треугольники: тройки индексов вершин
    }
    
    bool SaveMesh(string id, CADMeshParam meshParam)
    {
        sgr.StartMesh(id);
        try
        {
            var added = new HashSet<int>();
            foreach (int[] tri in meshParam.Triangles)
            {
                // каждую вершину добавляем один раз — по её индексу (приводим к TST3DPoint)
                foreach (int vIndex in tri)
                    if (added.Add(vIndex))   // вершину приводим к TST3DPoint
                        sgr.AddMeshVertex(vIndex, ToPoint(meshParam.Vertices[vIndex]));
    
                sgr.AddMeshTriangle(tri[0], tri[1], tri[2]);
            }
        }
        finally
        {
            sgr.CloseMesh();
        }
        return true;
    }
    
    In this article
    Back to top Generated by DocFX