Приклад. Лінія-виноска з рядком під полицею – КОМПАС в 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 := 1 / / Під полицею лінії-виноски

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)

/ / Отримуємо масив елементів 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: = Рядок над полицею; / / Сама рядок

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

DynamicArray2ksAddArrayItem(-1,TextItemParam)

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

DynamicArrayksAddArrayItem(-1, TextLineParam)

/ / Визначаємо рядок під полицею

TextItemParamtype_:=0 / / Рядок

TextItemParams: = Рядок під полицею; / / Сама рядок

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

DynamicArray2ksClearArray() 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>

*

*