Цитата hammerhl #5:читал эту статью, но очень надеялся на то, что есть какая-нибудь волшебная функция, в которую передаешь массив сплайнов, а она переваривает его в меш.
Попробуйте построить поверхность с помощью программы Surfer.
Как построить 3D плоскость (Рельеф) по точкам(3000штук), у них координаты x,y,z? Сообщение 10, 13.
Спасибо за наводку, но сторонний софт уже на крайний случай, в идеале мне бы хотелось делать все операции одним максовским скриптом.
Цитата hammerhl #5:Еще хотел поинтересоваться, если ли какая специальная функция, что бы определить принадлежит ли точка (находится на грани или внутри) мешу? Если специальной функции нет, посоветуйте пожалуйста какой-нибудь метод.
Для каких целей вым нужна эта функция? Я бы попробовал создать маленький Box (или Plane), потом выделить его грани с помощью модификатора Volume Select. В качестве Mesh Object используем нужный меш. Потом проверяем если были выделены грани маленького Box-a или нет.
Посмотрите в моем первом посте картинки. сплайны, составляющие сетку, у меня должны генерироваться только внутри объекта (в данном случае куба с фасками), в первой итерации это просто, но далее описанный контур будет из объекта вырезаться и сплайны в последующих итерациях необходимо строить с учетом этого. В идеале алгоритм скрипта должен быть таким: если искомая точка внутри некоторого меша - строим к ней сплайн от предыдущей точки. Сейчас у меня на концах резцов просто мелкие сферы и я проверяю пересечение вот так:
int_point = intersects cObj trackObj
, где cObj - сфера, а trackObj - куб.
но ведь intersects определяет пересечения по bounding box'ам, а после изменения меша куба (удаление оттуда куска), bounding box не изменится и я буду получать неоправданно длинные сплайны.
а ваш метод с вольюм селектом можно из скрипта использовать?
Кстати интересно, а почему не получилась поверхность при использовании CrossSection+Surface?.. Может надо по-другому сплайны генерировать?
На сколько я понял, ты вычисляешь пару точек и строишь между ними сплайн. Т.е. получаешь кучу односегментных сплайнов. А вычисленные точки образуют некую сетку, у которой есть "строки" и "столбцы". Правильно?
А если скриптом сразу строить один сложный сплайн (шейп)? Т.е. сначала в шейпе создаёшь первый сплайн, вычисляешь точки по первой "строке" и добавляешь их к первому сплайну, потом добавляешь второй сплайн и вычисляешь/добавляешь точки по второй строке, и т.д. до конца сетки. При этом количество точек в "строках" должно быть одинаковым.
Если на получившейся шейп последовательно натравить CrossSection и Surface, должна получиться очень аккуратная поверхность. Потом, для правильной работы булевых операций, придать объекту объём (EditPoly тебе в помощь).
Ы?
Да именно так, куча односегментных сплайнов. Может я неправильно понял, но думаю, что количество точек в строках будет неодинаковым (добавил в аттач типовой получаемый сегмент для выреза). сейчас у меня вычисляется последовательно каждая линия, но могу вычислять и параллельно, но тогда получится, что для некоторых линий точек пока что нет, так как линии все разной длины.
пожалуй надо бы мне покурить хелп на предмет построения сложных сплайнов (если ссылку подкините буду признателен, а то пока не шибко в максовском хелпе ориентируюсь).