Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/nurbs.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
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>
2026-05-26 20:00:05 +03:00

70 lines
3.3 KiB
Markdown

---
title: "Nurbs - Создать NURBS"
type: guide
api: [api7]
tags: [guide, api7, nurbs]
sources:
- nurbs.html
---
*API экспортных функций > Функции работы с графическим документом  > Создание графических объектов  > Кривые Безье, Nurbs, ломаные *
## Nurbs - Создать NURBS
Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksNurbs.
Синтаксис:
```
int Nurbs (unsigned char degree,
unsigned char close,
unsigned int style);
Входные параметры:
degree - порядок NURBS (степень полинома + 1), от 3 до 10,
close - признак замыкания сплайна: FALSE - незамкнутый, TRUE - замкнутый,
style стиль линии.
Системные стили линий...
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
1. Узлы кривой определяются следующими далее функциями Point или NurbsPoint. Описание кривой завершается функцией EndObj, возвращающей указатель на созданную кривую.
2. Объект создается в текущем слое текущего вида.
3. В качестве стиля линии можно задавать номер предопределенного (системного LStyles) или пользовательского стиля линии.
## Кривые Безье, Nurbs, ломаные
Функции данного радела обеспечивают построение NURBS и кривых Безье.
Bezier - Создать кривую Безье
_Bezier - Создать кривую Безье по массиву точек (узлов кривой Безье)
BezierPoint - Построить узел кривой Безье
ksAddPowerForm - Ввести параметр для построения NURBS кусочно-степенным способом
ksCreatePowerArc - Построить дугу NURBS кусочно-степенным способом и присоединить ее к существующей кривой NURBS
ksNurbsKnot - Создать узел NURBS-кривой
ksPolyline - Создать ломаную
_ksPolyline - Создать ломаную линию
ksPolylineEx - Создать ломаную линию
Nurbs - Создать NURBS
NurbsForConicCurve - Создать NURBS по характеристическим точкам конического сечения
NurbsPoint - Создать узел NURBS
TanLineAngCurve - Функция расчета касательной к кривой
## Nurbs, NurbsPoint - пример использования
void Nurbs_Example (void) {
static NurbsPointParam par[]={{ 0,0,1}, {20,20,1}, {50,10,1}, {70,20,1}, {100,0,1}, {50,-50,1}};
//построить Nurbs-кривую
if (Nurbs(3, 0, 1))
for (int i=0; i<6; i) {
NurbsPoint(&par[i]);
}
reference p = EndObj();
LightObj(p, 1);
Message(NURBS);
LightObj(p, 0);
}
}; /* Nurbs_Example */