Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/iruledsurface.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

14 KiB

title, type, api, tags, sources
title type api tags sources
Интерфейс IRuledSurface interface
api7
interface
api7
iruledsurface
iruledsurface.html

*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 - индекс удаляемого ребра.
Метод позволяет удалить ребро, заданное по индексу.

Примечания:

  1. Оставшиеся ребра нумеруются заново.
  2. Удаление ребер невозможно, если в списке остались два ребра.

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    - вершина направляющей, с которой связана вершина ребра.
Метод позволяет задать положение вершины ребра линейчатой поверхности на направляющей.