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>
21 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс IMeshPointsSurface | interface |
|
|
|
*API интерфейсов. Версия 7 > Документ 3D > Поверхности > Интерфейс ISurfaceContainer > ISurfaceContainer - свойства *
Интерфейс IMeshPointsSurface
Интерфейс параметров поверхности по сети точек. Иерархия: IDispatch IKompasAPIObject IModelObject IMeshPointsSurface ILocalCSObject Интерфейс можно получить у интерфейса коллекции поверхностей по сети точек с помощью свойства IMeshPointsSurfaces::MeshPointsSurface или метода IMeshPointsSurfaces::Add. С помощью метода IUnknown::QueryInterface у интерфейса можно получить интерфейс подчиненного объекта ЛСК ILocalCSObject.
AddPoint - Добавить точку в создаваемый ряд точек
Интерфейс.. Синтаксис Automation:
LPDISPATCH AddPoint( double X,
double Y,
double Z,
double Weight,
ksPoint3DTypeEnum PointType,
IModelObject * AssociationObject );
Синтаксис COM:
HRESULT AddPoint( double X,
double Y,
double Z,
double Weight,
ksPoint3DTypeEnum PointType,
IModelObject * AssociationObject,
IKompasAPIObject ** Result );
Возвращаемое значение:
Указатель на интерфейс параметров точки
Входные параметры:
X, Y, Z - координаты точки,
Weight - вес точки,
PointType - тип параметров точки,
AssociationObject - опорный объект.
Примечание: Метод должен вызываться между вызовами методов IMeshPointsSurface::BeginPointsSeries и IMeshPointsSurface::EndPointsSeries.
AddPointsSeries - Добавить ряд точек
Интерфейс.. Синтаксис Automation:
BOOL AddPointsSeries( BOOL AddNewRow,
long IndexAt,
VARIANT Points,
VARIANT Weights );
Синтаксис COM:
HRESULT AddPointsSeries( BOOL AddNewRow,
long IndexAt,
VARIANT Points,
VARIANT Weights,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Входные параметры:
AddNewRow - TRUE - добавить ряд, - FALSE - добавить колонку,
IndexAt - индекс, перед которым нужно добавить ряд,
Points - массив VT_ARRAY VT_R8 координат точек,
Weights - массив VT_ARRAY VT_R8 весов точек.
AssociationObject - Установить опорный объект для вершины
Тип данных: Указатель на интерфейс IModelObject Синтаксис Automation:
AssociationObject = Object.AssociationObject( UIndex, VIndex ) Получить свойство (* )
Object.AssociationObject( UIndex, VIndex ) = AssociationObject Установить свойство (* )
AssociationObject = Object.GetAssociationObject( UIndex, VIndex ) Получить свойство (**)
Object.SetAssociationObject( UIndex, VIndex, AssociationObject ) Установить свойство (**)
Синтаксис COM:
Object.get_AssociationObject( UIndex, VIndex, &AssociationObject ) Получить свойство
Object.put_AssociationObject( UIndex, VIndex, AssociationObject ) Установить свойство
Входные параметры:
long UIndex - индекс точки по U,
long VIndex - индекс точки по V.
BeginPointsSeries - Начать добавление нового ряда точек
Синтаксис Automation:
BOOL BeginPointsSeries( BOOL AddNewRow,
long IndexAt );
Синтаксис COM:
HRESULT BeginPointsSeries( BOOLAddNewRow,
long IndexAt,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
AddNewRow TRUE - добавлять ряд, FALSE - добавлять колонку,
IndexAt - индекс ряда, перед которым нужно добавить новый ряд.
BuildingType - Тип поверхности по сети точек
Тип данных: из перечисления ksMeshPointsSurfaceBuildingTypeEnum Синтаксис Automation:
BuildingType = Object.BuildingType Получить свойство (* )
Object.BuildingType = BuildingType Установить свойство (* )
BuildingType = Object.GetBuildingType() Получить свойство (**)
Object.SetBuildingType( BuildingType ) Установить свойство (**)
Синтаксис COM:
Object.get_BuildingType( &BuildingType ) Получить свойство
Object.put_BuildingType( BuildingType ) Установить свойство
Свойство позволяет устанавливать и получать способ построения поверхности по сети точек.
CheckSelfIntersection - Проверка самопересечений
Тип данных: BOOL Синтаксис Automation:
CheckSelfIntersection = Object.CheckSelfIntersection Получить свойство (* )
Object.CheckSelfIntersection = CheckSelfIntersection Установить свойство (* )
CheckSelfIntersection = Object.GetCheckSelfIntersection() Получить свойство (**)
Object.SetCheckSelfIntersection( CheckSelfIntersection ) Установить свойство (**)
Синтаксис COM:
Object.get_CheckSelfIntersection( &CheckSelfIntersection ) Получить свойство
Object.put_CheckSelfIntersection( CheckSelfIntersection ) Установить свойство
Свойство позволяет включать и выключать проверку самопересечений.
ClearPointsSeries - Очистить список рядов точек
Интерфейс.. Синтаксис Automation:
BOOL ClearPointsSeries();
Синтаксис COM:
HRESULT ClearPointsSeries( BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Метод позволяет удалить все точки поверхности.
ClosedU - Признак замкнутости поверхности по направлению U
Тип данных: BOOL Синтаксис Automation:
ClosedU = Object.ClosedU Получить свойство (* )
Object.ClosedU = ClosedU Установить свойство (* )
ClosedU = Object.GetClosedU() Получить свойство (**)
Object.SetClosedU( ClosedU ) Установить свойство (**)
Синтаксис COM:
Object.get_ClosedU( &ClosedU ) Получить свойство
Object.put_ClosedU( ClosedU ) Установить свойство
Свойство позволяет замкнуть поверхность в направлении U.
Примечание: Замыкание по тому или иному направлению возможно, если количество точек в этом направлении - три или больше.
ClosedV - Признак замкнутости поверхности по направлению V
Тип данных: BOOL Синтаксис Automation:
ClosedV = Object.ClosedV Получить свойство (* )
Object.ClosedV = ClosedV Установить свойство (* )
ClosedV = Object.GetClosedV() Получить свойство (**)
Object.SetClosedV( ClosedV ) Установить свойство (**)
Синтаксис COM:
Object.get_ClosedV( &ClosedV ) Получить свойство
Object.put_ClosedV( ClosedV ) Установить свойство
Свойств позволяет замкнуть поверхность в направлении V.
Примечание: Замыкание по тому или иному направлению возможно, если количество точек в этом направлении - три или больше.
ColumnsCount - Количество точек в одном ряду по направлению U
Тип данных: long Синтаксис Automation:
ColumnsCount = Object.ColumnsCount Получить свойство (* )
ColumnsCount = Object.GetColumnsCount() Получить свойство (**)
Синтаксис COM:
Object.get_ColumnsCount( &ColumnsCount ) Получить свойство
Примечание: Свойство доступно только для чтения.
DegreeU - Порядок сплайна по направлению U
Тип данных: long Синтаксис Automation:
DegreeU = Object.DegreeU Получить свойство (* )
Object.DegreeU = DegreeU Установить свойство (* )
DegreeU = Object.GetDegreeU() Получить свойство (**)
Object.SetDegreeU( DegreeU ) Установить свойство (**)
Синтаксис COM:
Object.get_DegreeU( &DegreeU ) Получить свойство
Object.put_DegreeU( DegreeU ) Установить свойство
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
Примечание: Свойство позволяет устанавливать и получать порядок поверхности в направлении U.
DegreeV - Порядок сплайна по направлению V
Тип данных: long Синтаксис Automation:
DegreeV = Object.DegreeV Получить свойство (* )
Object.DegreeV = DegreeV Установить свойство (* )
DegreeV = Object.GetDegreeV() Получить свойство (**)
Object.SetDegreeV( DegreeV ) Установить свойство (**)
Синтаксис COM:
Object.get_DegreeV( &DegreeV ) Получить свойство
Object.put_DegreeV( DegreeV ) Установить свойство
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
Примечание: Свойство позволяет устанавливать и получать порядок поверхности в направлении V.
DeletePointsSeries - Удалить ряд точек
Интерфейс.. Синтаксис Automation:
BOOL DeletePointsSeries( BOOL DeleteRow,
long Index );
Синтаксис COM:
HRESULT DeletePointsSeries(BOOL DeleteRow,
long Index,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Входные параметры:
DeleteRow - TRUE - удаляется ряд, - FALSE - удаляется колонка,
Index - индекс удаляемого ряда.
EndPointsSeries - Завершить создание ряда точек
Интерфейс.. Синтаксис Automation:
BOOL EndPointsSeries();
Синтаксис COM:
HRESULT EndPointsSeries( BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
GetParams - Получить параметры поверхности
Интерфейс.. Синтаксис Automation:
BOOL GetParams( BOOL * ClosedV,
BOOL * ClosedU,
long * DegreeV,
long * DegreeU,
long * PointsVCount,
long * PointsUCount,
VARIANT * Points,
VARIANT * Weights );
Синтаксис COM:
HRESULT GetParams( BOOL * ClosedV,
BOOL * ClosedU,
long * DegreeV,
long * DegreeU,
long * PointsVCount,
long * PointsUCount,
VARIANT * Points,
VARIANT * Weights,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Выходные параметры:
ClosedV признак замкнутости поверхности по V,
ClosedU признак замкнутости поверхности по U,
DegreeV порядок сплайна по V,
DegreeU порядок сплайна по U,
PointsVCount количество точек по V,
PointsUCount количество точек по U,
Points массив VT_ARRAY VT_R8 координат точек,
Weights массив VT_ARRAY VT_R8 весов точек.
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
GetPoint - Параметры точки
Интерфейс.. Синтаксис Automation:
BOOL GetPoint( long UIndex,
long VIndex,
double * X,
double * Y,
double * Z,
double * Weight );
Синтаксис COM:
HRESULT GetPoint( long UIndex,
long VIndex,
double * X,
double * Y,
double * Z,
double * Weight,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Входные параметры:
UIndex - индекс точки по U,
VIndex - индекс точки по V.
Выходные параметры:
X, Y, Z - координаты точки,
Weight - вес точки.
Метод позволяет получить параметры точки.
InitParamByFace - Создать по объекту
Интерфейс.. Синтаксис Automation:
BOOL InitParamByFace( IModelObject * Face );
Синтаксис COM:
HRESULT InitParamByFace( IModelObject * Face, BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Входные параметры:
Face - исходная поверхность.
Метод позволяет создать поверхность по сети точек с помощью сплайновой аппроксимации поверхности.
PointParameters - Интерфейс параметров точки поверхности
Тип данных: указатель на интерфейс IKompasAPIObject Синтаксис Automation:
PointParameters = Object.PointParameters( UIndex, VIndex ) Получить свойство (* )
PointParameters = Object.GetPointParameters( UIndex, VIndex ) Получить свойство (**)
Синтаксис COM:
Object.get_PointParameters( UIndex, VIndex, &PointParameters ) Получить свойство
Входные параметры:
long UIndex - индекс точки по U,
long VIndex - индекс точки по V.
Примечание: Свойство доступно только для чтения.
PointType - Тип параметров построения точки поверхности
Тип данных: из перечисления ksPoint3DTypeEnum Синтаксис Automation:
PointType = Object.PointType( UIndex, VIndex ) Получить свойство (* )
Object.PointType( UIndex, VIndex ) = PointType Установить свойство (* )
PointType = Object.GetPointType( UIndex, VIndex ) Получить свойство (**)
Object.SetPointType( UIndex, VIndex, PointType ) Установить свойство (**)
Синтаксис COM:
Object.get_PointType( UIndex, VIndex, &PointType ) Получить свойство
Object.put_PointType( UIndex, VIndex, PointType ) Установить свойство
Входные параметры:
long UIndex - индекс точки по U,
long VIndex - индекс точки по V.
RowsCount - Количество рядов по направлению V
Тип данных: long Синтаксис Automation:
RowsCount = Object.RowsCount Получить свойство (* )
RowsCount = Object.GetRowsCount() Получить свойство (**)
Синтаксис COM:
Object.get_RowsCount( &RowsVCount ) Получить свойство
Примечание: Свойство доступно только для чтения.
SetParams - Установить параметры поверхности
Интерфейс.. Синтаксис Automation:
BOOL SetParams( BOOL ClosedV,
BOOL ClosedU,
long DegreeV,
long DegreeU,
long PointsVCount,
long PointsUCount,
VARIANT Points,
VARIANT Weights );
Синтаксис COM:
HRESULT SetParams( BOOL ClosedV,
BOOL ClosedU,
long DegreeV,
long DegreeU,
long PointsVCount,
long PointsUCount,
VARIANT Points,
VARIANT Weights,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Входные параметры:
ClosedV - признак замкнутости поверхности по V,
ClosedU - признак замкнутости поверхности по U,
DegreeV - порядок сплайна по V,
DegreeU - порядок сплайна по U,
PointsVCount - количество точек по V,
PointsUCount - количество точек по U,
Points - массив VT_ARRAY VT_R8 координат точек,
Weights - массив VT_ARRAY VT_R8 весов точек.
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
SetPoint - Параметры точки
Интерфейс.. Синтаксис Automation:
BOOL SetPoint( long UIndex,
long VIndex,
double X,
double Y,
double Z,
double Weight );
Синтаксис COM:
HRESULT SetPoint( long UIndex,
long VIndex,
double X,
double Y,
double Z,
double Weight,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Входные параметры:
UIndex - индекс точки по U,
VIndex - индекс точки по V,
X, Y, Z - координаты точки,
Weight - вес точки.
Метод позволяет установить параметры точки.