Коротко
- UnrollSrf предназначена для развёртки на плоскость развёртываемых поверхностей и полисповерхностей с кривизной в одном направлении.
- UnrollSrfUV сохраняет UV-данные исходных поверхностей при развёртке; в этой команде доступны параметры LinearDirection.
- Squish создаёт 2D-развёртку сетки или NURBS-поверхности двойной кривизны с оценкой растяжения и сжатия.
- Отчёт о деформации Squish сам по себе не подтверждает реальное поведение материала или результат производства.
В официальной документации Rhino 8 команды UnrollSrf, UnrollSrfUV и Squish описаны как средства развёртки разных типов поверхностей на плоскость. Выбор зависит прежде всего от того, имеет ли поверхность кривизну в одном или двух направлениях: для развёртываемых поверхностей подходит UnrollSrf, а Squish позволяет получить приблизительную развёртку поверхности двойной кривизны. UnrollSrfUV, в свою очередь, сохраняет UV-данные исходных поверхностей при развёртке. При подготовке архитектурной облицовки или производственных выкроек важно учитывать это различие и проверять возникшую деформацию.
1. Определите тип геометрии
Поверхность является развёртываемой, если её можно сформировать, изгибая плоский лист без растяжения, разрыва или складок. Примеры таких поверхностей — цилиндр и конус. В этих формах кривизна направлена только в одну сторону, а вдоль поверхности есть направления, которые можно считать прямыми. Для развёртки таких поверхностей на плоскость Rhino рекомендует команду UnrollSrf.
Сферу, тор и поверхности с кривизной в двух направлениях таким же способом развернуть нельзя. Для переноса этих форм на плоскость может потребоваться сжатие или растяжение материала. Перед выбором команды изучите, на каких участках поверхность имеет двойную кривизну, с помощью анализа Gaussian curvature. Указанная в документации команда Curvature также помогает оценивать кривизну при перемещении курсора по поверхности: двойная кривизна отображается двумя дугами, а развёртываемая поверхность — дугой и прямой линией.
2. Разворачивайте развёртываемые поверхности с помощью UnrollSrf
Выберите поверхность или полисповерхность. В справке Rhino 8 команда UnrollSrf указана в меню
Surface Tools › Surface › Surface Flattening › Unroll Developable Surface.Во время развёртки выберите кривые, точки или элементы text dot на поверхности. Если не удаётся развернуть обрезанную полисповерхность, попробуйте удалить кривые обрезки, развернуть поверхность и кривые, а затем повторно обрезать распрямлённую поверхность.
С помощью
Explodeзадайте, как должны обрабатываться части результата. ЗначениеYesоставляет поверхности раздельными; приNoчасти снова соединяются по общим рёбрам исходной полисповерхности.Рассмотрите параметр
Labels, чтобы отслеживать соответствующие рёбра. Он размещает на рёбрах исходного объекта и развёрнутых частей совпадающие пронумерованные метки.Если команда выводит предупреждение о разнице площадей, сравните площадь развёрнутой поверхности с исходной. Для предупреждения можно задать процентное расхождение площадей; в документации отмечается, что при развёртке возможны различия в площади или длинах образующих.
В UnrollSrf параметр RelativeTolerance определяет допустимую погрешность, при которой направление считается линейным, если используется LinearDirection=Natural. Чем меньше значение, тем строже условие; в документации отмечается, что значение 1,0 может позволить развернуть на плоскость большинство поверхностей произвольной формы. Само по себе это значение не говорит о пригодности развёртки для производства.
3. Используйте UnrollSrfUV, если нужно сохранить UV-данные
Команда UnrollSrfUV предназначена для развёртки поверхности или полисповерхности на плоскость с сохранением UV-данных исходных поверхностей. В документации указан путь Surface › Surface Flattening › Unroll Surface UV. Также в справке описан выбор кривых, точек или элементов text dot.
Параметр LinearDirection в этой команде принимает значения Natural, U или V. Natural автоматически определяет, какие изопараметрические линии считать прямыми; при выборе U или V направление задаётся вручную. Если подходят оба направления, используется более прямое. Если ни одно нельзя считать линейным, развернуть поверхность не получится. В документации отдельно для UnrollSrfUV предупреждают: неверно выбранное направление на развёртываемой поверхности, например цилиндре, может привести к искажённому результату и сообщению о потере площади.
| Параметр | Значения/варианты | Эффект |
|---|---|---|
UnrollSrf Explode | Yes или No | Определяет, останутся ли развёрнутые поверхности отдельными или снова соединятся по общим рёбрам. |
UnrollSrf RelativeTolerance | В документации приведён пример 1,0 для Natural | Влияет на допуск, при котором направление считается линейным; меньшее значение означает более строгое условие. |
UnrollSrfUV LinearDirection | Natural, U или V | Определяет изопараметрическое направление, которое будет считаться прямым. |
Squish Deformation | Free, StretchMostly, StretchOnly, CompressMostly или CompressOnly | Задаёт предпочтение растяжению или сжатию при развёртке на плоскость. |
4. Используйте Squish для поверхностей двойной кривизны
Выберите сетку или NURBS-поверхность с кривизной в двух направлениях. Путь к команде в меню:
Surface Tools › Surface › Surface Flattening › Squish Double-Curved Surface.С помощью параметра
Deformationзадайте предпочтение растяжению или сжатию.Freeне отдаёт предпочтения ни одному из двух вариантов;StretchMostlyотдаёт предпочтение растяжению, аCompressMostly— сжатию.StretchOnlyисключает сжатие, аCompressOnly— растяжение.Изучите метки и отчёт о результате. Красное облако точек показывает участки сжатия, зелёное — растяжения. Положения наиболее заметных изменений можно отметить максимум десятью элементами text dot; для этих меток изменение длины указывается в процентах.
Оцените предполагаемые сжатие и растяжение вместе с изменением площади. Если закрытую сетку нужно разрезать по шву, доступен параметр
SplitSeams; чтобы не допустить искажения длины границ, предусмотренPreserveBoundary.Используйте команду
SquishBack, чтобы перенести кривые или точки, созданные на 2D-развёртке, обратно на исходную 3D-форму.
В параметрах CustomA, CustomB и CustomC можно задавать значения растяжения и сжатия для граничных и внутренних областей. В документации для четырёх параметров указано значение 1; также можно вводить положительные значения. Увеличение значения параметра уменьшает соответствующую ему деформацию при неизменных остальных параметрах. Например, для ограничения сжатия во внутренних областях приводится значение InteriorCompress=100. В другом примере, предназначенном для сохранения длины границ, BndStretch и BndCompress установлены на 10, а InteriorStretch и InteriorCompress — на 1.
Что это значит для архитектурного и визуализационного процесса?
Для команд, готовящих облицовку фасадов, детали сложной формы или раскройные выкройки, правильный выбор команды позволяет заранее оценить, можно ли представить поверхность в виде плоской выкройки. Для развёртываемых поверхностей с кривизной в одном направлении можно использовать UnrollSrf; если важно сохранить UV-данные, стоит изучить параметры UnrollSrfUV. Для форм двойной кривизны Squish даёт первичную оценку деформации.
Однако Squish недостаточно точно моделирует физические свойства реального материала, особенно влияние толщины. Поэтому приведённые в отчёте значения не заменяют проверку для производства. Если свойства материала, раскрой или стоимость гибки критичны, оценивайте результат с учётом производственной экспертизы. Также помните, что Squish может плохо работать с развёртываемыми поверхностями: в таком случае следует использовать UnrollSrf.
Частые ошибки
Ожидать, что сферу или другую поверхность двойной кривизны удастся корректно развернуть с помощью UnrollSrf.
Использовать результат развёртки UnrollSrfUV, не проверив значение
LinearDirection.Игнорировать предупреждение о разнице площадей или считать значение допуска доказательством точности для производства.
Воспринимать метки деформации Squish как результат испытаний реального материала или готовый шаблон для раскроя.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных и визуализационных бюро в Турции практическая ценность этих команд в том, что они помогают на раннем этапе оценить, можно ли представить поверхность в виде плоской выкройки. Для развёртываемой геометрии подойдёт UnrollSrf, если важно сохранить UV-данные — UnrollSrfUV, а для поверхностей двойной кривизны Squish можно использовать для первичной оценки.
Не следует воспринимать отчёт Squish как испытание материала или разрешение на производство. Если стоимость раскроя и гибки имеет значение, безопаснее проверить результат с привлечением специалистов по производству. В документации нет сведений об аппаратных требованиях и условиях лицензирования; здесь определяющими факторами остаются тип геометрии и производственная проверка.
Частые вопросы
Какие поверхности в Rhino можно развернуть с помощью UnrollSrf?
UnrollSrf используется для развёртки развёртываемых поверхностей и полисповерхностей с кривизной в одном направлении. Сферу и тор, как и другие поверхности двойной кривизны, корректно развернуть нельзя.
Чем UnrollSrfUV отличается от UnrollSrf?
UnrollSrfUV сохраняет UV-данные исходных поверхностей при их развёртке на плоскость. В документации этой команды описаны параметры LinearDirection и предупреждение об искажениях, которые могут возникнуть при выборе неверного направления.
Для чего нужна команда Rhino Squish?
Squish преобразует сетку или NURBS-поверхность с кривизной в двух направлениях в плоскую 2D-развёртку и показывает оценку сжатия и растяжения. Команда сама по себе не моделирует реальное поведение материала.



