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>
18 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Триангуляция (аппроксимирующая поверхность грани), Интерфейсы ksTessellation, ITessellation | interface |
|
|
|
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D ) > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart > Математическая поверхность в трехмерном пространстве > Интерфейсы ksSurface, ISurface *
Триангуляция (аппроксимирующая поверхность грани), Интерфейсы ksTessellation, ITessellation
Интерфейс триангуляции (аппроксимирующей поверхности грани).
| ksTessellation | - интерфейс Automation |
|---|---|
| ITessellation | - интерфейс COM |
| Описание: | |
| Существуют два вида триангуляции: | |
| •обычная, которая рассчитывается для отображения; | |
| •для производства прочностных расчетов. | |
| По умолчанию выдается обычная триангуляция - рассчитанная аппроксимирующая поверхность для отображения. Если необходима триангуляция для расчетов, то следует указать ограничение размера ребра триангуляционной пластины. |
- Триангуляционная сетка может быть построена с учетом нескольких параметров: •Установить ограничение размера ребра для триангуляциооной пластины ksTessellation::SetFacetSize. •Установить ограничение прогиба поверхности триангуляциооной пластины ksTessellation::SetFacetSag. •Установить ограничение углового отклонения поверхности ksTessellation::SetFacetAngle. Если ни один из параметров не задан (равны 0), возвращаются параметры рассчитанной в модели сетки.
- В Компас при расчете триангуляции ограничение размера ребра рассчитывается в зависимости от габаритов модели. Получить значение рассчитанной величины ограничения размера ребра можно с помощью функции 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 - в случае неудачи.
Примечание:
- В массиве нормалей вершин триангуляционной сетки координаты нормалей лежат в последовательности x, y, z нормаль для первой точки, x, y, z нормаль второй точки и т.д.
- Функция используется совместно с 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 - в случае неудачи.
Примечание:
- В массиве индексов вершин триангуляционной сетки хранятся индексы точек из массива координат точек points. Для получения параметров вершины триангуляционной сетки нужно получить индекс точки из массива indexes.
- Координаты точек в массиве 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 - величина углового отклонения.
Примечание:
- Триангуляционная сетка может быть построена с учетом нескольких параметров: •Установить ограничение размера ребра для триангуляциооной пластины ksTessellation::SetFacetSize. •Установить ограничение прогиба поверхности триангуляциооной пластины ksTessellation::SetFacetSag. •Установить ограничение углового отклонения поверхности ksTessellation::SetFacetAngle. Если ни один из параметров не задан (равны 0), возвращаются параметры рассчитанной в модели сетки.
- В Компас при расчете триангуляции ограничение размера ребра рассчитывается в зависимости от габаритов модели. Получить значение рассчитанной величины ограничения размера ребра можно с помощью метода IPart7::GetMaxSag.
SetFacetSag - Задать ограничение прогиба поверхности триангуляционной пластины ( Если 0, обычная триангуляция)
Синтаксис Automation:
BOOL SetFacetSag( double sag );
Синтаксис COM:
BOOL SetFacetSag( double sag );
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Выходной параметр:
sag - величина максимально допустимого прогиба на расстоянии шага.
Примечание:
- Триангуляционная сетка может быть построена с учетом нескольких параметров: •Установить ограничение размера ребра для триангуляционной пластины ksTessellation::SetFacetSize. •Установить ограничение прогиба поверхности триангуляционной пластины ksTessellation::SetFacetSag. •Установить ограничение углового отклонения поверхности ksTessellation::SetFacetAngle. Если ни один из параметров не задан (равны 0), возвращаются параметры рассчитанной в модели сетки.
- В Компас при расчете триангуляции ограничение размера ребра рассчитывается в зависимости от габаритов модели. Получить значение рассчитанной величины ограничения размера ребра можно с помощью метода IPart7::GetMaxSag.
SetFacetSize - Изменить ограничение размера ребра для триангуляционной пластины
Синтаксис Automation:
BOOL SetFacetSize (double sag);
Синтаксис COM:
BOOL SetFacetSize (double sag);
Входные параметры:
sag 0 - обычная триангуляция (для отображения),
sag >0 - триангуляция для прочностных расчетов.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Примечание:
- Триангуляционная сетка может быть построена с учетом нескольких параметров: •Установить ограничение размера ребра для триангуляционной пластины ksTessellation::SetFacetSize. •Установить ограничение прогиба поверхности триангуляционной пластины ksTessellation::SetFacetSag. •Установить ограничение углового отклонения поверхности ksTessellation::SetFacetAngle. Если ни один из параметров не задан (равны 0), возвращаются параметры рассчитанной в модели сетки.
- В Компас при расчете триангуляции ограничение размера ребра рассчитывается в зависимости от габаритов модели. Получить значение рассчитанной величины ограничения размера ребра можно с помощью метода IPart7::GetMaxSag.
- Рекомендуемое значение шага ребра для расчетов - до 2% от максимального значения габарита.
SetNeedParams - Задать необходимость заполнения параметров вершин
Синтаксис Automation:
BOOL SetNeedParams( BOOL need );
Синтаксис COM:
BOOL SetNeedParams( BOOL need );
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.