Главная » Delphi, OLE, САПР » Поворот Постановка задачи – КОМПАС в DELPHI

0

Предположим, что вам нужно построить повернутый равнобедренный треугольник:

Можно конечно вспомнить школьный курс геометрии и вычислить координаты вершин этого треугольника после поворота. А можно поступить

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

Осуществление этой операции очень похоже на осуществление симметричного отображения, о котором мы говорили в прошлой главе. Здесь также как и в случае с симметрией сначала создается группа объектов, которая будет повернута, после чего выполняется сам поворот.

Группа объектов создается точно так же как и в случае с симметрией. Поэтому здесь мы это описывать не будем (дабы не повторяться).

Поворот

Сам поворот осуществляется методом ksRotateObj интерфейса ksDocument2D. Вот прототип этого метода:

ksRotateObj(

ref: Integer; //ссылка на группу объектов

x: Double; y: Double; //координаты центра поворота

angle: Double //угол на который нужно повернуть

): Integer;

нуль.

В случае успеха данный метод возвращает единицу, а в случае ошибки

Ниже  приводится  фрагмент  программы,  в  котором  осуществляется

построение повернутого треугольника.

var

Document2D: ksDocument2D; GroupID: integer;

………

begin

………

//Создаем новую группу объектов

GroupID:=Document2D.ksNewGroup(0);

//Строим элементы созданной группы

Document2D.ksLineSeg(100, 100, 120, 110,1);

Document2D.ksLineSeg(100, 100, 120, 90,1);

Document2D.ksLineSeg(120, 110, 120, 90,1);

//Завершаем строительство группы

Document2D.ksEndObj();

//Выполняем поворот

Document2D.ksRotateObj(GroupID, 100, 100, 60);

………

Обращаю ваше внимание на то, что при повороте исходные элементы не сохраняются.

Источник: Норсеев Сергей, «РАЗРАБОТКА ПРИЛОЖЕНИЙ ПОД КОМПАС В DELPHI»

По теме:

  • Комментарии