e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
58 lines
2.3 KiB
Markdown
58 lines
2.3 KiB
Markdown
---
|
|
title: "ksPolyline - Создать ломаную"
|
|
type: guide
|
|
api: [api7]
|
|
tags: [guide, api7, kspolyline]
|
|
sources:
|
|
- kspolyline.html
|
|
---
|
|
|
|
*API экспортных функций > Функции работы с графическим документом > Создание графических объектов > Кривые Безье, Nurbs, ломаные *
|
|
|
|
|
|
## ksPolyline - Создать ломаную
|
|
|
|
Пример...
|
|
Аналог данной функции при использовании Automation - метод ksDocument2D::ksPolyline.
|
|
Синтаксис:
|
|
```
|
|
int ksPolyline (unsigned short style);
|
|
Входной параметр:
|
|
style стиль линии.
|
|
Системные стили линий...
|
|
Возвращаемое значение:
|
|
1 - в случае удачного завершения,
|
|
0 - в случае неудачи.
|
|
```
|
|
Примечание:
|
|
Узлы определяются следующими далее функциями Point. Описание завершается функцией EndObj, возвращающей указатель на созданный объект. Объект создается в текущем слое текущего вида. В качестве стиля линии можно задавать номер предопределенного (системного) или пользовательского стиля линии.
|
|
|
|
|
|
## ksPolyline, _ksPolyline - пример использования
|
|
|
|
void ksPolyline_Example (void) {
|
|
static MathPointParam pr1[] = { {10,10}, {20,20}, {30, 10}, {40,20} };
|
|
static MathPointParam pr2[] = { {10,15}, {20,25}, {30, 15}, {40,25} };
|
|
reference p;
|
|
if(ksPolyline(1)) {
|
|
for(int i = 0; i < 4; i)
|
|
Point(pr1[i].x, pr1[i].y, 1);
|
|
p = EndObj();
|
|
LightObj(p, 1);
|
|
Message(Полилиния);
|
|
LightObj(p, 0);
|
|
}
|
|
PolylineParam par;
|
|
//создадим массив неопределенной длины для математических точек
|
|
par.pMathPoint = CreateArray(POINT_ARR , 0);
|
|
//наполним массив
|
|
for(int i = 0; i < 4; i)
|
|
AddArrayItem(pMathPoint, -1, &pr2[i], sizeof(MathPointParam));
|
|
par.style = 2;
|
|
//создадим полилинию (тип линии - тонкая)
|
|
reference p = _ksPolyline(&par);
|
|
LightObj(p, 1);
|
|
Message(Полилиния);
|
|
LightObj(p, 0);
|
|
}; /* ksPolyline_Example */
|