Read curves and surfaces from ASTRA
Набор данных, помещаемый в базу данных, представляется в виде трехмерного массива с размерностями K, L, M: 1 <= K <= 255, 1 <= L <= 65000, 1 <= M <= 255. Кроме того массиву поставлен в со- ответсвие номер его типа (PQ), 1 <= PQ <= 255 . К каждому массиву может быть присоединена справочная и допол- нительная информация. Допустимый размер справочной информации не должен превышать 252, а дополнительной информации - 127 четырехбай- товых слов. Полное описание массива включает его размерности K, L, M, ра- змеры справочной и дополнительной информации, байт состояния масси- ва. Байт состояния массива может принимать следующие значения: 0 - разрешено чтение и запись в массив; 1 - запрещена запись в массив; 2 - запрещено чтение из массива; 3 - запрещено чтение и запись в массив; 4 - в массив после инициализации не производилась запись.
Сначала идет контур лопатки НА ПФ 7 61 1 30 0 0
ПФ - имя массива ( имя примитива) 7 - K ( координаты точки 3 числа, касательна по u 3 числа, параметр - итого 7 ) 61 - L ( U = 61 , 61 точек в кривой ) 1 - M ( V = 1 )
30 - кривая общего вида
Дальше идет поверхность лопатки НА
99**ЛНА ( 14 2 61 42 )
14 - координаты точки ( x,y,z) , 3 числа - компонеты касательной по U, 3 числа - компонеты касательной по V, 3 числа - компонеты смешанно производной по UV, значение параметра по U, значение параметра по V
2 - U=2 61 - V=61 42 - поверхность общего вида
Поверхность сохраняется в виде клеток ( patch)
В файле narva.kd есть еще поверхность вращения.
ПСТ - имя поверхности вращения , в нем задается только ось вращения и ссылка на кривую образующей поверхности вращения.
Inline image
99**ст - имя массива образующей поверхности вращения 0 0 0 - положение точки начала вектора, 0 0 1 орт
Update from 2023-01-14:
Каждый примитив в АСТРА имеет свое имя, состоящее из 8 символов, например 40РОПВЛ1, где 40 - префикс тома базы данных РО - префикс раздела ПВЛ1 - имя массива.
ПВЛ 14 6 23 42 0 0 - это пример 1-й строки из DAT файла. ПВЛ - это имя массива ( кривая, поверхность, сетка ..) При экспорте в АСТРА имя массива не должно быть больше 4-х символов и начинаться только с буквы, цифры недопустимы, т.к. они будут восприниматься как префикс тома БД.
Another update:
В файле narvakd.dat нашел такие строчки:
99**ст 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.1000000E+01
Хороший пример. Так сохраняется поверхность вращения.
99** - имя оперативного раздела ст - имя массива, в данном случае 99**ст это ссылка на имя кривой ступицы, которая используется в качестве образующей поверхности вращения. 0.0000000E+00 0.0000000E+00 0.0000000E+00 - координаты точки 0.0000000E+00 0.0000000E+00 0.1000000E+01 - орты
В данном примере речь идет о поверхности вращения. Образующая поверхности вращения это кривая 99**ст. Данная кривая будет вращаться вокруг оси, заданной точкой и направлением. В данном случае будет строится поверхность вращения вокруг оси Z
Когда встречается такой случай, в dat файле должны быть данные по образующей ( 99**ст, как в данном примере), в противном случае нужно давать диагностику о нехватке данных и обрабатывать следующий примитив. В принципе сначала можно сделать сканирование поданного конвертору dat фала на наличие поверхностей вращения.