Wednesday, May 2, 2012

Беда SketchUp'a

Продолжаю мурыжить скечаповские недостатки, или почему всегда необходим под рукой более серьезный пакет. Небольшая статья на isicad'e и небольшая дискуссия в комментариях побудили меня написать краткую заметку о сегментации в SketchUp, которая удобна при "лепке" и крайне опасна при точных построениях.
Случай №1. Мы нарисовали окружность, которая строится SketchUp в виде сегментов (их можно задать в начале построений через VCB). Далее мы хотим найти пересечение прямой и окружности. На скриншоте указывается критичная "неточность" моделирования в SketchUp.
Случай №1
В случае пересечения окружности (или арки) и прямой, которая идет не из центра окружности, а пересекает окружность в двух точках (создавая сегмент, а не сектор), все становится намного плачевнее.

Случай №2. Мы протянули профиль по пути (Follow Me). SketchUp еще может "распознать"окружность в основании цилиндра, но в этом случае теряется какая-либо информация об окружности профиля. Просто набор ребер и граней.
Случай №2

Случай №3. При состыковке окружности и арки с разным количеством сегментов образовывается зазор.
Случай№ 3
Такой зазор, помимо проблем моделирования, создает неприятные тени при рендере.


Случай №4. Площадь круга и длина окружности. Призма с треугольным основанием, по сути, то же самое, что и цилиндр слева от нее. Правда, цилиндр имеет в основании 24-угольник, потом экструдированный.  
Случай №4
Длина окружности в обоих случаях одинакова, а площадь оснований, как и площадь вертикальной поверхности, - разная. Таким образом, разница в сегментации окружностей может сильно повлиять на конечные показатели площадей.

 ***
При импорте в другие пакеты окружности SketchUp обычно не распознаются как таковые. Образуется тупая, трудно редактируемая геометрия.
Интересное решение этой проблемы можно обнаружить в пакете, куда более профессиональном, но также исповедующим  механизмы прямого моделирования - SpaceClaim.

Мы можем видеть в ролике, как SpaceClaim распознает скечаповскую геометрию и позволяет ее редактировать даже на более качественном уровне, чем в самом SketchUp.
Кстати, такая бы функция не помешала при работе с экспортированной из ArchiCAD 3D-геометрией. Уж больно "волосатым" становится простое, с циркульной кривой в основании, перекрытие!

3 comments:

  1. Я правильно понимаю, что если окружность объединить с чем-то еще, то оставшийся кусок будет все равно считаться дугой окружности. Даже если он о трех линиях.

    Однако, если вокруг треугольной окружности нарисовать треугольник, только чуть больший (линии нового "треугольника-не окружности" +- параллельны треугольнику-окружности), то окружность перестанет существовать как класс?

    ReplyDelete
  2. "то оставшийся кусок будет все равно считаться дугой окружности. Даже если он о трех линиях." Да, только скорее он будет "о трех сегментах".

    "Однако, если вокруг треугольной окружности нарисовать треугольник, только чуть больший (линии нового "треугольника-не окружности" +- параллельны треугольнику-окружности), то окружность перестанет существовать как класс?"
    Интересный вопрос, под рукой нет программы. Если они лежат в одной плоскости и их ребра не касаются - все должно продолжить свое классовое существование. Мне кажется.

    ReplyDelete
  3. Сергей МихеевJuly 16, 2012 at 7:30 AM

    Окружность от многоугольника в SketchUP отличается лишь сглаженностью теней и невидимостью рёбер, при экструдированию но стоит экструдировать повторно как это свойство теряеться. Это можно исправить принудительным сглаживанием. И постоянно следить чтобы вершины не били в раздрай. И если в окружности задать через свойство 3 сегмента, нарисует 3 сегментную окружность.

    ReplyDelete