Quote:
А к чему это все - первопричина какая?
Нужно это мне для того чтоб как бы считать геометрию готового объекта и задать ему параметры тоесть как бы сделать возможность изменять размеры его или сразу создавать в группе объектов зависимых друг от дуга )
Как бы параметрические объекты создавать но на рендер ру не отправлять урок про стульчик тамышний читал это не совсем то что нужно)
Мне нужно прочитать геометрию готового объекта и выдать массив точек полигонов и тд в скрипт чтоб как бы по нажатию ctrl+e создавался тот же объект с каторого считывал)
Что мне это даст я смогу изменять объект через скрипт (работать с его точками рёбрами полигонами)
Я могу создовать объекты в самом скрипте но
куда проще создать базовую модель стандартными средствами
потом как я понял считать её точки фейсы и тд
ну и двигать группы точек в зависимости от параметров или условий
почитал в хелпе по максскрипту экспорт и считование геометрии в фаил впринцепе устраивает их вариант
единственное не совсем пока понял как он в файле определяет где что ))
Пример экспорта плайна по справки
Для меня всё понятно
Непонятно как скрипт понимает что где для чего
Коментарии я добавил
Code:
4,2 <------------- колличевство точек,колличевство фейсов
[-58.9002,-23.3779,0],[30.5403,-23.3779,0],[-58.9002,39.0143,0],[30.5403,39.0143,0], <----------- координаты точек
[3,1,4],1,1,true,false,true <------------ точки которые создают полигон и параметры видимости сегментов
[2,4,1],1,1,true,false,true <------------ точки которые создают полигон и параметры видимости сегментов
Это скрипт из справки и он нормально считывает такие файлы
Code:
macroScript ImportMesh category: "HowTo"
(
vert_array = #()
face_array = #()
sgroup_array = #()
matid_array = #()
edge_array = #()
in_name = getOpenFileName()
if in_name != undefined then
(
in_file = openFile in_name
if in_file != undefined then
(
num_verts = readValue in_file
num_faces = readValue in_file
for v = 1 to num_verts do
append vert_array (readValue in_file)
for f = 1 to num_faces do
(
append face_array (readValue in_file)
append sgroup_array (readValue in_file)
append matid_array (readValue in_file)
edge1 = readValue in_file
edge2 = readValue in_file
edge3 = readValue in_file
append edge_array #(edge1, edge2, edge3)
)
close in_file
new_mesh = mesh vertices:vert_array faces:face_array
for f = 1 to num_faces do
(
setFaceSmoothGroup new_mesh f sgroup_array[f]
setFaceMatID new_mesh f matid_array[f]
setEdgeVis new_mesh f 1 edge_array[f][1]
setEdgeVis new_mesh f 2 edge_array[f][2]
setEdgeVis new_mesh f 3 edge_array[f][3]
)
update new_mesh
)--end if
)--end if
)--end macroscript
Нужно всё это для избавления от рутиной работы