--- 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 команды Разместить эскиз.