---
title: "Интерфейс IRuledSurfaceParametersByCurves"
type: interface
api: [api7]
tags: [interface, api7, iruledsurfaceparametersbycurves]
sources:
  - iruledsurfaceparametersbycurves.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Поверхности  > Интерфейс ISurfaceContainer  > ISurfaceContainer - свойства *


## Интерфейс IRuledSurfaceParametersByCurves

Интерфейс параметров линейчатой поверхности "По двум кривым".
Иерархия:
IDispatch
IRuledSurfaceParametersByCurves
Примечание:
Интерфейс можно получить с помощью способа IRuledSurface::Parameters для типа построения - Линейчатая поверхность по двум кривым.
Версия КОМПАС v22


## 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 )    Установить свойство
```


## Curves1 - Первая цепочка кривых

Интерфейс
Тип данных: VARIANT
Синтаксис Automation:
```
Curves1 = Object.Curves1    Получить свойство (* )
Object.Curves1 = Curves1    Установить свойство (* )
Curves1 = Object.GetCurves1()    Получить свойство (**)
Object.SetCurves1( Curves1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Curves1( &Curves1 )    Получить свойство
Object.put_Curves1( Curves1 )    Установить свойство
```
Примечание:
Объекты, задающие первую цепочку в виде SAFEARRAY'я DISPATCH - VT_ARRAY | VT_DISPATCH.


## Curves2 - Вторая цепочка кривых

Интерфейс
Тип данных: VARIANT
Синтаксис Automation:
```
Curves2 = Object.Curves2    Получить свойство (* )
Object.Curves2 = Curves2    Установить свойство (* )
Curves2 = Object.GetCurves2()    Получить свойство (**)
Object.SetCurves2( Curves2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Curves2( &Curves2 )    Получить свойство
Object.put_Curves2( Curves2 )    Установить свойство
```
Примечание:
Объекты, задающие вторую цепочку в виде SAFEARRAY'я DISPATCH - VT_ARRAY | VT_DISPATCH.


## 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    - признак начала ребра.
Выходные параметры
StartPoint    - признак начала ребра,
X, Y, Z    - новые координаты точки,
T    - параметр кривой,
Segment    - сегмент кривой IModelObject,
AssociateVertex    - ассоциативная вершина IModelObject.
```


## GetEdgePointParams - Получение параметров ребер

Интерфейс
Синтаксис Automation:
```
BOOL GetEdgePointParams( VARIANT * Points1, VARIANT * T1, VARIANT * Segments1, VARIANT * AssociateVertexes1, VARIANT * Points2, VARIANT * T2, VARIANT * 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    - точки на первой цепочке кривых,
T1    - параметры кривых первой цепочки,
Segments1    - сегменты первой цепочки,
AssociateVertexes1    - ассоциативные вершины первой цепочки,
Points2    - точки на второй цепочке кривых,
T2    - параметры кривых второй цепочки,
Segments2    - сегменты второй цепочки,
AssociateVertexes2    - ассоциативные вершины второй цепочки.
```


## SectionAlignmentType - Способ выравнивания сечения

Интерфейс
Тип данных: из перечисления ksRuledSurfaceSectionAlignmentTypeEnum
Синтаксис Automation:
```
SectionAlignmentType = Object.SectionAlignmentType    Получить свойство (* )
Object.SectionAlignmentType = SectionAlignmentType    Установить свойство (* )
SectionAlignmentType = Object.GetSectionAlignmentType()    Получить свойство (**)
Object.SetSectionAlignmentType( SectionAlignmentType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SectionAlignmentType( &SectionAlignmentType )    Получить свойство
Object.put_SectionAlignmentType( SectionAlignmentType )    Установить свойство
```


## 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    - сегмент кривой IModelObject,
AssociateVertex    - ассоциативная вершина IModelObject.
```


## SplitEdges - Разбивать на грани

Интерфейс
Тип данных: BOOL
Синтаксис Automation:
```
SplitEdges = Object.SplitEdges    Получить свойство (* )
Object.SplitEdges = SplitEdges    Установить свойство (* )
SplitEdges = Object.GetSplitEdges()    Получить свойство (**)
Object.SetSplitEdges( SplitEdges )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SplitEdges( &SplitEdges )    Получить свойство
Object.put_SplitEdges( SplitEdges )    Установить свойство
```
