Maxscript. Как выделить определенный полигон

Автор
Сообщение
На сайте c 26.07.2008
Сообщений: 3960
Москва
Делаю скрипт или макрос (ничего в этом не понимаю) для создания простых подставок под фигурки. Есть сплайны разной формы, из них нужно сделать ступенчатые штуки (ступеньки 2 мм) - хочется это автоматизировать.

Вопрос: как написать строчку скрипта, чтобы выбиралась верхняя грань у объекта (при записи maxscript вписывает номер грани, они у всех разные)

$.EditablePoly.SetSelection #Face #{15}

либо намекните, как полностью из сплайна сделать такую фигуру

Спасибо

10089999835_8acc28ef75_o.jpg
На сайте c 27.03.2012
Сообщений: 303
Mozart:


Пожизненный бан
Нормально никак. Перебирать в цикле нормали поликов направленные по оси z вверх, и из них искать те, координаты принадлежащих вершин которых по этой же оси- максимальные.
На сайте c 09.06.2009
Сообщений: 93
Может нарисовать план подставки сплайном, нарисовать профиль, применить к подставке модификатор Bevel profile и выбрать нарисованный профиль ?
На сайте c 26.07.2008
Сообщений: 3960
Москва
shorop как вариант, ок. Но что делать с дыркой посередине? это все для 3d-печати
На сайте c 27.03.2012
Сообщений: 303
Mozart:


Пожизненный бан
Если фигуры только такого плана как ты на скрине дал - то проще считать площадь поликов и выбирать второй с начала
На сайте c 08.05.2008
Сообщений: 1593
страна Грёз
Quote:
чтобы выбиралась верхняя грань
А зачем она нужна? Логика простая. Тебе нужно выделитьполигон только один раз... после превращения Сплайна в EditPoly. Номер полигона ВСЕДА будет #{1} а дальше Extrude=>Incert=> Extrude

для того чтобы закрыть дырку вешаешь модификатор Cap и дело в шляпе)
modPanel.addModToSelection (Cap_Holes ()) ui:on
На сайте c 26.07.2008
Сообщений: 3960
Москва
Legion-236 ща проверим.

Кайф!
Code:
macros.run "Modifier Stack" "Convert_to_Poly" subobjectLevel = 4 $.EditablePoly.SetSelection #Face #{1} $.faceExtrudeHeight = 2 $.EditablePoly.buttonOp #Extrude $.insetAmount = 2 $.EditablePoly.buttonOp #Inset $.EditablePoly.buttonOp #Extrude subobjectLevel = 0 modPanel.addModToSelection (Cap_Holes ()) ui:on macros.run "Modifier Stack" "Convert_to_Poly"
На сайте c 20.09.2013
Сообщений: 203
Макрос, это когда включаешь запись в макрорекордере, и записываешь все действия.
Потом весь текст копипастишь на новый тулбар, нпример, или, там, хоткей.
Я сначала выделил сплайн, а уж только потом включил запись ))).
---
А, ты уже сам разобрался.
Читают эту тему: