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

216 lines
8.4 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: "Эскиз (Интерфейсы ksSketchDefinition, ISketchDefinition)"
type: interface
api: [api7]
domain: [2d, sketch, feature]
tags: [interface, api7, 2d, sketch, feature, kssketchdefinition]
sources:
- kssketchdefinition.html
---
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы формообразующих операций *
## Эскиз (Интерфейсы ksSketchDefinition, ISketchDefinition)
Интерфейс параметров эскиза.
| ksSketchDefinition | - интерфейс Automation |
| --- | --- |
| ISketchDefinition | - интерфейс COM |
Примечание:
1. Данный интерфейс можно получить, используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition.
2. На момент редактирования (до вызова метода EndEdit), текущим документом является документ эскиза.
## AddProjectionOf - Добавить в эскиз проекцию объекта
Синтаксис Automation:
```
long AddProjectionOf (LPDISPATCH entity);
```
Синтаксис COM:
```
long AddProjectionOf (LPENTITY entity);
Входной параметр:
entity - указатель на интерфейс объекта ksEntity или IEntity.
Возвращаемое значение:
- указатель на группу объектов, получившихся в результате проецирования.
```
Примечание:
1. Данный метод работает только в режиме редактирования эскиза.
2. Параметр entity может быть указателем на ребро, вершину или грань.
## angle - Угол поворота эскиза относительно проекции системы координат модели на плоскость эскиза (в градусах)
Тип данных: double
Синтаксис Automation:
```
angle = iSketchDefinition.angle Получить свойство(* )
iSketchDefinition.angle = angle Установить свойство (* )
angle = iSketchDefinition.GetAngle() Получить свойство (**)
iSketchDefinition.SetAngle(angle) Установить свойство (**)
```
## BeginEdit - Войти в режим редактирования эскиза (ksDocument2D)
Синтаксис Automation:
```
LPDISPATCH BeginEdit();
Возвращаемое значение:
- указатель на интерфейс эскиза ksDocument2D.
```
Синтаксис COM:
```
BOOL BeginEdit();
Возвращаемое значение:
TRUE - в случае успешного завершения (режим редактирования включен).
```
Примечание:
После редактирования необходимо вызвать функцию EndEdit.
## EndEdit - Выйти из режима редактирования эскиза
Синтаксис Automation:
```
BOOL EndEdit();
```
Синтаксис COM:
```
BOOL EndEdit();
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## GetLocation - Получить смещение системы координат эскиза относительно проекции системы координат модели на плоскость эскиза
Синтаксис Automation:
```
BOOL GetLocation (double * x, double * y);
```
Синтаксис COM:
```
BOOL GetLocation (double * x, double * y);
Выходные параметры:
x, y - смещение вдоль осей.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## GetLoftPoint - Получить координаты точки в плоскости эскиза
Синтаксис Automation:
```
BOOL GetLoftPoint (double * x, double * y);
```
Синтаксис COM:
```
BOOL GetLoftPoint (double * x, double * y);
Выходные параметры:
x, y - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
Примечание:
При формировании элемента по сечениям (операции ksBaseLoftDefinition, ksBossLoftDefinition, ksCutLoftDefinition) полученная точка определяет ближайшую к ней вершину как точку, через которую пройдет линия, соединяющая эскизы.
## GetPlane - Получить базовую плоскость эскиза
Синтаксис Automation:
```
LPDISPATCH GetPlane();
```
Синтаксис COM:
```
LPENTITY GetPlane();
Возвращаемое значение:
- указатель на интерфейс ksEntity или IEntity.
```
## GetSurface - Получить указатель на интерфейс математической поверхности
Синтаксис Automation:
```
LPDISPATCH GetSurface();
```
Синтаксис COM:
```
LPENTITY GetSurface();
Возвращаемое значение:
- указатель на интерфейс ksSurface или ISurface.
```
## SetLocation - Изменить смещение системы координат эскиза относительно проекции системы координат модели на плоскость эскиза
Синтаксис Automation:
```
BOOL SetLocation (double x, double y);
```
Синтаксис COM:
```
BOOL SetLocation (double x, double y);
Входные параметры:
x, y - смещение вдоль осей.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## SetLoftPoint - Изменить координаты точки в плоскости эскиза
Синтаксис Automation:
```
BOOL SetLoftPoint (double x, double y);
```
Синтаксис COM:
```
BOOL SetLoftPoint (double x, double y);
Входные параметры:
x, y - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
Примечание:
При формировании элемента по сечениям (операции ksBaseLoftDefinition, ksBossLoftDefinition, ksCutLoftDefinition, ksLoftSurfaceDefinition) указанная точка определяет ближайшую к ней вершину как точку, через которую пройдет линия, соединяющая эскизы.
## SetPlane - Изменить базовую плоскость эскиза
Синтаксис Automation:
```
BOOL SetPlane (LPDISPATCH plane);
```
Синтаксис COM:
```
BOOL SetPlane (LPENTITY plane);
Входной параметр:
plane - указатель на интерфейс базовой плоскости эскиза ksEntity или IEntity.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## UserSetPlacement - Перейти в режим указания пользователем нового положения эскиза на той же плоскости (или плоской грани), где он был расположен ранее
Синтаксис Automation:
```
BOOL UserSetPlacement (BSTR prompt);
```
Синтаксис COM:
```
BOOL UserSetPlacement (LPOLESTR prompt);
Входной параметр:
prompt - текст строки-подсказки.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
Примечание:
После вызова этой функции запускается такой же режим, как после вызова в КОМПАС-3D команды Разместить эскиз.