Приклад. Лінія-виноска з двома «ніжками» – КОМПАС в DELPHI

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

var

kompas: KompasObject Document2D: ksDocument2D LeaderParam: ksLeaderParam

DynamicArray, DynamicArray2: ksDynamicArray

MathPointParam: ksMathPointParam TextLineParam: ksTextLineParam TextItemParam: ksTextItemParam

…………………………

Begin

…………………………

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

LeaderParam:=ksLeaderParam(kompasGetParamStruct(ko_LeaderParam))

LeaderParamaround := 0 / / Без значка по колу LeaderParamarrowType := 0 / / Без покажчика LeaderParamcText0 := 1 / / Над полицею лінії-виноски LeaderParamcText1 := 0 / / Під полицею лінії-виноски LeaderParamcText2 := 0 / / Над ніжкою LeaderParamcText3 := 0 / / Під ніжкою LeaderParamdirX  := 1 / / Полку вправо LeaderParamsignType := 0 / / Без знаку на полиці

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

LeaderParamx := 110

LeaderParamy := 110

/ / Отримуємо масив ніжок DynamicArray:=ksDynamicArray(LeaderParamGetpPolyline()) DynamicArrayksClearArray()

/ / Підготовляємо масив точок

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

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

MathPointParam := ksMathPointParam(kompasGetParamStruct(ko_MathPointParam))

MathPointParamx := 100

MathPointParamy := 100

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

DynamicArray2ksAddArrayItem(-1,MathPointParam)

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

DynamicArrayksAddArrayItem(-1,DynamicArray2)

/ / Визначаємо другу ніжку

MathPointParamx := 120

MathPointParamy := 100

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

DynamicArray2ksClearArray()

DynamicArray2ksAddArrayItem(-1,MathPointParam)

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

DynamicArrayksAddArrayItem(-1,DynamicArray2)

/ / Отримуємо масив елементів ksTextLineParam

DynamicArray := ksDynamicArray(LeaderParamGetpTextline()) DynamicArrayksClearArray()

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

TextLineParam := ksTextLineParam(kompasGetParamStruct(ko_TextLineParam)) TextLineParamstyle:=0 / / Стиль тексту за замовчуванням

/ / Отримуємо масив елементів ksTextItemParam

DynamicArray2 := ksDynamicArray(TextLineParamGetTextItemArr()) DynamicArray2ksClearArray()

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

TextItemParam := ksTextItemParam(kompasGetParamStruct(ko_TextItemParam))

/ / Визначаємо строковий позначення TextItemParamtype_: = 0 / / Рядок TextItemParams: = 1 ; / / Сама рядок

//Додаємо інтерфейс ksTextItemParam у відповідний масив

DynamicArray2ksAddArrayItem(-1,TextItemParam)

/ / Додаємо інтерфейс ksTextLineParam у відповідний масив

DynamicArrayksAddArrayItem(-1, TextLineParam)

/ / Будуємо саму лінію-виноску

Document2DksLeader(LeaderParam) 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>

*

*