---
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); // создаётся многоугольник с осями
