--- title: "ksRegularPolygon - Создать правильный многоугольник с заданными параметрами" type: guide api: [api7] tags: [guide, api7, ksregularpolygon] sources: - ksregularpolygon.html --- *API экспортных функций > Функции работы с графическим документом  > Создание графических объектов  > Графические примитивы * ## ksRegularPolygon - Создать правильный многоугольник с заданными параметрами Пример... Аналог данной функции при использовании Automation - метод ksDocument2D::ksRegularPolygon. Синтаксис: ``` reference ksRegularPolygon (RegularPolygonParam * par, unsigned char centre); Входные параметры: centre - признак построения обозначения центра: 0 - нет осей, 1 - значок осей (маленький "крестик"), 2 - горизонтальная ось, 3 - обе оси. Выходные параметры: par - указатель на структуру параметров правильного многоугольника. Возвращаемое значение: указатель на многоугольник - в случае удачного завершения, 0 - в случае неудачи. ``` ## ksRegularPolygon - Пример использования RegularPolygonParam par; par.count = 8; // количество вершин многоугольника par.xc = 100; // центр окружности par.yc = 100; par.ang = 35; // угол первой вершины par.radius = 40; // радиус окружности par.describe = 1; // признак описанного многоугольника. par.style = 1; // стиль линии par.pCorner = ::CreateArray (CORNER_ARR, 0); // динамический массив // структур параметров углов CORNER_ARR CornerParam cpar; // структура параметров угла cpar.index = 5; // индекс угла cpar.fillet = 0; // признак фаски cpar.l1 = 40; // длина фаски 1 сегмента cpar.l2 = 45; // длина фаски 2 сегмента ::AddArrayItem(par.pCorner, -1, &cpar, sizeof(CornerParam)); // добавить угол в массив cpar.index = 2; // индекс угла cpar.fillet = 1; // признак скругления cpar.l1 = 20; // радиус cpar.l2 = 20; // радиус ::AddArrayItem(par.pCorner, -1, &cpar, sizeof(CornerParam)); // добавить угол в массив ::ksRegularPolygon(&par, 3); // создаётся многоугольник с осями