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

22 KiB
Raw Blame History

title, type, api, domain, tags, sources
title type api domain tags sources
Интерфейс ISketch interface
api7
sketch
feature
interface
api7
sketch
feature
isketch
isketch.html

*API интерфейсов. Версия 7 > Документ 3D  > Операции, массивы, эскизы, точки  > Эскиз *

Интерфейс ISketch

Интерфейс элемента Эскиз. Иерархия: IDispatch IKompasAPIObject IModelObject ISketch ILocalCSObject Примечание: Интерфейс можно получить с помощью метода коллекции эскизов ISketchs::Add или свойства ISketchs::Sketch. С помощью метода IUnknown::QueryInterface у интерфейса можно получить интерфейс подчиненного объекта ЛСК ILocalCSObject.

AddIntersectionOf - Добавить в эскиз пересечение с объектом

Синтаксис Automation:

VARIANT AddIntersectionOf( IKompasAPIObject * Object, long LinesStyle, ksAnnotationSymbolEnum PointsStyle, BOOL Extended );

Синтаксис COM:

HRESULT AddIntersectionOf( IKompasAPIObject * Object, long LinesStyle, ksAnnotationSymbolEnum PointsStyle, BOOL Extended, VARIANT * Result );
Возвращаемое значение:
- Массив созданных проекционных объектов в виде в виде SAFEARRAY'я DISPATCH - VT_ARRAY    VT_DISPATCH.
Входные параметры:
Object    - указатель на объект,
LinesStyle    - стиль линий,
PointsStyle    - стиль точек,
Extended    - учитывать продолжение.
Версия КОМПАС v23

AddProjectionOf - Добавить в эскиз проекцию объекта

Синтаксис Automation:

VARIANT AddProjectionOf( IModelObject * Object );

Синтаксис COM:

HRESULT AddProjectionOf( IModelObject * Object, VARIANT * Result );
Возвращаемое значение:
- Массив созданных проекционных объектов в виде в виде SAFEARRAY'я DISPATCH - VT_ARRAY    VT_DISPATCH.
Входные параметры:
Object    - указатель на интерфейс IModelObject.
Версия КОМПАС v22

AddSketch - Создать эскиз из уже имеющегося в заданной плоскости

Синтаксис Automation:

BOOL AddSketch( IModelObject * Sketch, IModelObject * Plane );

Синтаксис COM:

HRESULT AddSketch( IModelObject * Sketch, IModelObject * Plane, BOOL * Result );
Входные параметры:
Sketch    - указатель на эскиз,
Plane    - указатель на плоскость.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Angle - Угол поворота эскиза относительно проекции системы координат модели на плоскость эскиза (в градусах)

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

Angle = iObject.Angle;    Получить свойство (* )
iObject.Angle = Angle;    Установить свойство (* )
Angle = iObject.GetAngle();    Получить свойство (**)
iObject.SetAngle( Angle );    Установить свойство (**)

Синтаксис COM:

iObject->get_Angle( &Angle );    Получить свойство
iObject->put_Angle( Angle );    Установить свойство

AssociationObject - Точка привязки

Тип данных: Указатель на интерфейс IModelObject Синтаксис Automation:

AssociationObject = Object.AssociationObject;    Получить свойство (* )
Object.AssociationObject = AssociationObject;    Установить свойство (* )
AssociationObject = Object.GetAssociationObject();    Получить свойство (**)
Object.SetAssociationObject( AssociationObject );    Установить свойство (**)

Синтаксис COM:

Object.get_AssociationObject( &AssociationObject );    Получить свойство
Object.put_AssociationObject( AssociationObject );    Установить свойство

BeginEdit - Войти в режим редактирования эскиза

Синтаксис Automation:

BeginEdit();
Возвращаемое значение:
SketchDoc    - указатель на интерфейс IFragmentDocument.

Синтаксис COM:

HRESULT BeginEdit( [out, retval] IFragmentDocument ** SketchDoc );
Возвращаемое значение:
SketchDoc    - указатель на интерфейс IFragmentDocument.

Примечание: После редактирования необходимо вызвать функцию ISketch::EndEdit.

BeginEditEx - Войти в режим редактирования эскиза

Синтаксис Automation:

LPDISPATCH BeginEditEx( BOOL ReadOnly );

Синтаксис COM:

HRESULT BeginEditEx( BOOL ReadOnly, IFragmentDocument * * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
ReadOnly    - = TRUE - для чтения.

BuildingType - Способ построения

Тип данных: из перечисления ksSketchBuildingTypeEnum Синтаксис Automation:

BuildingType = Object.BuildingType    Получить свойство (* )
Object.BuildingType = BuildingType    Установить свойство (* )
BuildingType = Object.GetBuildingType()    Получить свойство (**)
Object.SetBuildingType( BuildingType )    Установить свойство (**)

Синтаксис COM:

Object.get_BuildingType( &BuildingType )    Получить свойство
Object.put_BuildingType( BuildingType )    Установить свойство
КOMPAS v24

ConstraintsState - Параметрическое состояние эскиза

Тип данных: Значение из перечисления ksConstraintsStateEnum Синтаксис Automation:

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

Синтаксис COM:

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

Примечание: Свойство доступно только для чтения. Версия КОМПАС v22

CoordinateSystem - Система координат эскиза

Тип данных: Указатель на интерфейс IModelObject Синтаксис Automation:

CoordinateSystem = Object.CoordinateSystem;    Получить свойство (* )
Object.CoordinateSystem = CoordinateSystem;    Установить свойство (* )
CoordinateSystem = Object.GetCoordinateSystem();    Получить свойство (**)
Object.SetCoordinateSystem( CoordinateSystem );    Установить свойство (**)

Синтаксис COM:

Object.get_CoordinateSystem( &CoordinateSystem );    Получить свойство
Object.put_CoordinateSystem( CoordinateSystem );    Установить свойство

Curves - Траектория

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

Curves = Object.Curves    Получить свойство (* )
Object.Curves = Curves    Установить свойство (* )
Curves = Object.GetCurves()    Получить свойство (**)
Object.SetCurves( Curves )    Установить свойство (**)

Синтаксис COM:

Object.get_Curves( &Curves )    Получить свойство
Object.put_Curves( Curves )    Установить свойство
КOMPAS v24

DeleteWrongProjection - Удалить ошибочные проекции

Синтаксис Automation:

BOOL DeleteWrongProjection();

Синтаксис COM:

HRESULT DeleteWrongProjection( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

DirectingObject - Направляющий объект для оси

Тип данных: Указатель на интерфейс IModelObject Синтаксис Automation:

DirectingObject = Object.DirectingObject( Axis );    Получить свойство (* )
Object.DirectingObject( Axis ) = DirectingObject;    Установить свойство (* )
DirectingObject = Object.GetDirectingObject( Axis );    Получить свойство (**)
Object.SetDirectingObject( Axis, DirectingObject );    Установить свойство (**)

Синтаксис COM:

Object.get_DirectingObject( Axis, &DirectingObject );    Получить свойство
Object.put_DirectingObject( Axis, DirectingObject );    Установить свойство
Входные параметры:
Axis    - тип оси: o3d_axisOX - ось X, o3d_axisOY - ось Y

Примечание:

  1. При указании базовой плоскости можно задать направляющий объект для оси X или оси Y.
  2. Направление второй оси будет определяться как векторное произведение оси Z, направленной по нормали к плоскости, и заданным направлением.
  3. Направление осей можно задать также параметрами вектора.

Direction - Направление

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

Direction = Object.Direction    Получить свойство (* )
Object.Direction = Direction    Установить свойство (* )
Direction = Object.GetDirection()    Получить свойство (**)
Object.SetDirection( Direction )    Установить свойство (**)

Синтаксис COM:

Object.get_Direction( &Direction )    Получить свойство
Object.put_Direction( Direction )    Установить свойство
КOMPAS v24

Edges - Массив рёбер(SAFEARRAY)

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

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

Синтаксис COM:

Object.get_Edges( EdgesType, &Edges )    Получить свойство.

Примечание: Свойство доступно только для чтения. Версия КОМПАС v22

EndEdit - Выйти из режима редактирования эскиза

Синтаксис Automation:

BOOL EndEdit();

Синтаксис COM:

HRESULT EndEdit( [out, retval] VARIANT_BOOL * res );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Fixed - Фиксация

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

Fixed = Object.Fixed;    Получить свойство (* )
Object.Fixed = Fixed;    Установить свойство (* )
Fixed = Object.GetFixed();    Получить свойство (**)
Object.SetFixed( Fixed );    Установить свойство (**)

Синтаксис COM:

Object.get_Fixed( &Fixed );    Получить свойство
Object.put_Fixed( Fixed );    Установить свойство

GetLocation - Получить смещение системы координат эскиза относительно проекции системы координат модели на плоскость эскиза

Синтаксис Automation:

BOOL GetLocation( double X, double Y);

Синтаксис COM:

HRESULT GetLocation([out] double * X, [out] double * Y, [out, retval] VARIANT_BOOL * PVal);
Выходные параметры:
X    - смещение системы координат эскиза по оси X,
Y    - смещение системы координат эскиза по оси Y.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

GetLoftPoint - Получить координаты точки в плоскости эскиза

Синтаксис Automation:

BOOL GetLoftPoint( double X, double Y);

Синтаксис COM:

HRESULT GetLoftPoint([out] double * X, [out] double * Y, [out, retval] VARIANT_BOOL * PVal);
Выходные параметры:
X    - значение координаты точки по оси X,
Y    - значение координаты точки по оси Y.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

GetPoint3D - Получить пространственную точку по точке на плоскости XY

Синтаксис Automation:

BOOL GetPoint3D( double XIn, double YIn, double * XOut, double * YOut, double * ZOut );

Синтаксис COM:

HRESULT GetPoint3D( double XIn, double YIn, double * XOut, double * YOut, double * ZOut, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
XIn, YIn    - координаты эскиза.
Выходные параметры:
XIn, YIn, ZIn    - координаты 3D точки.
Версия КОМПАС v22

GetPointProjectionToXY - Проекция точки на плоскость XY

Синтаксис Automation:

BOOL GetPointProjectionToXY( double XIn, double YIn, double ZIn, double * XOut, double * YOut );

Синтаксис COM:

HRESULT GetPointProjectionToXY( double XIn, double YIn, double ZIn, double * XOut, double * YOut, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
XIn, YIn, ZIn    - координаты 3D точки.
Выходные параметры:
XOut, YOut    - координаты проекционной точки.
Версия КОМПАС v22

LeftHandedCS - Признак левосторонней системы координат

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

LeftHandedCS = Object.LeftHandedCS;    Получить свойство (* )
Object.LeftHandedCS = LeftHandedCS;    Установить свойство (* )
LeftHandedCS = Object.GetLeftHandedCS();    Получить свойство (**)
Object.SetLeftHandedCS( LeftHandedCS );    Установить свойство (**)

Синтаксис COM:

Object.get_LeftHandedCS( &LeftHandedCS );    Получить свойство
Object.put_LeftHandedCS( LeftHandedCS );    Установить свойство

Offset - Величина смещения

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

Offset = Object.Offset    Получить свойство (* )
Object.Offset = Offset    Установить свойство (* )
Offset = Object.GetOffset()    Получить свойство (**)
Object.SetOffset( Offset )    Установить свойство (**)

Синтаксис COM:

Object.get_Offset( &Offset )    Получить свойство
Object.put_Offset( Offset )    Установить свойство
КOMPAS v24

OffsetType - Тип задания смещения

Тип данных: из перечисления ksPoint3DCurveParamTypeEnum Синтаксис Automation:

OffsetType = Object.OffsetType    Получить свойство (* )
Object.OffsetType = OffsetType    Установить свойство (* )
OffsetType = Object.GetOffsetType()    Получить свойство (**)
Object.SetOffsetType( OffsetType )    Установить свойство (**)

Синтаксис COM:

Object.get_OffsetType( &OffsetType )    Получить свойство
Object.put_OffsetType( OffsetType )    Установить свойство
КOMPAS v24

Plane - Опорная плоскость

Тип данных: указатель на интерфейс IModelObject Синтаксис Automation:

Plane = iObject.Plane;    Получить свойство (* )
iObject.Plane = Plane;    Установить свойство (* )
Plane = iObject.GetPlane();    Получить свойство (**)
iObject.SetPlane( Plane );    Установить свойство (**)

Синтаксис COM:

iObject->get_Plane( &Plane );    Получить свойство
iObject->put_Plane( Plane );    Установить свойство

RotateAxis - Сменить направление оси на противоположное

Синтаксис Automation:

BOOL RotateAxis( ksObj3dTypeEnum axis );

Синтаксис COM:

HRESULT RotateAxis( ksObj3dTypeEnum axis, BOOL * Result);
Входной параметр:
axis    - тип оси из перечисления ksObj3dTypeEnum (должны передаваться типы : o3d_axisOX o3d_axisOY ).
Возвращаемое значение :
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание:

  1. Метод позволяет менять направления осей на противоположные.
  2. Для осей можно выбирать направляющие объекты (см. метод ISketch::DirectingObject, ISketch::Vector3D).
  3. Можно выбрать направление для оси X или оси Y, третья ось ориентируется, исходя из положения оси Z и выбранной.
  4. Менять направление на противоположное можно только у выбранных осей.

SetLocation - Установить смещение системы координат эскиза относительно проекции системы координат модели на плоскость эскиза

Синтаксис Automation:

BOOL SetLocation( double X, double Y);

Синтаксис COM:

HRESULT SetLocation([in] double X, [in] double Y, [out, retval] VARIANT_BOOL * PVal);
Входные параметры:
X    - смещение системы координат эскиза по оси X,
Y    - смещение системы координат эскиза по оси Y.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

SetLoftPoint - Установить координаты точки в плоскости эскиза

Синтаксис Automation:

BOOL SetLoftPoint( double X, double Y);

Синтаксис COM:

HRESULT SetLoftPoint([in] double X, [in] double Y, [out, retval] VARIANT_BOOL * PVal);
Входные параметры:
X    - значение координаты точки по оси X,
Y    - значение координаты точки по оси Y.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

UserSetPlacement - Разместить эскиз

Синтаксис Automation:

BOOL UserSetPlacement( BSTR Prompt );
Синтаксис COM:HRESULT UserSetPlacement( BSTR Prompt, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Prompt    - cтрока приглашение.
Версия КОМПАС v22

Vector3D - Вектор, задающий направление оси

Тип данных: Указатель на интерфейс IVector3D Синтаксис Automation:

Vector3D = Object.Vector3D( Axis )    Получить свойство(* )
Vector3D = Object.GetVector3D( Axis )    Получить свойство(**)

Синтаксис COM:

Object.get_Vector3D( Axis, &Vector3D )    Получить свойство.
Входные параметры:
Axis    - тип оси: o3d_axisOX - ось X, o3d_axisOY - ось Y

Примечание:

  1. При указании базовой плоскости можно задать направляющий объект для оси X или оси Y.
  2. Направление второй оси будет определяться как векторное произведение оси Z, направленной по нормали к плоскости, и заданным направлением.
  3. Свойство доступно только для чтения.

WriteToFragment - Сохранить эскиз во фрагмент

Синтаксис Automation:

BOOL WriteToFragment( BSTR FileName );

Синтаксис COM:

HRESULT WriteToFragment( BSTR FileName, BOOL* Result );
Входные параметры:
FileName    - имя файла фрагмента.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.