Импорт объектов из 5DC-файлов
Формат позволяет импортировать сплайны в виде набора точек(xyzijk). Основные положения:
- поддерживается только текстовый формат данных в кодировке UTF-8
- позволяет хранить несколько сплайнов: в качестве разделителя используется символ ";"(точка с запятой) на новой строке. После символа можно указать имя кривой
- минимальное количество точек (строк) сплайна не должно быть меньше двух
- первая строка файла вместо точек может содержать настройки
Если первая строка файла не содержит настроек, то для каждой строки, включая первую:
- числа координат разделяются пробелом
- точка представляется в виде 6 чисел: "X Y Z NX NY NZ", где X,Y,Z - координаты точки, а NX NY NZ - нормаль точки
Если первая строка файла содержит настройки, то для каждой строки, кроме первой:
- числа координат разделяются разделителем, заданным в строке настроек
- точка представляется в виде нескольких чисел, согласно формату, заданному в строке настроек
Если строка настроек задана, она должна содержать три обязательных параметра и может содержать шесть необязательных параметров. Параметры должны быть разделены пробелом.
Обязательные параметры:
- Формат чисел точки:
| Формат | Описание | Количество точек в строке | |
|---|---|---|---|
| 1 | tffNormalVector | Координаты точки и нормаль | 6 |
| 2 | tffQuaternion | Координаты точки и кватернион X Y Z W | 7 |
| 3 | tffEulerXYZ | Координаты точки и углы Эйлера Rx Ry Rz с поворотом вокруг подвижных осей | 6 |
| 4 | tffEulerXZY | Координаты точки и углы Эйлера Rx Rz Ry с поворотом вокруг подвижных осей | 6 |
| 5 | tffEulerYXZ | Координаты точки и углы Эйлера Ry Rx Rz с поворотом вокруг подвижных осей | 6 |
| 6 | tffEulerYZX | Координаты точки и углы Эйлера Ry Rz Rx с поворотом вокруг подвижных осей | 6 |
| 7 | tffEulerZXY | Координаты точки и углы Эйлера Rz Rx Ry с поворотом вокруг подвижных осей | 6 |
| 8 | tffEulerZYX | Координаты точки и углы Эйлера Rz Ry Rx с поворотом вокруг подвижных осей | 6 |
| 9 | tffEulerXYX | Координаты точки и углы Эйлера Rx Ry Rx с поворотом вокруг подвижных осей | 6 |
| 10 | tffEulerXZX | Координаты точки и углы Эйлера Rx Rz Rx с поворотом вокруг подвижных осей | 6 |
| 11 | tffEulerYXY | Координаты точки и углы Эйлера Ry Rx Ry с поворотом вокруг подвижных осей | 6 |
| 12 | tffEulerYZY | Координаты точки и углы Эйлера Ry Rz Ry с поворотом вокруг подвижных осей | 6 |
| 13 | tffEulerZXZ | Координаты точки и углы Эйлера Rz Rx Rz с поворотом вокруг подвижных осей | 6 |
| 14 | tffEulerZYZ | Координаты точки и углы Эйлера Rz Ry Rz с поворотом вокруг подвижных осей | 6 |
| 15 | tffFixedABC | Координаты точки и углы Эйлера Rx Ry Rz без поворота вокруг подвижных осей | 6 |
| 16 | tffFixedXZY | Координаты точки и углы Эйлера Rx Rz Ry без поворота вокруг подвижных осей | 6 |
| 17 | tffFixedYXZ | Координаты точки и углы Эйлера Ry Rx Rz без поворота вокруг подвижных осей | 6 |
| 18 | tffFixedYZX | Координаты точки и углы Эйлера Ry Rz Rx без поворота вокруг подвижных осей | 6 |
| 19 | tffFixedZXY | Координаты точки и углы Эйлера Rz Rx Ry без поворота вокруг подвижных осей | 6 |
| 20 | tffFixedZYX | Координаты точки и углы Эйлера Rz Ry Rx без поворота вокруг подвижных осей | 6 |
| 21 | tffFixedXYX | Координаты точки и углы Эйлера Rx Ry Rx без поворота вокруг подвижных осей | 6 |
| 22 | tffFixedXZX | Координаты точки и углы Эйлера Rx Rz Rx без поворота вокруг подвижных осей | 6 |
| 23 | tffFixedYXY | Координаты точки и углы Эйлера Ry Rx Ry без поворота вокруг подвижных осей | 6 |
| 24 | tffFixedYZY | Координаты точки и углы Эйлера Ry Rz Ry без поворота вокруг подвижных осей | 6 |
| 25 | tffFixedZXZ | Координаты точки и углы Эйлера Rz Rx Rz без поворота вокруг подвижных осей | 6 |
| 26 | tffFixedZYZ | Координаты точки и углы Эйлера Rz Ry Rz без поворота вокруг подвижных осей | 6 |
| 27 | tffTwoAngAB | Координаты точки и два угла AB | 5 |
| 28 | tffTwoAngAC | Координаты точки и два угла AC | 5 |
| 29 | tffTwoAngBA | Координаты точки и два угла BA | 5 |
| 30 | tffTwoAngBC | Координаты точки и два угла BC | 5 |
| 31 | tffAxisAngleRad | Координаты точки и ось - угол в радианах | 6 |
| 32 | tffAxisAngleDeg | Координаты точки и ось - угол в градусах | 6 |
- Углы заданы в градусах: True (градусы)/False (радианы). Актуально для форматов в пунктах 3 - 30.
- Разделитель - всегда один символ.
Необязательные параметры (дополнительная трансформация):
- Смещение вдоль оси X. X=N, где N - значение смещения
- Смещение вдоль оси Y. Y=N, где N - значение смещения
- Смещение вдоль оси Z. Z=N, где N - значение смещения
- Поворот на угол A. A=N, где N - значение угла поворота
- Поворот на угол B. B=N, где N - значение угла поворота
- Поворот на угол C. C=N, где N - значение угла поворота
Пример файла, не содержащего настроек:
format5DC.5dc
; first
0.000000 0.000000 0.000000 -1.000000 0.000000 0.000000
0.000000 50.000000 0.000000 0.000000 0.000000 1.000000
50.000000 50.000000 0.000000 0.000000 1.000000 0.000000
50.000000 50.000000 50.000000 1.000000 0.000000 0.000000
; second
25.000000 0.000000 0.000000 0.000000 0.000000 1.000000
50.000000 50.000000 -50.000000 0.000000 1.000000 0.000000
Результат добавления кривых в рабочее задание кнопкой
в операции 5D контур представлен на следующем изображении:

Пример файла, c настройками:
format5DC_2.5dc
tffEulerXYZ true , A=0.00 B=0.00 C=0.00
0.000,0.000,0.000,0.000,-90.000,0.000
0.000,50.000,0.000,0.000,0.000,90.000
50.000,50.000,0.000,-90.000,0,0.000
50.000,50.000,50.000,-90.000,0,0.000
Результат добавления такой кривой в рабочее задание кнопкой
в операции 5D контур представлен на следующем изображении:
