---
title: "Условное изображение резьбы (Интерфейсы ksThreadDefinition, IThreadDefinition)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, ksthreaddefinition]
sources:
  - ksthreaddefinition.html
---

*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы дополнительных элементов *


## Условное изображение резьбы (Интерфейсы ksThreadDefinition, IThreadDefinition)

Интерфейс условного изображения резьбы.
| ksThreadDefinition | - интерфейс Automation |
| --- | --- |
| IThreadDefinition | - интерфейс COM |
Примечание:
1. Определяется параметрами резьбы: номинальный диаметр резьбы, длина резьбы, шаг резьбы, тип резьбы (внутренняя, внешняя), направление построения резьбы, а также объектами необходимыми для построения: базовый объект (ребро или грань), начальная и конечная грань.
2. Если базовым объектом является ребро, то базовая грань определяется автоматически. При этом задание начальной и конечной грани не обязательно, хотя возможно. Если базовым объектом является грань, то указывать начальную и конечную грани необходимо. Базовая грань должна быть цилиндрической либо конической, начальная и конечная грань - любые грани, ограничивающие резьбу. Базовое ребро должно быть окружностью, принадлежащей цилиндру.
3. Если базовое ребро изменено, то при вызове методов Update или Create автоматически будет произведена проверка направления резьбы. В случае ошибки направление изменится.
4. Начальная и конечная грань применяются для определения длины резьбы при включенной опции автоматически определения длины. Кроме того, начальная грань указывает, откуда откладывается резьба.
5. Если включено автоопределение диаметра, то номинальный диаметр резьбы не зависит от значения указанного пользователем. Если включено автоопределение длины резьбы, длина не будет зависеть от значения указанного пользователем.
6. Данный интерфейс можно получить, используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition.


## allLength - Полная длина

Тип данных: BOOL
Значения свойства:
| TRUE | - длина резьбы length не зависит от значения указанного пользователем, |
| --- | --- |
| FALSE | - длина резьбы задается пользователем. |
Синтаксис Automation:
```
allLength = iThreadDefinition.allLength    Получить свойство (* )
iThreadDefinition.allLength = allLength    Установить свойство (* )
allLength = iThreadDefinition.GetAllLength()    Получить свойство (**)
iThreadDefinition.SetAllLength(allLength)    Установить свойство (**)
```


## autoDefinDr - Автоопределение диаметра

Тип данных: BOOL
Значения свойства:
| TRUE | - номинальный диаметр резьбы dr не зависит от значения указанного пользователем, |
| --- | --- |
| FALSE | - номинальный диаметр резьбы задается пользователем. |
Синтаксис Automation:
```
autoDefinDr = iThreadDefinition.autoDefinDr    Получить свойство (* )
iThreadDefinition.autoDefinDr = autoDefinDr    Установить свойство (* )
iThreadDefinition.GetAutoDefinDr()    Получить свойство (**)
iThreadDefinition.SetAutoDefinDr(autoDefinDr)    Установить свойство (**)
```


## dr - Номинальный диаметр резьбы

Тип данных: double
Синтаксис Automation:
```
dr = iThreadDefinition.dr    Получить свойство (* )
iThreadDefinition.dr = dr    Установить свойство (* )
dr = iThreadDefinition.GetDr()    Получить свойство (**)
iThreadDefinition.SetDr(dr)    Установить свойство (**)
```
Примечание:
Если свойство автоопределения диаметра autoDefinDr имеет значение TRUE, номинальный диаметр резьбы не будет зависеть от значения указанного пользователем.


## faceValue - Направление построения резьбы

Тип данных: BOOL
Синтаксис Automation:
```
faceValue = iThreadDefinition.faceValue    Получить свойство (* )
iThreadDefinition.faceValue = faceValue    Установить свойство (* )
iThreadDefinition.GetFaceValue()    Получить свойство (**)
iThreadDefinition.SetFaceValue(faceValue)    Установить свойство (**)
```
Примечание:
Если базовое ребро изменено, то при вызове методов Update или Create автоматически будет произведена проверка направления резьбы. В случае ошибки направление изменится.


## GetBaseObject - Получить указатель на интерфейс базового объекта (ребра или грани), по которому строится резьба

Синтаксис Automation:
```
LPDISPATCH GetBaseObject();
```
Синтаксис COM:
```
LPENTITY GetBaseObject();
Возвращаемое значение:
- указатель на интерфейс ksEntity или IEntity.
```
Примечание:
1. Базовый объект может быть как ребром, так и гранью. Тип базового объекта определяется методами интерфейсов ksEntity или IEntity.
2. Если базовым объектом является ребро, то базовая грань определяется автоматически. При этом задание начальной и конечной грани не обязательно, хотя возможно. Если базовым объектом является грань, то указывать начальную и конечную грани необходимо. Базовая грань должна быть цилиндрической либо конической, начальная и конечная грань - любые грани, ограничивающие резьбу. Базовое ребро должно быть окружностью, принадлежащей цилиндру.


## GetFaceBegin - Получить указатель на интерфейс базового объекта (ребра или грани), от которого строится резьба

Синтаксис Automation:
```
LPDISPATCH GetFaceBegin();
```
Синтаксис COM:
```
LPENTITY GetFaceBegin();
Возвращаемое значение:
- указатель на интерфейс ksEntity или IEntity.
```
Примечание:
Начальная и конечная грань - любые грани, ограничивающие резьбу. Начальная и конечная грань применяются для определения длины резьбы при включенной опции автоматически определения длины. Кроме того, начальная грань указывает, откуда откладывается резьба.


## GetFaceEnd - Получить указатель на интерфейс базового объекта (ребра или грани), до которого строится резьба

Синтаксис Automation:
```
LPDISPATCH GetFaceEnd();
```
Синтаксис COM:
```
LPENTITY GetFaceEnd();
Возвращаемое значение:
- указатель на интерфейс объекта ksEntity или IEntity.
```
Примечание:
Начальная и конечная грань - любые грани, ограничивающие резьбу. Начальная и конечная грань применяются для определения длины резьбы при включенной опции автоматического определения длины. Кроме того, начальная грань указывает, откуда откладывается резьба.


## length - Длина резьбы

Синтаксис Automation:
```
length = iThreadDefinition.length    Получить свойство (* )
iThreadDefinition.length = length    Установить свойство (* )
length = iThreadDefinition.GetLength()    Получить свойство (**)
iThreadDefinition.SetLength(length)    Установить свойство (**)
```
Примечание:
Если свойство автоопределения длины резьбы allLength имеет значение TRUE, длина резьбы не будет зависеть от значения указанного пользователем.


## outside - Тип резьбы

Тип данных: BOOL
Значения свойства:
| TRUE | - резьба внешняя, |
| --- | --- |
| FALSE | - резьба внутренняя. |
Синтаксис Automation:
```
outside = iThreadDefinition.outside    Получить свойство (* )
outside = iThreadDefinition.GetOutside()    Получить свойство (**)
```
Примечание:
Свойство доступно только для чтения.


## p - Шаг резьбы

Тип данных: double
Синтаксис Automation:
```
p = iThreadDefinition.p    Получить свойство (* )
iThreadDefinition.p = p    Установить свойство (* )
p = iThreadDefinition.GetP()    Получить свойство (**)
iThreadDefinition.SetP(p)    Установить свойство (**)
```


## SetBaseObject - Установить ребро или грань, по которой строится резьба

Синтаксис Automation:
```
BOOL SetBaseObject(LPDISPATCH obj);
```
Синтаксис COM:
```
BOOL SetBaseObject(LPENTITY obj);
Входной параметр:
obj    - указатель на интерфейс ksEntity или IEntity.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
1. Базовый объект может быть как ребром, так и гранью. Тип базового объекта определяется методами интерфейсов ksEntity или IEntity.
2. Если базовым объектом является ребро, то базовая грань определяется автоматически. При этом задание начальной и конечной грани не обязательно, хотя возможно. Если базовым объектом является грань, то указывать начальную и конечную грани необходимо. Базовая грань должна быть цилиндрической либо конической, начальная и конечная грань - любые грани, ограничивающие резьбу. Базовое ребро должно быть окружностью, принадлежащей цилиндру.
3. Если базовое ребро изменено, то при вызове методов Update или Create автоматически будет произведена проверка направления резьбы. В случае ошибки направление изменится.


## SetFaceBegin - Установить грань, от которой строится резьба

Синтаксис Automation:
```
BOOL SetFaceBegin(LPDISPATCH face);
```
Синтаксис COM:
```
BOOL SetFaceBegin(LPENTITY face);
Входной параметр:
face    - указатель на интерфейс ksEntity или IEntity.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Начальная и конечная грань - любые грани, ограничивающие резьбу. Начальная и конечная грань применяются для определения длины резьбы при включенной опции автоматического определения длины. Кроме того, начальная грань указывает, откуда откладывается резьба.


## SetFaceEnd - Установить грань, до которой строится резьба

Синтаксис Automation:
```
BOOL SetFaceEnd (LPDISPATCH face);
```
Синтаксис COM:
```
BOOL SetFaceEnd (LPENTITY face);
Входной параметр:
face    - указатель на интерфейс объекта ksEntity или IEntity.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Начальная и конечная грань - любые грани, ограничивающие резьбу. Начальная и конечная грань применяются для определения длины резьбы при включенной опции автоматического определения длины. Кроме того, начальная грань указывает, откуда откладывается резьба.
