Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/kstessellation.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

18 KiB

title, type, api, tags, sources
title type api tags sources
Триангуляция (аппроксимирующая поверхность грани), Интерфейсы ksTessellation, ITessellation interface
api7
interface
api7
kstessellation
kstessellation.html

*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Математическая поверхность в трехмерном пространстве  > Интерфейсы ksSurface, ISurface *

Триангуляция (аппроксимирующая поверхность грани), Интерфейсы ksTessellation, ITessellation

Интерфейс триангуляции (аппроксимирующей поверхности грани).

ksTessellation - интерфейс Automation
ITessellation - интерфейс COM
Описание:
Существуют два вида триангуляции:
•обычная, которая рассчитывается для отображения;
•для производства прочностных расчетов.
По умолчанию выдается обычная триангуляция - рассчитанная аппроксимирующая поверхность для отображения. Если необходима триангуляция для расчетов, то следует указать ограничение размера ребра триангуляционной пластины.
  1. Триангуляционная сетка может быть построена с учетом нескольких параметров: •Установить ограничение размера ребра для триангуляциооной пластины ksTessellation::SetFacetSize. •Установить ограничение прогиба поверхности триангуляциооной пластины ksTessellation::SetFacetSag. •Установить ограничение углового отклонения поверхности ksTessellation::SetFacetAngle. Если ни один из параметров не задан (равны 0), возвращаются параметры рассчитанной в модели сетки.
  2. В Компас при расчете триангуляции ограничение размера ребра рассчитывается в зависимости от габаритов модели. Получить значение рассчитанной величины ограничения размера ребра можно с помощью функции IPart7::GetMaxSag. Для расчетов рекомендуемое значение шага ребра составляет до 2% от максимального значения габарита. Для визуализации должно быть задано расстояние от аппроксимирующей хорды до кривой. Это значение должно составлять 0,04% от максимального габарита детали. Примечание: Данный интерфейс можно получить от следующих интерфейсов: •Интерфейс свойств грани ksFaceDefinition или ksFaceDefinition. •Интерфейс математической поверхности в трехмерном пространстве ksSurface или ISurface. Триангуляционная пластина (Интерфейсы ksFacet, IFacet)

GetFacet - Получить интерфейс триангуляционной пластины

Синтаксис Automation:

LPDISPATCH GetFacet();

Синтаксис COM:

LPFACET GetFacet();
Возвращаемое значение:
- указатель на интерфейс ksFacet или IFacet.

GetFacetAngle - Получить ограничение углового отклонения поверхности

Синтаксис Automation:

double GetFacetAngle();

Синтаксис COM:

double GetFacetAngle();

GetFacetData - Получить данные триангуляционной пластины по индексу в массиве триангуляционных пластин

Синтаксис Automation:

BOOL GetFacetData (long index, LPDISPATCH facet);

Синтаксис COM:

BOOL GetFacetData (int index, LPFACET facet);
Входные параметры:
index    - индекс триангуляционной пластины в массиве,
facet    - указатель на интерфейс ksFacet или IFacet.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.

Примечание: Указатель на интерфейс триангуляционной пластины не должен быть равен 0.

GetFacetNormals - Получить параметры нормалей вершин триангуляционной сетки

Синтаксис Automation:

BOOL GetFacetNormals (VARIANT * normals);

Синтаксис COM:

BOOL GetFacetNormals (VARIANT * normals);
Выходные параметры:
normals    - массив SafeArray вещественных чисел - нормалей вершин триангуляционной сетки.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.

Примечание:

  1. В массиве нормалей вершин триангуляционной сетки координаты нормалей лежат в последовательности x, y, z нормаль для первой точки, x, y, z нормаль второй точки и т.д.
  2. Функция используется совместно с GetFacetPoints.

GetFacetParams - Получить параметрические координаты вершин триангуляционных сетки

Синтаксис Automation:

BOOL GetFacetParams( VARIANT * params );

Синтаксис COM:

BOOL GetFacetParams( VARIANT * params );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Выходной параметр:
params    - SafeArray - массив вещественных чисел - параметрических координат вершин триангуляционных сетки. Для формирование параметрических координат триангуляционной сетки требуется установить признак ksTessellation::SetNeedParams.

Примечание: В массиве параметрические координаты вершин лежат в последовательности: u, v для первой точки, u, v второй точки и т.д.

GetFacetPoints - Получить параметры вершин триангуляционной сетки

Синтаксис Automation:

BOOL GetFacetPoints (VARIANT * points, VARIANT * indexes);

Синтаксис COM:

BOOL GetFacetPoints (VARIANT * points, VARIANT * indexes);
Выходные параметры:
points    - массив SafeArray вещественных чисел - координат вершин триангуляционной сетки,
indexes    - массив SafeArray целых чисел - индексов вершин триангуляционной сетки.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.

Примечание:

  1. В массиве индексов вершин триангуляционной сетки хранятся индексы точек из массива координат точек points. Для получения параметров вершины триангуляционной сетки нужно получить индекс точки из массива indexes.
  2. Координаты точек в массиве points лежат в последовательности x, y, z первой точки, x, y, z второй точки и т.д.

GetFacetSag - Получить ограничение прогиба поверхности триангуляционной пластины

Синтаксис Automation:

double GetFacetSag();

Синтаксис COM:

double GetFacetSag();

GetFacetsCount - Получить количество триангуляционных пластин

Синтаксис Automation:

long GetFacetsCount();

Синтаксис COM:

long GetFacetsCount();
Возвращаемое значение:
Количество триангуляционных пластин    - в случае успеха,
-1    - в случае неудачи.

GetFacetSize - Получить ограничение размера ребра для триангуляционной пластины

Синтаксис Automation:

double GetFacetSize();

Синтаксис COM:

double GetFacetSize();
Возвращаемое значение:
- ограничение размера ребра для триангуляционной пластины.

GetNeedParams - Получить признак необходимости заполнения параметров вершин

Синтаксис Automation:

BOOL GetNeedParams();

Синтаксис COM:

BOOL GetNeedParams();

GetNormal - Получить координаты нормали триангуляционной сетки

Синтаксис Automation:

BOOL GetNormal (long index, double * x, double * y, double * z);

Синтаксис COM:

BOOL GetNormal (int index, float * x, float * y, float * z);
Входные параметры:
index    - индекс вершины в пластине.
Выходные параметры:
x, y, z    - координаты нормали.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.

GetPoint - Получить координаты вершины триангуляционной сетки

Синтаксис Automation:

BOOL GetPoint (long index, double * x, double * y, double * z);

Синтаксис COM:

BOOL GetPoint (int index, float * x, float * y, float * z);
Входные параметры:
index    - индекс вершины в массиве вершин.
Выходные параметры:
x, y, z    - координаты вершины.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.

GetPointsCount - Получить указатель на интерфейс последнего объекта в массиве

Синтаксис Automation:

long GetPointsCount();

Синтаксис COM:

long GetPointsCount();
Возвращаемое значение:
Количество вершин триангуляционной сетки    - в случае успеха,
-1    - в случае неудачи.

Refresh - Обновить триангуляцию если изменилась геометрия

Синтаксис Automation:

BOOL Refresh();

Синтаксис COM:

BOOL Refresh();
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.

SetFacetAngle - Задать ограничение углового отклонения триангуляционной пластины

Синтаксис Automation:

BOOL SetFacetAngle( double angle );

Синтаксис COM:

BOOL SetFacetAngle( double angle );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Выходной параметр:
angle    - величина углового отклонения.

Примечание:

  1. Триангуляционная сетка может быть построена с учетом нескольких параметров: •Установить ограничение размера ребра для триангуляциооной пластины ksTessellation::SetFacetSize. •Установить ограничение прогиба поверхности триангуляциооной пластины ksTessellation::SetFacetSag. •Установить ограничение углового отклонения поверхности ksTessellation::SetFacetAngle. Если ни один из параметров не задан (равны 0), возвращаются параметры рассчитанной в модели сетки.
  2. В Компас при расчете триангуляции ограничение размера ребра рассчитывается в зависимости от габаритов модели. Получить значение рассчитанной величины ограничения размера ребра можно с помощью метода IPart7::GetMaxSag.

SetFacetSag - Задать ограничение прогиба поверхности триангуляционной пластины ( Если 0, обычная триангуляция)

Синтаксис Automation:

BOOL SetFacetSag( double sag );

Синтаксис COM:

BOOL SetFacetSag( double sag );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Выходной параметр:
sag    - величина максимально допустимого прогиба на расстоянии шага.

Примечание:

  1. Триангуляционная сетка может быть построена с учетом нескольких параметров: •Установить ограничение размера ребра для триангуляционной пластины ksTessellation::SetFacetSize. •Установить ограничение прогиба поверхности триангуляционной пластины ksTessellation::SetFacetSag. •Установить ограничение углового отклонения поверхности ksTessellation::SetFacetAngle. Если ни один из параметров не задан (равны 0), возвращаются параметры рассчитанной в модели сетки.
  2. В Компас при расчете триангуляции ограничение размера ребра рассчитывается в зависимости от габаритов модели. Получить значение рассчитанной величины ограничения размера ребра можно с помощью метода IPart7::GetMaxSag.

SetFacetSize - Изменить ограничение размера ребра для триангуляционной пластины

Синтаксис Automation:

BOOL SetFacetSize (double sag);

Синтаксис COM:

BOOL SetFacetSize (double sag);
Входные параметры:
sag    0    - обычная триангуляция (для отображения),
sag    >0    - триангуляция для прочностных расчетов.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.

Примечание:

  1. Триангуляционная сетка может быть построена с учетом нескольких параметров: •Установить ограничение размера ребра для триангуляционной пластины ksTessellation::SetFacetSize. •Установить ограничение прогиба поверхности триангуляционной пластины ksTessellation::SetFacetSag. •Установить ограничение углового отклонения поверхности ksTessellation::SetFacetAngle. Если ни один из параметров не задан (равны 0), возвращаются параметры рассчитанной в модели сетки.
  2. В Компас при расчете триангуляции ограничение размера ребра рассчитывается в зависимости от габаритов модели. Получить значение рассчитанной величины ограничения размера ребра можно с помощью метода IPart7::GetMaxSag.
  3. Рекомендуемое значение шага ребра для расчетов - до 2% от максимального значения габарита.

SetNeedParams - Задать необходимость заполнения параметров вершин

Синтаксис Automation:

BOOL SetNeedParams( BOOL need );

Синтаксис COM:

BOOL SetNeedParams( BOOL need );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.