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

10 KiB

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

*API интерфейсов. Версия 7 > Документ 3D  > Вспомогательные объекты, 3D-кривые и элементы тела  > 3D-кривые и элементы тела  > Интерфейс IModelObjects  > IModelObjects - свойства *

Интерфейс ISurfacesIntersectionCurve

Интерфейс кривых пересечений поверхностей. Иерархия: IKompasAPIObject IModelObject ISurfacesIntersectionCurve Описание: Интерфейс позволяет создать кривую пересечения двух поверхностей, или двух наборов поверхностей, или поверхности и набора. Примечание: Интерфейс можно получить с помощью свойства ISurfacesIntersectionCurves::SurfacesIntersectionCurve и метода ISurfacesIntersectionCurves::Add.

AddObjects - Добавить элемент(ы) в указанный набор

Синтаксис Automation:

BOOL AddObjects( BOOL ForArray1, VARIANT * Objects );

Синтаксис COM:

HRESULT AddObjects( BOOL ForArray1, VARIANT * Objects, BOOL * Res );
Выходные параметры:
ForArray1    - TRUE - первый набор, - FALSE - второй набор,
Objects    - набор граней.
Возвращаемое значение:
TRUE    - в случае удачи.

Примечание: Если в набор добавляется одна грань, то ее можно передать как VT_DISPATCH. Если в набор добавляется несколько граней, то нужно передать массив VT_ARRAY | VT_DISPATCH.

AutoCheck - Включение/выключение автоматического выбора всех массивов ребер

Тип данных: BOOL Синтаксис Automation:

AutoCheck = Object.AutoCheck    Получить свойство (* )
Object.AutoCheck = AutoCheck    Установить свойство (* )
AutoCheck = Object.GetAutoCheck()    Получить свойство (**)
Object.SetAutoCheck( AutoCheck )    Установить свойство (**)

Синтаксис COM:

Object.get_AutoCheck( &AutoCheck )    Получить свойство
Object.put_AutoCheck( AutoCheck )    Установить свойство
Свойство позволяет включать и отключать автоматический выбор всех массивов ребер.

Clear - Очистить указанный набор объектов

Синтаксис Automation:

BOOL Clear( BOOL ForArray1 );

Синтаксис COM:

HRESULT Clear( BOOL ForArray1, BOOL * Res );
Выходные параметры:
ForArray1    - TRUE - первый набор, - FALSE - второй набор.
Возвращаемое значение:
TRUE    - в случае удачи.

Edges - Количество массивов ребер в кривой пересечения поверхностей

Тип данных: VARIANT Синтаксис Automation:

Edges = Object.Edges( EdgesArrayIndex )    Получить свойство (* )
Edges = Object.GetEdges( EdgesArrayIndex )    Получить свойство (**)

Синтаксис COM:

Object.get_Edges( EdgesArrayIndex, &Edges )    Получить свойство
Входные параметры:
EdgesArrayIndex    - индекс массива ребер

Примечание: Свойство доступно только для чтения. В зависимости от количества ребер возвращается: •нет ребер - VT_EMPTY (если указан неправильный индекс или ребра не созданы), •одно ребро - VT_DISPATCH, •более одного ребра - VT_ARRAY | VT_DISPATCH. Индекс должен быть в диапазоне 0...ISurfacesIntersectionCurve::EdgesArraysCount-1.

EdgesArraysCount - Количество массивов ребер в кривой пересечения поверхностей

Тип данных: long Синтаксис Automation:

EdgesArraysCount = Object.EdgesArraysCount    Получить свойство (* )
EdgesArraysCount = Object.GetEdgesArraysCount()    Получить свойство (**)

Синтаксис COM:

Object.get_EdgesArraysCount( &EdgesArraysCount )    Получить свойство
Свойство позволяет получить количество массивов ребер в кривой пересечения поверхностей.

Примечание: Свойство доступно только для чтения.

EdgesCheck - Признак выбора указанного по индексу массива ребер

Тип данных: BOOL Синтаксис Automation:

EdgesCheck = Object.EdgesCheck( EdgesArrayIndex )    Получить свойство (* )
Object.EdgesCheck( EdgesArrayIndex ) = EdgesCheck    Установить свойство (* )
EdgesCheck = Object.GetEdgesCheck( EdgesArrayIndex )    Получить свойство (**)
Object.SetEdgesCheck( EdgesArrayIndex, EdgesCheck)    Установить свойство (**)

Синтаксис COM:

Object.get_EdgesCheck( EdgesArrayIndex, &EdgesCheck )    Получить свойство
Object.put_EdgesCheck( EdgesArrayIndex, EdgesCheck )    Установить свойство
Входные параметры:
EdgesArrayIndex    - индекс массива ребер.

Примечание: Индекс должен быть в диапазоне 0...ISurfacesIntersectionCurve::EdgesArraysCount-1.

EdgesChecks - Признаки выбора массивов ребер

Тип данных: VARIANT типа VT_ARRAY | VT_BOOL Синтаксис Automation:

EdgesChecks = Object.EdgesChecks    Получить свойство (* )
Object.EdgesChecks = EdgesChecks    Установить свойство (* )
EdgesChecks = Object.GetEdgesChecks()    Получить свойство (**)
Object.SetEdgesChecks( EdgesChecks )    Установить свойство (**)

Синтаксис COM:

Object.get_EdgesChecks( &EdgesChecks )    Получить свойство
Object.put_EdgesChecks( EdgesChecks )    Установить свойство
Свойство позволяет устанавливать и получать признаки выбора массива ребер.

EdgesChecksCount - Количество доступных для создания контуров

Тип данных: long Синтаксис Automation:

EdgesChecksCount = Object.EdgesChecksCount    Получить свойство (* )
EdgesChecksCount = Object.GetEdgesChecksCount()    Получить свойство (**)

Синтаксис COM:

Object.get_EdgesChecksCount( &EdgesChecksCount )    Получить свойство

Примечание: Свойство доступно только для чтения.

GetObject - Получить объект из указанного наборапо индексу

Синтаксис Automation:

LPDISPATCH GetObject( BOOL ForArray1, long Index );

Синтаксис COM:

HRESULT GetObject( BOOL ForArray1, long Index, IModelObject **Object );
Выходные параметры:
ForArray1    - TRUE - первый набор, - FALSE - второй набор,
Index    - индекс объекта в наборе.
Возвращаемое значение:
- указатель на интерфейс IModelObject.

GetObjects - Получить 1-й и 2-й наборы поверхностей

Синтаксис Automation:

BOOL GetObjects( VARIANT * ObjectsArray1, VARIANT * ObjectsArray2 );

Синтаксис COM:

HRESULT GetObjects( VARIANT * ObjectsArray1, VARIANT * ObjectsArray2, BOOL * Res );
Выходные параметры:
ObjectsArray1    - первый набор граней,
ObjectsArray2    - первый набор граней.
Возвращаемое значение:
TRUE    - в случае удачи.

Примечание: Если в наборе одна грань, то она возвращается как VT_DISPATCH. Если в наборе несколько граней, то возвращается массив VT_ARRAY | VT_DISPATCH.

ObjectsCount - Получить количество объектов в указанном наборе

Тип данных: long Синтаксис Automation:

ObjectsCount = Object.ObjectsCount( ForArray1 )    Получить свойство (* )
ObjectsCount = Object.GetObjectsCount( ForArray1 )    Получить свойство (**)

Синтаксис COM:

Object.get_ObjectsCount( ForArray1, &ObjectsCount )    Получить свойство
Входные параметры:
ForArray1    - TRUE - первый набор, - FALSE - второй набор.
Свойство позволяет получить количество объектов в указанном наборе.

Примечание: Свойство доступно только для чтения.

SetObjects - Задать 1-й и 2-й наборы поверхностей

Синтаксис Automation:

BOOL SetObjects( VARIANT ObjectsArray1, VARIANT ObjectsArray2 )

Синтаксис COM:

HRESULT SetObjects( VARIANT ObjectsArray1, VARIANT ObjectsArray2, BOOL * Res );
Входные параметры:
ObjectsArray1    - первый набор граней,
ObjectsArray2    - первый набор граней.
Возвращаемое значение:
TRUE    - в случае удачи.

Примечание: Если требуется передать одну грань в наборе, ее можно передать как VT_DISPATCH. Если требуется передать несколько граней в наборе, то нужно передать его как массив VT_ARRAY | VT_DISPATCH.