Радіальний розмір із зламом – КОМПАС в DELPHI

Для завдання параметрів отрисовки радіального розміру з зламом використовується інтерфейс ksRBreakDrawingParam Розглянемо його властивості

ang – кут нахилу розмірної лінії до горизонталі pb – довжина зламу

pt – тип стрелкі1

Метод у даного інтерфйеса всього один – Init () Він обнуляє всі властивості даного інтерфйеса і, у разі успіху, повертає значення true

Параметри радіального розміру з зламом описуються за допомогою інтерфейсу ksRBreakDimParam Отримати його можна за допомогою методу GetParamStruct інтерфейсу KompasObject Для цього в якості єдиного параметра даному методу потрібно передати константу ko_RBreakDimParam Властивостей у інтерфейсу ksRBreakDimParam немає, тому переходимо відразу до його методам

GetDPar() – Повертає інтерфейс параметрів отрисовки радіального розміру з зламом ksRBreakDrawingParam (розглянуто в попередньому розділі даної глави)

GetSPar() – Повертає інтерфейс параметрів привязки діаметрального і радіального розмірів ksRDimSourceParam (розглядався в розділі 26)

GetTPar() – Повертає інтерфейс параметрів розмірного напису ksDimTextParam (розглядався в розділі 22)

SetDPar – Встановлює новий інтерфейс ksRBreakDrawingParam, що передається йому в якості єдиного параметра У разі успіху повертає значення true

SetSPar – Встановлює новий інтерфейс ksRDimSourceParam, що передається йому в якості єдиного параметра У разі успіху повертає значення true

SetTPar – Встановлює новий інтерфейс ksDimTextParam, що передається йому в якості єдиного параметра У разі успіху повертає значення true

1 Дивись опис інтерфейсу ksDimDrawingParam в главі 22

Для побудови радіального розміру з зламом використовується метод ksRadBreakDimension інтерфейсу ksDocument2D В якості єдиного параметра даний метод приймає інтерфейс ksRBreakDimParam, розглянутий в попередньому розділі даної глави

У разі успіху метод ksRadBreakDimension повертає числовий ідентифікатор побудованого радіального розміру з зламом, а в разі помилки – нуль

Нижче наводиться вихідний код програми, яка демонструє простановку радіального розміру з зламом

var

kompas: KompasObject Document2D: ksDocument2D

RBreakDimParam: ksRBreakDimParam RBreakDrawingParam: ksRBreakDrawingParam RDimSourceParam: ksRDimSourceParam

DimTextParam: ksDimTextParam DynamicArray: ksDynamicArray

……………………………

Begin

……………………………

/ / Будуємо дугу кола, радіус якої будемо вимірювати

Document2DksArcByAngle(100, 100, 50, 10, 70, 1, 1)

/ / Отримуємо інтерфейс ksRBreakDimParam

RBreakDimParam:=ksRBreakDimParam(kompasGetParamStruct(ko_RBreakDimParam))

/ / Отримуємо інтерфейс ksRDimDrawingParam

RBreakDrawingParam:=ksRBreakDrawingParam(RBreakDimParamGetDPar()) RBreakDrawingParamang:=30 / / Кут нахилу розмірної лінії RBreakDrawingParampb:=10 / / Довжина зламу RBreakDrawingParampt:=1  / / Стрілка зсередини

/ / Отримуємо інтерфейс ksRDimSourceParam

RDimSourceParam := ksRDimSourceParam(RBreakDimParamGetSPar())

/ / Координати центру вимірюваної окружності RDimSourceParamxc:=100 RDimSourceParamyc:=100

/ / Радіус вимірюваної дуги кола

RDimSourceParamrad:=50

/ / Отримуємо інтерфейс ksDimTextParam DimTextParam: = ksDimTextParam (RBreakDimParamGetTPar ()) DimTextParambitFlag: = 1 / / Автоматична простановка розміру DimTextParamsign: = 3/ / Значок радіуса

DimTextParamstringFlag:=false DimTextParamstyle:=3/ / Текст розмірного напису

/ / Отримуємо інтерфейс ksDynamicArray DynamicArray:=ksDynamicArray(DimTextParamGetTextArr()) DynamicArrayksClearArray() / / Очищаємо масив

/ / Будуємо діаметральний розмір Document2dksRadBreakDimension(RBreakDimParam) kompasVisible:=true

end

У результаті роботи цієї програми ви побачите приблизно таку картину:

Джерело: Норсеев Сергій, «розробка програм під КОМПАС У DELPHI»

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*