Стрілка напряму погляду – КОМПАС в DELPHI

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

str – Рядок з текстовим позначенням напряму погляду

style – Номер системного стилю тексту Допустимі номера системних стилів текстів наводилися в главі 22 Тут лише нагадаю, що для позначення стрілки напрямку погляду передбачений системний стиль тексту з номером 12

type_1 – визначає спосіб завдання текстового позначення стрілки напрямку погляду Якщо значення цієї властивості дорівнює нулю, то текст задається у вигляді рядка, що вказується в значенні властивості str Якщо ж значення цієї властивості дорівнює одиниці, то текст вказується у вигляді масиву ksDynamicArray, а значення властивості str ігнорується

x1 і y1 – Координати вершини стрілки напрямку погляду

x2 і y2 – Координати кінцевої точки стрілки напрямку погляду

xt і yt – Координати точки привязки текстового позначення стрілки напрямку погляду

Всі ці три точки продемонстровані на малюнку нижче

Точки (x1 y1) і (x2 y2) визначають орієнтацію стрілки напрямку погляду, але її точний розмір визначає сама система КОМПАС

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

GetpTextline() – Повертає інтерфейс масиву ksDynamicArray, в якому має бути визначено текстове позначення стрілки напрямку погляду Це масив використовується в тому випадку, якщо значення властивості type_ одно одиниці Масив має тип TEXT_ITEM_ARR Це

1 У документації КОМПАС дана властивість описується як type (без знака підкреслення на кінці) Однак в заголовних файлах воно представлено як type_ (зі знаком підкреслення на кінці)

означає, що рядки в масиві задаються у вигляді інтерфейсу ksTextItemParam Ми не будемо розглядати роботу з цим масивом

SetpTextline – Встановлює новий масив ksDynamicArray Цей масив приймається в якості єдиного параметра методу У випадку

успіху метод повертає значення TRUE

Init() – Ініціалізує значення властивостей інтерфейсу При цьому значення всіх властивостей встановлюються рівними нулю Значення властивості type_ встановлюється рівним одиниці, і створюється масив ksDynamicArray

Для побудови стрілки напрямку погляду використовується метод ksViewPointer інтерфейсу ksDocument2D В якості єдиного параметра даний метод приймає інтерфейс ksViewPointerParam

У разі успіху метод повертає числовий ідентифікатор побудованої стрілки напрямку погляду А в разі помилки він повертає значення нуль

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

Var

kompas: KompasObject Document2D: ksDocument2D

ViewPointerParam: ksViewPointerParam

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

Begin

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

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

ViewPointerParam: = ksViewPointerParam (kompasGetParamStruct (ko_ViewPointerParam)) ViewPointerParamstr: = А;

ViewPointerParamstyle := 12

ViewPointerParamtype_ := 0

/ / Точка вершини стрілки напрямку погляду

ViewPointerParamx1 := 100

ViewPointerParamy1 := 100

/ / Кінцева точка стрілки напрямку погляду

ViewPointerParamx2 := 120

ViewPointerParamy2 := 100

/ / Точка привязки текстового позначення

ViewPointerParamxt := 110

ViewPointerParamyt := 105

/ / Будуємо саму стрілку напрямку погляду

Document2DksViewPointer(ViewPointerParam)

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>

*

*