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

249 lines
10 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Интерфейс ISurfacesIntersectionCurve"
type: interface
api: [api7]
tags: [interface, api7, isurfacesintersectioncurve]
sources:
- 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.