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>
14 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс IRuledSurface | interface |
|
|
|
*API интерфейсов. Версия 7 > Документ 3D > Поверхности > Интерфейс ISurfaceContainer > ISurfaceContainer - свойства *
Интерфейс IRuledSurface
Интерфейс операции создания линейчатой поверхности. Иерархия: IDispatch IKompasAPIObject IModelObject IRuledSurface
AddNewEdge - Добавление ребра линейчатой поверхности после указанного индексом
Синтаксис Automation:
BOOL AddNewEdge( long IndexAt );
Синтаксис COM:
HRESULT AddNewEdge( long IndexAt, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры
IndexAt - индекс ребра, после которого нужно вставить новое ребро.
Метод позволяет вставить новое ребро перед заданным. Новое ребро будет иметь следующий по порядку номер.
AutoSegmentation - Автоматическое разбиение линейчатой поверхности на грани
Тип данных: BOOL Синтаксис Automation:
AutoSegmentation = Object.AutoSegmentation Получить свойство (* )
Object.AutoSegmentation = AutoSegmentation Установить свойство (* )
AutoSegmentation = Object.GetAutoSegmentation() Получить свойство (**)
Object.SetAutoSegmentation( AutoSegmentation ) Установить свойство (**)
Синтаксис COM:
Object.get_AutoSegmentation( &AutoSegmentation ) Получить свойство
Object.put_AutoSegmentation( AutoSegmentation ) Установить свойство
Свойство позволяет включать и выключать опцию автоматического разбиения на грани.
BuildingType - Способ построения
Тип данных: из перечисления ksRuledSurfaceBuildingTypeEnum Синтаксис Automation:
BuildingType = Object.BuildingType Получить свойство (* )
Object.BuildingType = BuildingType Установить свойство (* )
BuildingType = Object.GetBuildingType() Получить свойство (**)
Object.SetBuildingType( BuildingType ) Установить свойство (**)
Синтаксис COM:
Object.get_BuildingType( &BuildingType Получить свойство
Object.put_BuildingType( BuildingType ) Установить свойство
Версия КОМПАС v22
CheckSelfIntersection - Проверка самопересечения поверхности
Тип данных: BOOL Синтаксис Automation:
CheckSelfIntersection = Object.CheckSelfIntersection Получить свойство (* )
Object.CheckSelfIntersection = CheckSelfIntersection Установить свойство (* )
CheckSelfIntersection = Object.GetCheckSelfIntersection() Получить свойство (**)
Object.SetCheckSelfIntersection( CheckSelfIntersection ) Установить свойство (**)
Синтаксис COM:
Object.get_CheckSelfIntersection( &CheckSelfIntersection ) Получить свойство
Object.put_CheckSelfIntersection( CheckSelfIntersection ) Установить свойство
Свойство позволяет проверить поверхность на наличие самопересечений.
ConsiderComplianceVertices - Учет соответствия вершин направляющих при построении поверхности
Тип данных: BOOL Синтаксис Automation:
ConsiderComplianceVertices = Object.ConsiderComplianceVertices Получить свойство (* )
Object.ConsiderComplianceVertices = ConsiderComplianceVertices Установить свойство (* )
ConsiderComplianceVertices = Object.GetConsiderComplianceVertices() Получить свойство (**)
Object.SetConsiderComplianceVertices( ConsiderComplianceVertices ) Установить свойство (**)
Синтаксис COM:
Object.get_ConsiderComplianceVertices( &ConsiderComplianceVertices ) Получить свойство
Object.put_ConsiderComplianceVertices( ConsiderComplianceVertices ) Установить свойство
Curves1 - Первая цепочка кривых (первая направляющая линейчатой поверхности) в виде SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH
Тип данных: VARIANT типа VT_ARRAY | VT_DISPATCH Синтаксис Automation:
Curves1 = Object.Curves1 Получить свойство (* )
Object.Curves1 = Curves1 Установить свойство (* )
Curves1 = Object.GetCurves1() Получить свойство (**)
Object.SetCurves1( Curves1 ) Установить свойство (**)
Синтаксис COM:
Object.get_Curves1( &Curves1 ) Получить свойство
Object.put_Curves1( Curves1 ) Установить свойство
Свойство позволяет устанавливать и получать первую направляющую.
Примечание: Направляющей может являться: •пространственная кривая; •цепочка последовательно соединяющихся пространственных кривых; •точечный объект.
Curves2 - Вторая цепочка кривых (вторая направляющая линейчатой поверхности) SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH
Тип данных: VARIANT типа VT_ARRAY | VT_DISPATCH Синтаксис Automation:
Curves2 = Object.Curves2 Получить свойство (* )
Object.Curves2 = Curves2 Установить свойство (* )
Curves2 = Object.GetCurves2() Получить свойство (**)
Object.SetCurves2( Curves2 ) Установить свойство (**)
Синтаксис COM:
Object.get_Curves2( &Curves2 ) Получить свойство
Object.put_Curves2( Curves2 ) Установить свойство
Свойство позволяет устанавливать и получать первую направляющую.
Примечание: Направляющей может являться: •пространственная кривая; •цепочка последовательно соединяющихся пространственных кривых; •точечный объект.
DeleteEdge - Удаление ребра линейчатой поверхности
Синтаксис Automation:
BOOL DeleteEdge( long Index )
Синтаксис COM:
HRESULT DeleteEdge( long Index, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры
Index - индекс удаляемого ребра.
Метод позволяет удалить ребро, заданное по индексу.
Примечания:
- Оставшиеся ребра нумеруются заново.
- Удаление ребер невозможно, если в списке остались два ребра.
EdgesCount - Количество ребер
Тип данных: long Синтаксис Automation:
EdgesCount = Object.EdgesCount Получить свойство (* )
EdgesCount = Object.GetEdgesCount() Получить свойство (**)
Синтаксис COM:
Object.get_EdgesCount( &EdgesCount ) Получить свойство
Примечание Свойство доступно только для чтения.
GetEdgePointParam - Получение параметров точки ребра линейчатой поверхности
Синтаксис Automation:
BOOL GetEdgePointParam( long EdgeIndex,
BOOL StartPoint,
double * X,
double * Y,
double * Z,
double * T,
IModelObject ** Segment,
IModelObject ** AssociateVertex );
Синтаксис COM:
HRESULT GetEdgePointParam( long EdgeIndex,
BOOL StartPoint,
double * X,
double * Y,
double * Z,
double * T,
IModelObject ** Segment,
IModelObject ** AssociateVertex,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры
EdgeIndex - индекс ребра,
StartPoint - начальная или конечная вершина ребра.
Выходные параметры
X, Y, Z - координаты точки,
T - параметр точки на кривой,
Segment - сегмент направляющей, на котором находится точка,
AssociateVertex - вершина направляющей, с которой связана вершина ребра.
Метод позволяет получить параметры вершины ребра линейчатой поверхности.
GetEdgePointParams - Получение параметров ребер линейчатой поверхности
Синтаксис Automation:
BOOL GetEdgePointParams( VARIANT * Points1,
VARIANT * T1,
VARIANT * Segments1,
VARIANT * AssociateVertexes1,
VARIANT * Points2,
VARIANT * T2, V
ARIANT * Segments2,
VARIANT * AssociateVertexes2 );
Синтаксис COM:
HRESULT GetEdgePointParams( VARIANT * Points1,
VARIANT * T1,
VARIANT * Segments1,
VARIANT * AssociateVertexes1,
VARIANT * Points2,
VARIANT * T2,
VARIANT * Segments2,
VARIANT * AssociateVertexes2,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры
Points1 - массив SAFEARRAY VT_R8 - VT_ARRAY VT_R8 координат вершин ребер на первой направляющей,
T1 - массив SAFEARRAY VT_R8 - VT_ARRAY VT_R8 параметров вершин ребер на первой направляющей,
Segments1 - массив SAFEARRAY DISPATCH - VT_ARRAY VT_DISPATCH сегментов первой направляющей,
AssociateVertexes1 - массив SAFEARRAY DISPATCH - VT_ARRAY VT_DISPATCH вершин первой направляющей, связанных с вершинами,
Points2 - массив SAFEARRAY VT_R8 - VT_ARRAY VT_R8 координат вершин ребер на второй направляющей,
T2 - массив SAFEARRAY VT_R8 - VT_ARRAY VT_R8 параметров вершин ребер на второй направляющей,
Segments2 - массив SAFEARRAY DISPATCH - VT_ARRAY VT_DISPATCH сегментов второй направляющей,
AssociateVertexes2 - массив SAFEARRAY DISPATCH - VT_ARRAY VT_DISPATCH вершин второй направляющей, связанных с вершинами.
Метод позволяет получать параметры ребер линейчатой поверхности.
Parameters - Получить интерфейс параметров линейчатой поверхности
Тип данных: Указатель на интерфейс IKompasAPIObject Синтаксис Automation:
Parameters = Object.Parameters Получить свойство (* )
Parameters = Object.GetParameters() Получить свойство (**)
Синтаксис COM:
Object.get_Parameters( &Parameters ) Получить свойство
Примечание Свойство доступно только для чтения. В зависимости от выбранного способа построения IRuledSurface_BuildingType метод возвращает интерфейсы:
| ksRuledSurfaceByCurves | 0 | IRuledSurfaceParametersByCurves - Линейчатая поверхность по двум кривым |
|---|---|---|
| ksRuledSurfaceBySurfaces | 1 | IRuledSurfaceParametersByFaces - Линейчатая поверхность по двум поверхностям |
| ksRuledSurfaceByCurveAndSurface | 2 | IRuledSurfaceParametersByCurveAndFace - Линейчатая поверхность по кривой и поверхности. |
| ksRuledSurfaceBySurfaceTangentCurve | 3 | IRuledSurfaceTangentParametersByCurveAndFace - Линейчатая поверхность по кривой с касанием к поверхности. |
| ksRuledSurfaceByCurveAndDir | 4 | IRuledSurfaceParametersByCurveAndDir - Линейчатая поверхность по кривой и направлению |
| Версия КОМПАС v22 |
SetEdgePointParam - Изменение положения точки ребра линейчатой поверхности
Синтаксис Automation:
BOOL SetEdgePointParam( long EdgeIndex,
BOOL StartPoint,
double X,
double Y,
double Z,
double * T,
IModelObject * Segment,
IModelObject * AssociateVertex );
Синтаксис COM:
HRESULT SetEdgePointParam( long EdgeIndex,
BOOL StartPoint,
double X,
double Y,
double Z,
double * T,
IModelObject * Segment,
IModelObject * AssociateVertex,
BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры
EdgeIndex - индекс ребра,
StartPoint - начальная или конечная вершина ребра,
X, Y, Z - координаты точки,
T - параметр точки на кривой,
Segment - сегмент направляющей, на котором находится точка,
AssociateVertex - вершина направляющей, с которой связана вершина ребра.
Метод позволяет задать положение вершины ребра линейчатой поверхности на направляющей.