Поворот Постановка завдання – КОМПАС в DELPHI

Припустимо, що вам потрібно побудувати повернений рівнобедрений трикутник:

Можна звичайно згадати шкільний курс геометрії і обчислити координати вершин цього трикутника після повороту А можна поступити

«Красивіше», якщо можна так висловитися Спочатку побудувати «звичайний не повернений трикутник, а потім повернути його засобами системи КОМПАС

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

Група обєктів створюється точно так само як і у випадку з симетрією Тому тут ми це описувати не будемо (щоб не повторюватися)

Сам поворот здійснюється методом ksRotateObj інтерфейсу ksDocument2D Ось прототип цього методу:

ksRotateObj(

ref: Integer / / Посилання на групу обєктів

x: Double y: Double / / Координати центру повороту

angle: Double / / Кут на який потрібно повернути

): Integer

нуль

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

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

побудова повернутого трикутника

var

Document2D: ksDocument2D GroupID: integer

………

begin

………

/ / Створюємо нову групу обєктів

GroupID:=Document2DksNewGroup(0)

/ / Будуємо елементи створеної групи

Document2DksLineSeg(100, 100, 120, 110,1)

Document2DksLineSeg(100, 100, 120, 90,1)

Document2DksLineSeg(120, 110, 120, 90,1)

/ / Завершуємо будівництво групи

Document2DksEndObj()

/ / Виконуємо поворот

Document2DksRotateObj(GroupID, 100, 100, 60)

………

Звертаю вашу увагу на те, що при повороті вихідні елементи не зберігаються

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

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


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

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

Ваш отзыв

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

*

*