Приклад 5. Вертикальний розмір з обривом – КОМПАС в DELPHI

При простановке великих розмірів часто вдаються до таких хитрощів: замість того, щоб ставити весь розмір позначають тільки одну з його крайніх частин, а другий опускають Такий розмір називають розміром з обривом, на малюнку нижче представлений приклад такого розміру:

Взагалі-то в системі КОМПАС для таких розмірів передбачені окремі інтерфейси, і ми їх детально розглянемо в наступному розділі Але це не означає, що даний розмір не можна поставити за допомогою інтерфейсів, обговорювалися в цій главі Можна Як

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

var

kompas: KompasObject Document2D: ksDocument2D Char255: ksChar255 DynamicArray: ksDynamicArray

LDimParam: ksLDimParam DimDrawingParam: ksDimDrawingParam LDimSourceParam: ksLDimSourceParam DimTextParam: ksDimTextParam

………………………………

Begin

………………………………

/ / Відрізок, довжину якого ми будемо проставляти в розмірі

Document2DksLineSeg(100, 100, 100, 130, 1)

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

LDimParam:=ksLDimParam(kompasGetParamStruct(ko_LDimParam))

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

DimDrawingParam:=ksDimDrawingParam(LDimParamGetDPar())

/ / Встановлюємо параметри отрисовки розміру DimDrawingParamang:=0    / / Кут нахилу ніжки внесений полки DimDrawingParamlenght:=0 / / Довжина ніжки внесений полки

DimDrawingParampl1:=true / / Першу виносну лінію не отрісовиваємих DimDrawingParampl2:=false / / Малювати другий виносну лінію DimDrawingParampt1:=0    / / У першому виносної лінії стрілки немає DimDrawingParampt2:=1    / / У другої виносної лінії стрілка всередині DimDrawingParamshelfDir:=0/ / Виносний полки немає DimDrawingParamtextBase:=0/ / Текст розміщується в центрі DimDrawingParamtextPos:=0 / / Автоматичне розміщення тексту

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

LDimSourceParam:=ksLDimSourceParam(LDimParamGetSPar())

/ / Встановлюємо параметри привязки лінійного розміру

LDimSourceParambasePoint:=1 / / Малюємо від першої точки до другої

/ / Вектор спрямування розмірного напису LDimSourceParamdx:=10 LDimSourceParamdy:=0

LDimSourceParamps:=1 / / Розмірна лінія розміщена вертикально

/ / Координати першої точки вимірюваного відрізка

LDimSourceParamx1:=100 LDimSourceParamy1:=100

/ / Координати другої точки вимірюваного відрізка

LDimSourceParamx2:=100

LDimSourceParamy2:=130

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

DimTextParam:=ksDimTextParam(LDimParamGetTPar)

/ / Встановлюємо параметри розмірного напису

DimTextParambitFlag:=0 / / Виводимо тільки номінал

DimTextParamsign:=0 / / Значка немає

DimTextParamstringFlag:=false

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

Char255 := ksChar255(kompasGetParamStruct(ko_Char255))

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

DynamicArray := ksDynamicArray(DimTextParamGetTextArr()) DynamicArrayksClearArray()

/ / Рядок з номіналом Char255str:=30; DynamicArrayksAddArrayItem(-1, Char255)

/ / Будуємо сам розмір Document2DksLinDimension(LDimParam) kompasVisible:=true

end

Що ми змінили Ось що:

1)&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Властивості pl1 інтерфейсу ksDimDrawingParam присвоєно значення true, яке говорить системі КОМПАС, що відмальовувати першу виносну лінію не треба

2)&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Властивості pt1 інтерфейсу ksDimDrawingParam присвоєно значення 0, яке говорить про те, що у першої виносної лінії стрілки немає

Тобто по факту ми просто приховуємо одну розмірну лінію і стрілку біля неї Ось так простий лінійний розмір може бути перетворений

в лінійний розмір з обривом

Звичайно, це не красиве, але цілком допустиме рішення У наступному розділі ми розглянемо, як вирішити цю задачу більш красивим чином

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

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


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

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

Ваш отзыв

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

*

*