Оптимизация модели для 3D печати на примере ПО Blender

    Добрый день!

    С вами компания 3Dtool.

    Cегодня речь пойдет не о какой-либо модели 3D принтера, и не о процессе 3D печати. Мы хотели бы рассказать о том, как сделать процесс подготовки модели перед 3D печатью эффективнее.
    Все мы знаем, что большое рабочее поле это хорошо. Но что делать, когда мы начинаем пробовать создавать управляющие программы для громадной детали и программа уходит в вечное ожидание на этапе рассечения слоёв или экспорта кода в файл. Были случаи, когда программа готовилась более суток. Чтобы понять что происходит, нужно немного вникнуть в алгоритм процесса, который происходит внутри «Черного ящика» слайсера. Немного, потому что достаточно знать, что самое сложное и затратное дело, в процессе подготовки программы, это рассечение модели по слоям и формирование по этим сечениям траекторий.



    Вся сложность в качестве.
    В качестве модели.
    В качестве печатной детали.
    В оптимальности качества.
    В желаемом качестве.


    Иногда это очень растяжимое понятие… и так далее. Но у нас не минутка философии.
    Перейдем к конкретике. Примером из жизни.

    В результате 3д-сканирования, неаккуратного, незаконного и неэкономного моделирования, различных преобразований и конвертирования, возникают случаи, когда сетка модели становится пропорционально плотной, с большим количеством лишних полигонов. Это значительно увеличивает «вес» stl-файла. Документ начинает занимать много памяти и увеличивает время формирования кода управляющей программы, приводит к зависанию слайсера и переходу его в низ списка процессов операционной системы. В таких случаях, модель необходимо оптимизировать, т. е. уменьшать плотность сетки без потери качества геометрии и качества деталей.

    Амуниция


    Программное обеспечение для подготовки управляющей программы – тяжелый, сложный, неудобный, но на наш взгляд жутко эффективный, Slic3r.

    Программное обеспечение для оптимизации – абсолютно бесплатный, с открытым кодом Blender, поддерживается почти всеми операционными системами (https:// www.blender.org/download/)

    К делу


    Установите и запустите Blender. Для импорта модели зайдите File –> Import –> stl, выберите необходимую модель.



    Для оптимизации модели воспользуемся модификатором Decimate. Этот модификатор позволяет уменьшить количество полигонов в сетке модели с минимальными изменениями геометрии.

    Переключитесь в режим Object mode (1), в панели Editing (2) выберите вкладку Modifiers (3), добавьте Add Modifier –> Decimate (4)



    Опции


    Ratio. Коэффициент от 0,0 до 1,0. Соотношение детали до и после оптимизации. 0,0 (0%) — все грани удалены. 1,0 (100%) — все грани остались без изменения. По мере того, как коэффициент изменяется от 1 до 0, количество полигонов в сетке уменьшается.



    Качество


    Для того, чтобы оценить уровень детализации, до которого модель будет упрощаться без потери качества (визуально печатная деталь соответствует математической 3D — модели). Если совсем вдаваться в подробности, то необходимо учитывать соотношение физического размера печатаемой модели, диаметра сопла и высоты слоя. Ниже, количественно, показано к чему приводят такие процедуры оптимизации.



    Как не надо делать


    Теперь зайдем с другой стороны. Слишком низкий коэффициент уменьшает качество детализации: Ratio 0.05 – 0.03. Для модели небольшого размера (20-30 мм) подойдет Ratio 0.05-0.03, т. к. высота слоя и диаметр сопла физически не позволят напечатать необходимую детализацию, которая сохраняется при более высоких коэффициентах. А мы все помним, что диаметр сопла 0.3мм, а на выходе пластиковая нить еще чуть больше. А это значит что все острые грани будут иметь радиус минимум 0.15мм.

    И в финале немного снимков того, к чему могут привести чрезмерные увлечения заветным параметром Ratio.



    Ratio: 0,015. Слишком низкий коэффициент



    В общем вы поняли.
    Хотения и надежды.
    Искренне верим, что этот материал будет вам полезен, вы начнете/продолжите эффективно использовать возможности своего 3D принтера.

    Эффективные 3D принтеры для бизнеса и производства Hercules (всегда в наличии в нашей компании 3Dtool) — 3dtool.ru/category/3d-printery/filter/topmanufactorer-is-imprintahercules

    Видео обзор 3D принтера Hercules Strong 17 на нашем Youtube канале.
    3Dtool
    Компания
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 14

      0
      Удивительно, как уменьшение с 0.03 до 0.015 полностью убило читабельность. Да и визуально разница в количестве полигонов не такая очевидная. Всё дело в надписи, именно туда программа направила ресурсы?
        +1
        TL:DR запустите в вашем 3D-редакторе средство удаления «лишних» граней и всё!
          +1
          А почему на Ratio = 0.5 полигонов больше, чем в исходной модели?
            0
            По картинкам плохо видно, но скорее всего четырехугольные ячейки разбились на треугольники.
              0
              Скорее проблема в том, что автор перепутал места, где должны быть написаны цифры
            0
            Честно говоря так себе совет. Я надеюсь что сами вы так клиентские модели не дорабатываете? Вместо применения dissolve в лоб по всем модельке в Blender можно применить хотя бы limited dissolve, который вычищает «лишнюю» детализацию там, где она не нужна, позволяя сохранить детали.

            Инструкция для совсем чайников, которые ни разу не видели Blender, но хотят в пару кликов упростить модель, вдруг кому-то пригодится:
            1. загрузить модель
            2. выбрать тело мышкой, перейти в режим редактирования (Tab)
            3. выбрать все (А)
            4. внизу экрана mesh -> clean up -> limited dissolve, настройки в панельке слева)
            5. в панельке слева появятся настройки, обращаем внимание на угол
            6. выходим из режима редактирования (Tab), сохраняем модель
              0

              При дисолве видны искажения, при децимейте (в примере с коэффициентом 0.2) нужно делать принудительную триангуляцию, тогда качество будет выше при меньшем количестве вершин.
                0
                Dissolve и Limited Dissolve работают по разному и в общем-то обычно используются для разных целей, так что не очень корректный пример. Я согласен, что в некоторых случаях Limited Dissolve — не лучший выбор, все зависит от конкретной геометрии, цели и настроек разных опций. Но по моему опыту Limited Dissolve помогает чаще и довольно прост в применении, чтобы посоветовать его новичку как дефолтовый инструмент для облегчения геометрии, в отличие от Decimate.
                  0
                  Это был именно Limited Disolve, подпись была сокращена для простоты.
                    0
                    Возможно. Но в следующий раз, пожалуйста, не надо так неаккуратно сокращать. А то получается, что вы имели в виду один инструмент, но и на картинке, и в сообщении под ним упомянули другой.
                      0
                      Честно говоря так себе совет. Я надеюсь что сами вы так клиентские модели не дорабатываете? Вместо применения dissolve в лоб по всем модельке в Blender можно применить хотя бы limited dissolve

                      Я согласен, что в некоторых случаях Limited Dissolve — не лучший выбор, все зависит от конкретной геометрии

                      В следующий раз не надо обвинять людей в некомпетенции, а потом идти на попятную и говорить, что предложенный вариант не лучший выбор и изначально все было сделано верно. Случаи бывают разные и требуют применения разных инструментов.
                        +1
                        Где вы это читаете-то? Я как утверждал, что для новичка в целом лимитед дизолв — более правильный выбор, чем диссимэйт, который предлагается использовать в статье, так и продолжаю утверждать. Да, я согласен, что бывают исключения, но в общем картину это не меняет, лиммитед дизолв как инструмент по умолчанию в целом все равно лучше.

              0
              Теоретика — дело хорошее. Но не раз уже встречал, что на печати то, что теоретически не должно быть видно — вылезает. Еще со времен работы в издательстве помню, что были фокусы типа «печатать 300 dpi макет на 600 dpi настройках принтера» давала более аккуратные результаты. Сами печатники говорили «не может этого быть», на что я их просил вывести одну страницу так и так, если будет одинаково — я за эти две страницы заплачУ и уйду, а если будет по разному — они печатают всю книгу как я скажу и не умничают.
              И давайте еще обсудим тут форматы файлов. Я слышал такое мнение: попучярный STL хорош только тем, что прост и в небинарном варианте читается и правится блокнотом. Зато каждый треугольник в нем описан строго тремя вершинами, поэтому при загрузке надо найти совпадающие (с какой точностью?) и объединить их, иначе оно жрет много памяти и процессора. И даже при такой простоте STL открываются в разных программах по разному. А какие альтернативы STL?
                0
                Так вариантов mesh до фига.
                Вот вроде даже во Freecade добавили работу с 3d принтерами, надо завтра глянуть.
                У него и мешер есть встроенный на базе gmsh, вернее gmsh подключается как модуль.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое