e1337e4016
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>
871 lines
35 KiB
Markdown
871 lines
35 KiB
Markdown
---
|
||
title: "Интерфейс IMathSurface3D"
|
||
type: interface
|
||
api: [api7]
|
||
domain: [3d]
|
||
tags: [interface, api7, 3d, imathsurface3d]
|
||
sources:
|
||
- imathsurface3d.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 7 > Документ 3D > Поверхности *
|
||
|
||
|
||
## Интерфейс IMathSurface3D
|
||
|
||
Интерфейс математической поверхности в трехмерном пространстве.
|
||
Иерархия:
|
||
IDispatch
|
||
IKompasAPIObject
|
||
IMathSurface3D
|
||
|
||
|
||
## BaseSurface3DType - Тип базовой поверхности
|
||
|
||
Тип данных: из перечисления ksMathSurface3DTypeEnum
|
||
Синтаксис Automation:
|
||
```
|
||
BaseSurface3DType = Object.BaseSurface3DType Получить свойство (* )
|
||
BaseSurface3DType = Object.GetBaseSurface3DType() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_BaseSurface3DType( &BaseSurface3DType ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## BoundaryCount - Получить количество границ
|
||
|
||
Тип данных: long
|
||
Синтаксис Automation:
|
||
```
|
||
BoundaryCount = Object.BoundaryCount Получить свойство (* )
|
||
BoundaryCount = Object.GetBoundaryCount() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_BoundaryCount( &BoundaryCount ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## ClosedU - Получить замкнутость кривой по U
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
ClosedU = Object.ClosedU Получить свойство (* )
|
||
ClosedU = Object.GetClosedU() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ClosedU( &ClosedU ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## ClosedV - Получить замкнутость кривой по V
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
ClosedV= Object.ClosedV Получить свойство (* )
|
||
ClosedV = Object.GetClosedV() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ClosedV( &ClosedV) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## CurveIntersection - Расчет пересечений c кривой
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL CurveIntersection( IMathCurve3D * Curve, BOOL ExtensionSurface, BOOL ExtensionCurve, VARIANT * Points );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT CurveIntersection( IMathCurve3D * Curve, BOOL ExtensionSurface, BOOL ExtensionCurve, VARIANT * Points, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
Curve - указатель на кривую IMathCurve3D,
|
||
ExtensionSurface - учитывать продолжение поверхности,
|
||
ExtensionCurve - учитывать продолжение кривой.
|
||
Выходные параметры:
|
||
Points - координаты точек пересечений.
|
||
Версия КОМПАС v23
|
||
```
|
||
|
||
|
||
## GetArea - Получить площадь грани (ST_MIX_MM..ST_MIX_M единицы измерения)
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
double GetArea( ksLengthUnitsEnum BitVector );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetArea( ksLengthUnitsEnum BitVector, double * Result ) ;
|
||
Возвращаемое значение:
|
||
- площадь поверхности.
|
||
Входные параметры:
|
||
BitVector - единицы измерения в интервале [ST_MIX_MM..ST_MIX_M].
|
||
```
|
||
|
||
|
||
## GetAreaEx - Получить площадь грани
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
double GetAreaEx( ksLengthUnitsEnum Unit, double AngleTolerance );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetAreaEx( ksLengthUnitsEnum Unit, double AngleTolerance, double * Result );
|
||
Входные параметры:
|
||
Unit - единицы измерения длины из перечисления ksLengthUnitsEnum,
|
||
AngleTolerance - ограничение углового отклонения ( в радианах) при аппроксимации оболочки треугольными пластинами.
|
||
Версия Компас v21
|
||
```
|
||
|
||
|
||
## GetBoundaryUVNurbs - Получить параметры границы поверхности в UV NURBS-представлении
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetBoundaryUVNurbs( BOOL UV, BOOL Closed, long LoopIndex, long EdgeIndex,
|
||
long * Degree, VARIANT * Points, VARIANT * Weights, VARIANT * Knots, double *
|
||
TMin, double * TMax );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetBoundaryUVNurbs( BOOL UV, BOOL Closed, long LoopIndex, long EdgeIndex,
|
||
long * Degree, VARIANT * Points, VARIANT * Weights, VARIANT * Knots, double *
|
||
TMin, double * TMax, BOOL * Result ) ;
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
UV - TRUE - получить параметры границы поверхности в UV- параметрическом представлении исходной поверхности, - FALSE - получить параметры границы поверхности в 3D координатах,
|
||
Closed - TRUE - сомкнуть, если граница разомкнутая, - FALSE - разомкнуть, если граница замкнутая,
|
||
LoopIndex - индекс цикла,
|
||
EdgeIndex - индекс ребра в цикле (совпадает с индексом ребра в коллекции ориентированных ребер).
|
||
Выходные параметры:
|
||
Degree - порядок NURBS (степень полинома + 1), от 3 до 10,
|
||
Points - массив параметров UV или координат вершин - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
|
||
Weights - веса точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
|
||
Knots - узлы точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
|
||
TMin, TMax - минимальный и максимальный параметры.
|
||
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
|
||
```
|
||
Примечание:
|
||
1. Если признак UV равен TRUE, то в массиве points возвращаются параметры UV для Nurbs-представления границы. Параметры в массиве лежат в следующей последовательности:
|
||
u0, v0, u1, v1, ... ui, vi.
|
||
2. Если признак UV равен FALSE, то в массиве points возвращаются координаты вершин Nurbs-представления границы. Координаты точек в полученном массиве лежат в следующей последовательности:
|
||
x0, y0, z0, x1, y1, z1, ...xi, yi, zi.
|
||
3. Если индекс ребра равен -1, формируется Nurbs-представление контура границы.
|
||
4. Если индекс >= 0 то формируется Nurbs-представление ребра, входящего в цикл, параметр unclamped при этом игнорируется.
|
||
|
||
|
||
## GetConeParam - Получить параметры конической поверхности
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetConeParam( double * Height, double * Angle, double * Radius );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetConeParam( double * Height, double * Angle, double * Radius, BOOL * Result ) ;
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Выходные параметры:
|
||
Height - высота,
|
||
Angle - угол (в радианах),
|
||
Radius - радиус.
|
||
Версия КОМПАС v22
|
||
```
|
||
|
||
|
||
## GetDerivativeU - Получить первую производную по U
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetDerivativeU( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDerivativeU( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ) ;
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - первая производная по U.
|
||
```
|
||
|
||
|
||
## GetDerivativeUU - Получить вторую производную по UU
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetDerivativeUU( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDerivativeUU( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - вторая производная по UU.
|
||
```
|
||
|
||
|
||
## GetDerivativeUUU - Получить третью производную по UUU
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetDerivativeUUU( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDerivativeUUU( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - третья производная по UUU.
|
||
```
|
||
|
||
|
||
## GetDerivativeUUV - Получить третью производную по UUV
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetDerivativeUUV( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDerivativeUUV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - третья производная по UUV.
|
||
```
|
||
|
||
|
||
## GetDerivativeUV - Получить вторую производную по UV
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetDerivativeUV( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDerivativeUV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - вторая производная по UV.
|
||
```
|
||
|
||
|
||
## GetDerivativeUVV - Получить третью производнуюпо UVV
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetDerivativeUVV( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDerivativeUVV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - третья производная по UVV.
|
||
```
|
||
|
||
|
||
## GetDerivativeV - Получить вторую производную по V
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetDerivativeV( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDerivativeV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - первая производная по V.
|
||
```
|
||
|
||
|
||
## GetDerivativeVV - Получить вторую производную по VV
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetDerivativeVV( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDerivativeVV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - вторая производная по VV.
|
||
```
|
||
|
||
|
||
## GetDerivativeVVV - Получить третью производнуюпо VVV
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetDerivativeVVV( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDerivativeVVV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - третья производная по VVV.
|
||
```
|
||
|
||
|
||
## GetDistanceToPoint - Функция возвращает расстояние между точкой и проекцией точки на грань
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
double GetDistanceToPoint( double X, double Y, double Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDistanceToPoint( double X, double Y, double Z, double * Result );
|
||
Возвращаемое значение:
|
||
- Расстояние до точки.
|
||
Входные параметры:
|
||
X, Y, Z - координаты точки в пространстве .
|
||
КOMPAS v24
|
||
```
|
||
|
||
|
||
## GetEdgesCount - Получить количество ребер в границе
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
long GetEdgesCount( long LoopIndex );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetEdgesCount( long LoopIndex, long * Result );
|
||
Возвращаемое значение:
|
||
- количество ребер в границе.
|
||
Выходные параметры:
|
||
LoopIndex - индекс границы.
|
||
```
|
||
|
||
|
||
## GetGabarit - Получить габарит
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetGabarit( double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2 );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetGabarit( double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Выходные параметры:
|
||
X1, Y1, Z1, X2, Y2, Z2 - координаты вершин габаритного параллелепипеда.
|
||
```
|
||
Примечание:
|
||
Координаты вершин параллелепипеда возвращаются в системе координат компонента.
|
||
|
||
|
||
## GetMetricLength - Метрическая длина кривой
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
double GetMetricLength( double StartParam, double EndParam );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetMetricLength( double StartParam, double EndParam, double * Result ;
|
||
Возвращаемое значение:
|
||
- длина кривой.
|
||
Входные параметры:
|
||
StartParam - начальное значение параметра T в параметрическом представлении кривой,
|
||
EndParam - конечное значение параметра T в параметрическом представлении кривой.
|
||
```
|
||
|
||
|
||
## GetNormal - Получить нормаль
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetNormal( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetNormal( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - вектор нормали.
|
||
```
|
||
|
||
|
||
## GetNurbsParams - Получить параметры NURBS-представления поверхности
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetNurbsParams( BOOL ClosedV, BOOL ClosedU, long * DegreeV, long * DegreeU, long * NPV, long * NPU, VARIANT * Points, VARIANT * Weights, VARIANT * KnotsV, VARIANT * KnotsU );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetNurbsParams( BOOL ClosedV, BOOL ClosedU, long * DegreeV, long * DegreeU, long * NPV, long * NPU, VARIANT * Points, VARIANT * Weights, VARIANT * KnotsV, VARIANT * KnotsU, BOOL * Result ) ;
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ClosedV -TRUE - получение параметров для замкнутого по V представления, - FALSE - получение параметров для разомкнутого по V представления,
|
||
ClosedU -TRUE - получение параметров для замкнутого по V представления, - FALSE - получение параметров для разомкнутого по V представления.
|
||
Выходные параметры:
|
||
DegreeV - порядок NURBS по V (степень полинома + 1), от 3 до 10,
|
||
DegreeU - порядок NURBS по U (степень полинома + 1), от 3 до 10
|
||
NPV - количество точек по V,
|
||
NPU - количество точек по U,
|
||
Points - массив SafeArray точек VT_ARRAY VT_R8,
|
||
Weights - веса,
|
||
KnotsV - массив SafeArray узлов точек по V VT_ARRAY VT_R8,
|
||
KnotsU - массив SafeArray узлов точек по U VT_ARRAY VT_R8.
|
||
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
|
||
Версия КОМПАС v22
|
||
```
|
||
|
||
|
||
## GetPoint - Получить точку на поверхности
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetPoint( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetPoint( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ) ;
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - координаты точки на поверхности.
|
||
```
|
||
|
||
|
||
## GetTangentVectorU - Получить касательный вектор по U
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetTangentVectorU( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetTangentVectorU( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ) ;
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - касательный вектор по U.
|
||
```
|
||
|
||
|
||
## GetTangentVectorV - Получить касательный вектор по V
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetTangentVectorV( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetTangentVectorV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности.
|
||
Выходные параметры:
|
||
X, Y, Z - касательный вектор по V.
|
||
```
|
||
|
||
|
||
## GetTorusParam - Получить параметры тора
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetTorusParam( double * Radius, double * GeneratrixRadius );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
RESULT GetTorusParam( double * Radius, double * GeneratrixRadius, BOOL * Result ) ;
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Выходные параметры:
|
||
Radius - Радиус,
|
||
GeneratrixRadius - Радиус образующей.
|
||
Версия КОМПАС v22
|
||
```
|
||
|
||
|
||
## IsCylinder - Является ли поверхность цилиндрической
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsCylinder = Object.IsCylinder Получить свойство (* )
|
||
IsCylinder = Object.GetIsCylinder() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsCylinder( &IsCylinder ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsNurbsSurface - Является ли поверхность NURBS-поверхностью
|
||
|
||
Тип данных:BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsNurbsSurface = Object.IsNurbsSurface Получить свойство (* )
|
||
IsNurbsSurface = Object.GetIsNurbsSurface() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsNurbsSurface( &IsNurbsSurface ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsPlanar - Является ли поверхность плоской
|
||
|
||
Тип данных:BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsPlanar = Object.IsPlanar Получить свойство (* )
|
||
IsPlanar = Object.GetIsPlanar() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsPlanar( &IsPlanar ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsRevolved - Определяется ли поверхность поверхностью вращения
|
||
|
||
Тип данных:BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsRevolved = Object.IsRevolved Получить свойство (* )
|
||
IsRevolved = Object.GetIsRevolved() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsRevolved( &IsRevolved ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsSalient - Является ли поверхность выпуклой
|
||
|
||
Тип данных: из перечисления ksSurfaceSalientTypeEnum
|
||
Синтаксис Automation:
|
||
```
|
||
IsSalient = Object.IsSalient Получить свойство (* )
|
||
IsSalient = Object.GetIsSalient() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsSalient( &IsSalient ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsSphere - Является ли поверхность сферической
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsSphere = Object.IsSphere Получить свойство (* )
|
||
IsSphere = Object.GetIsSphere() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsSphere( &IsSphere ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsSwept - Определяется ли поверхность поверхностью по траектории
|
||
|
||
Тип данных:BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsSwept = Object.IsSwept Получить свойство (* )
|
||
IsSwept = Object.GetIsSwept() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsSwept( &IsSwept ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsTorus - Является ли поверхность тором
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsTorus = Object.IsTorus Получить свойство (* )
|
||
IsTorus = Object.GetIsTorus() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsTorus( &IsTorus ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## NearDirectPointProjection - Проекция точки на кривую
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL NearDirectPointProjection( double X, double Y, double Z, double VX, double VY, double VZ, BOOL Extended, double * U, double * V );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT NearDirectPointProjection( double X, double Y, double Z, double VX, double VY, double VZ, BOOL Extended, double * U, double * V, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
X, Y, Z - координаты точки,
|
||
VX, VY, VZ - направление вектора,
|
||
Extended - TRUE - учитывать продолжение.
|
||
Выходные параметры:
|
||
U, V - параметрические координаты точки на поверхности.
|
||
Версия: Компас v20
|
||
```
|
||
|
||
|
||
## NearPointProjection - Получить ближайшую проекцию точки на поверхность
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL NearPointProjection( double X, double Y, double Z, double * ParamU, double * ParamV, BOOL Ext );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT NearPointProjection( double X, double Y, double Z, double * ParamU, double * ParamV, BOOL Ext, BOOL * Result ) ;
|
||
Возвращаемое значение:
|
||
TRUE - если проекция точки попала на саму поверхность или если ext равен TRUЕ,
|
||
FALSE - если проекция точки не попала на саму поверхность.
|
||
Входные параметры:
|
||
X, Y, Z - координаты исходной пространственной точки,
|
||
Ext - если проекция точки вне поверхности; - TRUE проецировать на продолжение поверхности, - FALSE найти ближайшую граничную точку поверхности.
|
||
Выходные параметры:
|
||
ParamU, ParamV - параметрические координаты точки на поверхности.
|
||
```
|
||
|
||
|
||
## ParamUMax - Получить значение параметра U конечное
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
ParamUMax = Object.ParamUMax Получить свойство (* )
|
||
ParamUMax = Object.GetParamUMax() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ParamUMax( &ParamUMax ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## ParamUMin - Получить значение параметра U начальное
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
ParamUMin = Object.ParamUMin Получить свойство (* )
|
||
ParamUMin = Object.GetParamUMin() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ParamUMin( &ParamUMin ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## ParamVMax - Получить значение параметра V конечное
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
ParamVMax = Object.ParamVMax Получить свойство (* )
|
||
ParamVMax = Object.GetParamVMax() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ParamVMax( &ParamVMax ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## ParamVMin - Получить значение параметра V начальное
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
ParamVMin = Object.ParamVMin Получить свойство (* )
|
||
ParamVMin = Object.GetParamVMin() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ParamVMin( &ParamVMin ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## Placement - Интерфейс локальной системы координат (положение объекта)
|
||
|
||
Тип данных: Указатель на интерфейс IPlacement3D
|
||
Синтаксис Automation:
|
||
```
|
||
Placement = Object.Placement Получить свойство (* )
|
||
Placement = Object.GetPlacement() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Placement( &Placement ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## PointProjection - Проекция точки на поверхность
|
||
|
||
Синтаксис Automation :
|
||
VARIANT PointProjection( double X, double Y, double Z, double VX, double VY, double VZ, BOOL Extended );
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT PointProjection( double X, double Y, double Z, double VX, double VY, double VZ, BOOL Extended, VARIANT * Result );
|
||
Возвращаемое значение:
|
||
Массив Safearray VT_ARRAY VT_R8 параметрических координат точек поверхности в последовательности U1, V1, U2, V2....
|
||
Входные параметры:
|
||
X, Y, Z - координаты точки,
|
||
VX, VY, VZ - направление вектора,
|
||
Extended - TRUE - учитывать продолжение.
|
||
Версия: Компас v20
|
||
```
|
||
|
||
|
||
## Radius - Радиус поверхности
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
Radius = Object.Radius Получить свойство (* )
|
||
Radius = Object.GetRadius() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Radius( &Radius ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## Surface3DType - Тип поверхности
|
||
|
||
Тип данных: из перечисления ksMathSurface3DTypeEnum
|
||
Синтаксис Automation:
|
||
```
|
||
Surface3DType = Object.Surface3DType Получить свойство (* )
|
||
Surface3DType = Object.GetSurface3DType() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Surface3DType( &Surface3DType ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|