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>
22 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Интерфейс ISketch | interface |
|
|
|
|
*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
Примечание:
- При указании базовой плоскости можно задать направляющий объект для оси X или оси Y.
- Направление второй оси будет определяться как векторное произведение оси Z, направленной по нормали к плоскости, и заданным направлением.
- Направление осей можно задать также параметрами вектора.
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 - в случае неудачи.
Примечание:
- Метод позволяет менять направления осей на противоположные.
- Для осей можно выбирать направляющие объекты (см. метод ISketch::DirectingObject, ISketch::Vector3D).
- Можно выбрать направление для оси X или оси Y, третья ось ориентируется, исходя из положения оси Z и выбранной.
- Менять направление на противоположное можно только у выбранных осей.
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
Примечание:
- При указании базовой плоскости можно задать направляющий объект для оси X или оси Y.
- Направление второй оси будет определяться как векторное произведение оси Z, направленной по нормали к плоскости, и заданным направлением.
- Свойство доступно только для чтения.
WriteToFragment - Сохранить эскиз во фрагмент
Синтаксис Automation:
BOOL WriteToFragment( BSTR FileName );
Синтаксис COM:
HRESULT WriteToFragment( BSTR FileName, BOOL* Result );
Входные параметры:
FileName - имя файла фрагмента.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.