in.Lab BLOG

Как восстановить отрезанные фрагменты в Rhinoceros

🌿 Все умеют резать в Rhino, но не все знают, как вернуть отрезанное.
Поэтому разбираем как восстановить удалённые куски геометрии и какие команды нам для этого нужны.

Первый самый очевидный вариант - команда Untrim. Она работает для поверхностей, нужно всего-лишь указать сторону поверхности и Rhino её восстановит. Обратите внимание, что есть опция KeepTrimObjects, которая повзволяет сохранить границы обрезанной поверхности в виде линий. Опция  AllSimilar нужна, чтоб восстанавливать только отдельно выбранные стороны (No), и “одинаковые” варианты (Yes) - например, мы восстанавливаем сразу все внешние стороны, или все внутренние вырезанные отверстия.


Также не забываем о вариациях команды Untrim:
  • UntrimAll - восстанавливает всё отрезанное у поверхности и “внутри” и “снаружи”
  • UntrimBorder - восстанавливает внешние части (по границе поверхности), отверстия внутри при этом сохраняются.
  • UntrimHoles наоборот восстановит все отверстия “внутри” поверхности. Эта команда также восстанавливает отверстия внутри polysurfaces. Кстати, у UntrimHoles есть крутая опция MaximumEdgeLength, которая позволяет вам задать максимальную длину ребра для отверстий, которые вы хотите закрыть. Таким образом, мы можем удалить сразу все отверстия, которые не подходят нам, например, для порезки на ЧПУ станке с фрезой определенного размера.

Второй вариант - ReplaceEdge позволяет поработать с рёбрами, которые мы отрезали. Есть 3 варианта: ReplaceWithLine - “закрывает” линией;  ExtendSideEdges - удлиняет до пересечения эджи, которые находятся по соседству с выбранным;  SelectCurve - можно выбрать нужную сторону (произойдёт untrim) и затем новую кривую (по которой произойдёт re-trim). Наглядно как это работает показываю в видео ниже. Опция KeepTrimObjects тут также присутствует.


Ну и по теме избавления от контрольных точек “старой” поверхности (имеется в виду до обрезки) нельзя не упомянуть о команде, которая появилась в Rhino 7 - RefitTrim. Как вы уже поняли из предисловия - она как раз убирает ту “лишнюю” сетку. Но учитывайте, что сделать это она может только если сторона поверхности была отрезана по одной из сторон (U или V) на всю длину ребра.


Кстати, если у вашей поверхности не хватает контрольных точек, чтоб описать “новую”  форму, по которой вам нужны контрольные точки - при выполнении команды RefitTrim воспользуйтесь опцией ExtraKnotsPerSpan - так вы сможете задать количество точек в соответствующем направлении.


Если вы тримили поверхность “сложной” внешней формы - запомните команду ShrinkTrimmedSrf - с её помощью можно “сократить” сетку контрольных точек, которые остались от прошлой поверхности до трима. Это может быть особенно актуально, когда накладываете картинку-текстуру на поверхность и бОльшая часть это картинки может остаться далеко за пределами вашей, уже отрезанной поверхности.


Напоследок отмечу, что в 7 версии Rhino наблюдаются значительные глюки при выполнении команды Trim. Поэтому считаю нужным отметить, что все эти команды также работают, если вы отрезали геометрию с помощью команды Split.