--- title: "Интерфейс IRuledSurface" type: interface api: [api7] tags: [interface, api7, iruledsurface] sources: - 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 - вершина направляющей, с которой связана вершина ребра. Метод позволяет задать положение вершины ребра линейчатой поверхности на направляющей. ```