e1337e4016
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>
249 lines
10 KiB
Markdown
249 lines
10 KiB
Markdown
---
|
||
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.
|