Лінія-виноска для позначення таврування – КОМПАС в DELPHI

Параметри лінії-винесення для позначення таврування (ksBrandLeaderParam)

Інтерфейс ksBrandLeaderParam служить для обпісанія параметрів лінії-винесення для позначення таврування Отримати цей інтерфейс можна за допомогою методу GetParamStruct інтерфейсу KompasObject Для цього в якості єдиного параметра даному методу потрібно передати значення константи ko_BrandLeaderParam Розглянемо властивості інтерфейсу ksBrandLeaderParam

arrowType – Тип покажчика на «ніжці» Аналогічний властивості arrowType інтерфейсу ksLeaderParam (див главу 40)

cText0 – Кількість рядків в знаку таврування Де і як зберігаються рядки, буде розказано нижче Кількість рядків максимум однієї

cText1 – Кількість рядків над «ніжкою» (не більше одного рядка)

cText2 – Кількість рядків під «ніжкою» (не більше одного рядка)

dirX – Орієнтація знака таврування по горизонталі Якщо значення властивості дорівнює 1, то знак таврування орієнтований вправо Якщо ж значення властивості дорівнює -1, то знак таврування орієнтований вліво

style1 – Номер системного стилю тексту в знаку таврування Існуючі системні стилі тексту та їх номери наводилися в главі 22 Для позначення таврування не передбачено окремого системного стилю

тексту Тому в значенні цієї властивості ми будемо вказувати значення 0 (використовувати стиль тексту за замовчуванням для даного обєкта)

style2 – Номер системного стилю тексту для рядків у «ніжки» Тут підійдуть значення або 7 (стиль тексту на «ніжці» лінії-винесення), або 0 (стиль тексту за замовчуванням)

x і y – Координати базової точки, тобто точки перетину «ніжки» («ніжок») і знака таврування

Тепер розглянемо методи інтерфейсу ksBrandLeaderParam

GetpPolyline() – Повертає інтерфейс масиву (ksDynamicArray, см главу 22) «ніжок» Кожна «ніжка» являє собою масив (ksDynamicArray) точок (ksMathPointParam, см главу 29)

SetpPolyline – Встановлює новий масив «ніжок» Встановлюваний масив приймається в якості єдиного параметра У разі успіху

повертає значення TRUE

GetpTextline() – Повертає інтерфейс масиву (ksDynamicArray) рядків (ksChar255, см главу 22) Кількість рядків залежить від значення властивостей cText0, cText1 і cText2 Рядки йдуть в такому порядку: рядок в знаку таврування (Якщо є), рядок над «ніжкою» (якщо є), рядок під

«Ніжкою» (якщо є)

SetpTextline – Встановлює новий масив (ksDynamicArray) рядків (ksChar255) Встановлюваний масив приймається в якості єдиного параметра У разі успіху метод повертає значення TRUE

Init() – Ініціалізує нулями значення властивостей інтерфейсу, а також перестворює масив «ніжок» і рядків У разі успіху повертає значення TRUE

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

У разі успіху метод повертає числовий ідентифікатор

побудованої лінії-винесення А в разі помилки – значення нуль

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

var

kompas: KompasObject Document2D: ksDocument2D

BrandLeaderParam: ksBrandLeaderParam DynamicArray1,DynamicArray2: ksDynamicArray

MathPointParam: ksMathPointParam Char255: ksChar255

…………………………

Begin

…………………………

/ / Отримуємо інтерфейс параметрів лінії-винесення для позначення таврування

BrandLeaderParam:=ksBrandLeaderParam(kompasGetParamStruct(ko_BrandLeaderParam)) BrandLeaderParamarrowType:=0 / / Без покажчика BrandLeaderParamcText0  :=1 / / Кількість рядків в знаку таврування BrandLeaderParamcText1  :=1 / / Кількість рядків над ніжкою

BrandLeaderParamcText2  :=0 / / Кількість рядків під ніжкою BrandLeaderParamdirX    :=1 / / Орієнтація вправо BrandLeaderParamstyle1  :=0 / / Стиль тексту в знаку таврування BrandLeaderParamstyle2  :=0 / / Стиль тексту над / під ніжкою

/ / Координати базової точки

BrandLeaderParamx := 110

BrandLeaderParamy := 110

/ / Отримуємо масив ніжок

DynamicArray1 := ksDynamicArray(BrandLeaderParamGetpPolyline()) DynamicArray1ksClearArray()

/ / Отримуємо масив точок

DynamicArray2 := ksDynamicArray(kompasGetDynamicArray(2)) DynamicArray2ksClearArray()

//Отримуємо інтерфейс параметрів математичної точки

MathPointParam := ksMathPointParam(kompasGetParamStruct(ko_MathPointParam))

MathPointParamx := 100

MathPointParamy := 100

/ / Додаємо крапку в масив точок

DynamicArray2ksAddArrayItem(-1,MathPointParam)

/ / Додаємо ніжку в масив ніжок

DynamicArray1ksAddArrayItem(-1, DynamicArray2)

/ / Отримуємо масив рядків

DynamicArray1 := ksDynamicArray(BrandLeaderParamGetpTextline()) DynamicArray1ksClearArray()

/ / Отримуємо інтерфейс рядка

Char255: = ksChar255 (kompasGetParamStruct (ko_Char255)) Char255str: = п 3 ;

/ / Додаємо рядок в масив рядків

DynamicArray1ksAddArrayItem(-1,Char255)

Char255str: = Ку;

/ / Додаємо рядок в масив рядків

DynamicArray1ksAddArrayItem(-1,Char255)

/ / Будуємо саму лінію-виноску для позначення таврування

Document2DksBrandLeader(BrandLeaderParam)

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>

*

*