Приклад 3. Горизонтальний розмір зі стрілками зовні – КОМПАС в DELPHI

Іноді потрібно, щоб стрілки на розмірної лінії розміщувалися не всередині, а зовні Це особливо актуально, коли проставляється розмір невеликий і місця для проставляння самого розміру і стрілок просто не вистачає Як потрібно змінити приклад 1, щоб здійснити це Нижче наводиться змінений фрагмент того ж коду вирішальний цю задачу

var

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

DimDrawingParam: ksDimDrawingParam LDimSourceParam: ksLDimSourceParam DimTextParam: ksDimTextParam

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

Begin

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

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

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

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

LDimParam:=ksLDimParam(kompasGetParamStruct(ko_LDimParam))

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

DimDrawingParam:=ksDimDrawingParam(LDimParamGetDPar())

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

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

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

LDimSourceParam:=ksLDimSourceParam(LDimParamGetSPar())

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

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

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

LDimSourceParamps:=0 / / Розмірна лінія розміщена горизонтально

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

LDimSourceParamx1:=100 LDimSourceParamy1:=100

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

LDimSourceParamx2:=130 LDimSourceParamy2:=100

/ / Отримуємо інтерфейс 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 Реально ми змінили тільки значення властивостей pt1 і pt2 інтерфейсу ksDimDrawingParam У прикладі 1 вони брали значення 1, що говорило про те, що стрілки у відповідних точках розташовані всередині Тепер же ми присвоюємо їм значення 2, яке говорить про те, що стрілки у відповідних точках розташовані зовні Як бачите: все до НЕ пристойності просто Результат роботи цієї програми представлений на малюнку нижче

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

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


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

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

Ваш отзыв

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

*

*