Главная » Delphi, OLE, САПР » Правильный многоугольник Параметры многоугольника (ksRegularPolygonParam) – КОМПАС в DELPHI

0

Параметры правильного многоугольника задаются интерфейсом ksRegularPolygonParam. Получить данный интерфейс можно с помощью метода GetParamStruct интерфейса KompasObject, для этого ему в качестве параметра нужно передать константу ko_RegularPolygonParam.

Ниже представлены свойства этого интерфейса:

ang – угол между вертикальной осью и одно из вершин многоугольника;

count – количество вершин;

describe – определяет значение свойства radius. Если свойство describe имеет значение true, тогда свойство radius рассматривается как радиус вписанной в многоугольник окружности. В противном случае (если значение свойства describe равно false) свойство radius рассматривается как радиус описанной вокруг многоугольника окружности.

radius – радиус вписанной или описанной (в зависимости от значения свойства describe) окружности;

style – стиль линий многоугольника;

xc и yc – координаты центра вписанной или описанной окружности.

Среди методов данного интерфейса нас будет интересовать всего один метод Init(). Данный метод сбрасывает настройки многоугольника.

Построение многоугольника

Для построения многоугольника используется метод ksRegularPolygon интерфейса ksDocument2D. Вот его прототип:

ksRegularPolygon(

const par: IDispatch; //Интерфейс ksRegularPolygonParam

centre: Smallint     //признак обозначения центра

): Integer;

Как видите построение многоугольника похоже на построение прямоугольника, о котором мы говорили в предыдущей главе. Параметр Smallint здесь имеет то же самое значение.

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

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

многоугольником.

var

kompas: KompasObject; Document2D: ksDocument2D;

RegularPolygonParam: ksRegularPolygonParam;

………

Begin

………

//Получаем интерфейс параметров многоугольника

RegularPolygonParam:=ksRegularPolygonParam(kompas.GetParamStruct(ko_RegularPolygonParam));

//без наклона

RegularPolygonParam.ang:=0;

//шестиугольник

RegularPolygonParam.count:=6;

//радиус вписанной окружности равен 10 RegularPolygonParam.describe:=true; RegularPolygonParam.radius:=10;

//основной стиль линии

RegularPolygonParam.style:=1;

//координаты центра вписанной окружности RegularPolygonParam.xc:=100; RegularPolygonParam.yc:=100;

//Строим сам многоугольник

Document2D.ksRegularPolygon(RegularPolygonParam, 0);

………

На рисунке ниже представлен результат работы этой программы.

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

По теме:

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