LINUX.ORG.RU

Слайсеры для 3D принтеров на глазах превращаются в блоатварь. Где теперь слайсер брать?

 3dprinter,


0

4

Решил тут глянуть на новый PrusaSlicer, и оказалось что он тоже теперь требует WebkitGTK, как Orca и пр.

На гитхабе даже драма нашлась по этому поводу - https://github.com/prusa3d/PrusaSlicer/issues/12968 и там по сцылочкам на закрытые и отвергнутые без всяких разумных объяснений issue.

Ладно понапихали всяких жирнющих OpenCASCADe и пр, которые вот вообще в слайсере нафиг не нужны, так ещё и хромого туда запихивают чуть ли не целиком.

Мало того, что в наследниках Slic3r до сих пор этот проклятущий Wx используется в качестве гуя, причём непременно WxGTK, да ещё и определённой версии, так ещё и блоатварь напихивают, так что сборка занимает уже весьма ощутимое время и требует немало памяти.

При этом, в самом ядрое этих слайсеров изменений практически нету, это всё тот же Slic3r десятилетней давности. По мелочи что-то добавили, вроде паттернов заполнения или там чуток для работы с 3в1 цветными экструдерами. Ни тебе поддержек точечных, ни «кирпичной кладки», ни воплощения прочих весьма неплохих идей возникших за последнее время в области 3D печати.

Я бы конечно пользовался консольным Slic3r, но расставлять детальки и смотреть как слои наверчены в консольке вот совсем неудобно. Так что гуй мастхэв, но лёгкий, без чудовищ типа Wx.

Cura тоже в какого-то монстра превратилась.

А может кому попадался какой-нибудь лёгкий форк Slic3r или Cura который не требует 100500 вычурных либ и использует нормальный тулкит типа GTK или Qt для морды? Без ембеднутых браузеров, кадов, и прочей жирноты, и чтобы для сборки не надо было билдферму городить.

А может есть уже, например, для Blender’а плагин слайсера, например? Или там какой-нибудь вообще с нуля KISS проект с новым движком где-нибудь на периферии гитхаба завалялся?

Я не то, чтобы прям фулл-тайм 3D печататель, так, периодически попечатываю по-мелочи всякое, для личных нужд, профессиональный софт не требуется. Нужен простой, лёгкий, быстро собираемый слайсер для FDM. Есть чо?

★★★★★

Последнее исправление: hobbit (всего исправлений: 1)

Так что гуй мастхэв, но лёгкий, без чудовищ типа Wx.

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

anonymous
()

А кто тебе мешает запускать его на виртуалке и пробросить в нее usb порты? Без доступа в сеть

upd. ну или вариант минимум: firejail

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

А кто тебе мешает запускать его на виртуалке и пробросить в нее usb порты? Без доступа в сеть

А это-то тут при чём? Речь вообще совсем про другое. Есть относительно несложная и небольшая библиотечка делающая полезное. И на эту небольшую библиотечку навешивают абсолютно ненужные блоатварные свистелки и перделки, которые никак вообще не нужны для работы с этой библиотечкой, а нужны для каких-то совершенно левых задач к слайсингу вообще никак не относящихся.

Вот нахера морду для libslic3r продолжать делать на монстроузном, кривом и весьма капризном при сборке Wx специфической версии, которого искаропки ни в одном дистре нет? Ну понятно, изначальный автор написал на том, что под рукой было на тот момент и перловые биндинги имело. Но нахрена эту блоатварь потом тащить в форки? И вместо добавления фич в движок и устранения блоатварного Wx ещё и добавлять другие блоатварные свистелки и перделки.

Stanson ★★★★★
() автор топика

При этом, в самом ядрое этих слайсеров изменений практически нету, это всё тот же Slic3r десятилетней давности.

А почему бы не использовать тогда более старую версию?

Jullyfish
()
Ответ на: комментарий от anonymous

Кстати, а почему OpenCASCADE не нужен? Казалось бы, из 3D-модели информацию вытаскивать надо.

Там достаточно просто всё, тащить ради чтения stl и несложной математики слайсинга модельки на слои нет смысла. Построение пути головки по слайсу (которого нет в OpenCASCADE) это на порядок больше кода, чем читалка stl и разрезание на слои. Какой смысл в этом бегемоте, если из него используется сотые процента кода? OpenCASCADE для этого и не используется в libslic3r. А вот форк с «более лучшей» гуйнёй ташит OpenCASCADE чтобы … барабанная дробь …. нарисовать в окошке разноцветную сосиску ужасной длины изображающую экструдированный пластик. Причём оригинальный Slic3r запросто делает это без всякого OpenCASCADE и разницу не так-то просто заметить. :) Качество этой сосиски вообще не волнует целевую аудиторию, в том же Slic3r даже вида 3D с перспективой так и не добавили, ибо всем похер, и орто 3D в некоторых случаях просто удобнее.

Stanson ★★★★★
() автор топика

Я смирился и просто поставил последнюю актуальную версию софтины от производителя (сейчас это Orca в основном с пресетами).

Zhbert ★★★★★
()
Ответ на: комментарий от Jullyfish

А почему бы не использовать тогда более старую версию?

А её задолбаешься собирать под новый Wx, и сам новый Wx ещё тот геморрой. Систему обновил - пересобирай Wx, да ещё небось непременно посвежее, Wx вообще капризная блоатварь, да и всякие ICU и прочая безумная дрянь ломающая обратную совместимость для каждой новой версии от которой зависит Wx просто не даст спокойно обновлять систему.

Stanson ★★★★★
() автор топика

подпишусь на тему. В касатке, кстати, еще параллельно с wxWidgets свой тулкит используется, из-за чего масштабирование через GDK_SCALE поломано напрочь. Заодно еще бы услышать мнение 3д-печатников про клиппер, а точнее, про систему его установки и обновления. Искренне не понимаю, в чем нынче сложность собрать питоновские пакеты под популярные дистрибутивы. Нет же, они предлагают ставить все в venv в хомяк. Да и низкоуровневый код тоже — вот как так аварийный останов принтера устраивать через тот же канал связи (по UART)?

Как и говорит ТС — ощущение, что решали проблему на коленке здесь и сейчас, а потом уже как-то и примелькалось.

demidrol ★★★★★
()
Ответ на: комментарий от demidrol

Cura теперь вообще какой-то conan написанный на питоне для сборки уже использует, причём самого этого conan’а собрать не так-то просто, а в дистрах его нету. Вообще мрак.

venv нужен потому что вся эта блоатварь намертво прибивается к каким-нибудь конкретным минорным версиям всей этой кучи питонолиб, которых, разумеется ни в одном дистре нету.

Вот вообще не понимаю, нахрена использовать какие-то очень специфичные свежие фичи в либах, чем закручивать гайки на предмет версий и устраивать библиотечный ад и израиль при том, что никаких технических причин так делать нету вообще.

Вообще, такое ощущение что такой вот опенсурсный конкретно прикладной софт без которого весьма непросто будет использовать соответствющее железо намеренно усложняют и заодно сильно затрудняют самостоятельную сборку, чтобы запихивать телеметрию и рекламу. Формально опенсорс, а де-факто сырцы настолько замусорены и их настолько много, что как-то воспользоваться опенсорсностью отдельно взятому пользователю весьма проблематично. Примерно как с браузерами.

С тем же Slic3r какая история произошла - в какой-то момент, то-ли главного автора, то-ли всю команду купила Prusa. Slic3r оказался заброшенным. Prusa стала делать форк - PrusaSlicer. Ну вот блоатварь напихивать, сборку делать невероятно долгой и пр. Теперь дело дошло до того, что туда запихали браузер, который на вкладках (в Prusa Slicer интерфейс такой же как в Slic3r - они даже интерфейс не поменяли) всякую шнягу с Printables показывает, в меню напихали всяких пунктов которые окошки с вебнёй открывают и пр., а при сборке требует минимум 10G памяти. Последняя версия PrusaSlicer без встроенного браузера, которая худо-бедно но собирается на средненьком компе, который обычно живёт рядом с 3D принтером - 2.7.4.

В какой-то момент PrusaSlicer уже с блоатварью форкнули Bamboo Lab. Потом форк Bamboo Lab форкнули в Orca. :)

При этом, ни в одном из этих форков практически ничего с libslic3r не делали, кроме каких-то чисто косметических подпиливаний. Как будто «кирпичную кладку» не придумали, переменную ширину экструзии, ветвистые опоры и всякие прочие новшества.

В общем, если у тебя не многоцветный принтер, то никаких отличий кроме, разве что, дополнительных infill pattern по сравнению с оригинальным Slic3r ни в одном форке ты не увидишь. Зато это будут жирные, крайне хреново собирающиеся софтины. PrusaSlicer аж Appimage не смогли сделать после добавления webkitgtk, ибо количество притягиваемых зависимостей стало невменяемым. У них теперь для линукса только Flatpack и Snap есть, да и то неофициальные. :)

И жопа в том, что теперь на современной системе собрать оригинальный Slic3r который лет 5 никто не трогал - ещё тот геморрой.

Stanson ★★★★★
() автор топика

Я не особо в теме 3д принтеров, но кто мешает просто использовать старую версию, в которую ещё не напихали мусора? Она не подходит?

firkax ★★★★★
()
Ответ на: комментарий от firkax

Она использует wxWidgets 2.X и perl’овый Wx. А это значит что как только какая-нибудь libicu.so или ещё какое ненужно прибитое туда гвоздями обновилось в дистре, то надо и Slic3r и весь Wx заново пересобирать, а он здоровенный. Нужных версий искаропки ни в одном дистре нет, даже в старых.

Потому и спрашиваю - вдруг есть какой-нибудь нераспиаренный форк Slic3r избавленный от ужаса wxWidgets и без прочей блоатвари которую напихали в распиаренные форки.

Stanson ★★★★★
() автор топика

Я бы конечно пользовался консольным Slic3r, но расставлять детальки и смотреть как слои наверчены в консольке вот совсем неудобно. Так что гуй мастхэв, но лёгкий, без чудовищ типа Wx.

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

Bfgeshka ★★★★★
()

А что тебе мешает пользоваться теми, что тебя устраивали раньше?

pihter ★★★★★
()

В церкви. Молитесь, чтобы бог ниспослал вам желаемый слайсер, пока все спокойно пользуются теми, что есть.

Partisan ★★★★★
()
Последнее исправление: Partisan (всего исправлений: 1)
Ответ на: комментарий от firkax

Мусор только в воображении автора темы. Но в новых версиях слайсеров расширяются функциональные возможности, исправляются ошибки и добавляются настройки на новые модели принтеров. Поэтому все кроме автора темы пользуются новыми версиями . А чем пользуется он - только его дело.

Partisan ★★★★★
()
Ответ на: комментарий от usermod

Речь о жирноте, а не о том, как чего запустить. А докер это для конченных дебилов. Абсолютно бесполезная херота для неосиляторов, которые lxc не осилили.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Partisan

Ну-ка, расскажи же мне скорее, как

расширяются функциональные возможности

слайсеров. Исключая, разумеется свистелки и перделки которые к самому слайсингу и генерации G-code никакого отношения вообще не имеют.

исправляются ошибки

Какие конкретно ошибки Slic3r исправлены в Orca/Prusaslicer/Bambooкакеготам?

добавляются настройки на новые модели принтеров.

Вообще-то новая модель добавляется за минуту тыкая в гуйню, или быстрее если текстовый конфиг отредактировать.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

переменную ширину экструзии, ветвистые опоры и всякие прочие новшества.

Это в орке есть вроде как.

Beewek ★★★
()
Ответ на: комментарий от anonymous

И при всём при этом гуй у большинства программ что коммерческих, что опенсорсных полное дерьмо.

peregrine ★★★★★
()
Ответ на: комментарий от Stanson

Спокойно.

Речь шла очень о многих проблемах, часть из которых ты решить можешь, а часть - нет.

Да, переписать программу без лишних или неактуальных для тебя зависимостей ты не можешь и никто другой этим не озаботился. Твой внутренний перфекционист в печали и этого не изменить.

Но речь шла и о других проблемах:

  1. Сложности сборки ПО в своем текущем (слишком новом или слишком старом или просто нетакуси) дистрибутиве.

  2. Сложности апдейтов системы с учетом заморозки зависимостей в этом собираемом ПО.

Вот это все и решает доцкер/podman. Можно взять нужный образ, написать Докерфайл со сборкой, спокойно собрать имидж, загрузить его на докерхаб и в любой момент по свистку у тебя нужный софт в любой системе с любым пакет менеджером и везде полностью рабочая. Все три варианта своего пруса собрал и вперед, перебирай-сравнивай, хоть все три поставил.

От lxc доцкер отличается тем, что это не система. Это по сути чрут на стеройдах. Контейнеры в минимуме весят 3-5 мб да еще и переиспользуются.

Я так влет получаю программы вообще невозможные в дистре. А ты все сборками софта тешишься…

usermod
()

Не волнуйся, ТС, притащили вебкит - притащат и электрон, избавят тебя от этого ужасного wxGTK /s

legolegs ★★★★★
()

Я как-то собирал программу, у которой была жёсткая зависимость от какой-то гугловской утилиты, которую хер соберешь. Эта утилита в работе программы не использовалась, только для тестирования на этапе разработки. В итоге, написал разработчикам программы, и они убрали утилиту из зависимостей. Может и тут можно как-то с разработками пообщаться?

Jullyfish
()
Ответ на: комментарий от Jullyfish

Я как-то собирал программу, у которой была жёсткая зависимость от какой-то гугловской утилиты, которую хер соберешь. Эта утилита в работе программы не использовалась, только для тестирования на этапе разработки.

googletest/googlemock небольшая и легко выкидывается из конфига системы сборки.

Может и тут можно как-то с разработками пообщаться?

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

Stanson ★★★★★
() автор топика
Ответ на: комментарий от usermod

Речь шла очень о многих проблемах, часть из которых ты решить можешь, а часть - нет.

Я могу решить все проблемы.

Да, переписать программу без лишних или неактуальных для тебя зависимостей ты не можешь

С чего ты взял?

и никто другой этим не озаботился.

А это ты с чего взял?

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

Твой внутренний перфекционист в печали и этого не изменить.

Мой внутренний перфекционист разве что озадачен выбором идиотского wxWidgets изначальным автором Slic3r. Это же просто криво и отвратительно.

Но речь шла и о других проблемах:

  • Сложности сборки ПО в своем текущем (слишком новом или слишком старом или просто нетакуси) дистрибутиве.
  • Сложности апдейтов системы с учетом заморозки зависимостей в этом собираемом ПО.

Это вообще не проблемы, это ответы на вопросы мимокрокодилов «а чем не устраивает новая/старая версия». Это причины по которой я и спросил пассажиров ЛОРа, не попадались ли им слайсеры, которые уже кто-то запилил нормально.

Вот это все и решает доцкер/podman.

Докер ничего не решает. Это костыль для неосиляторов, чтобы они могли как-то использовать линуксячьи namespaces/cgroups.

От lxc доцкер отличается тем

Что, докер нынче не через те же namespaces/cgroups работает?

А ты все сборками софта тешишься…

В твоём докере софт от Духа Святого зарождается, или надо сотоне жертвы приносить?

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

Под титульным постом подписываюсь — да, такая беда есть. «Благодарить» за неё надо Bambulab, притащивших вебкит для руления вебмордой клиппера, в рамках общего задела на максимальную идиотопригодность своих поделий. Оттуда данное решение перекочевало в орку и, спустя год–полтора, стало мейнстримом. Даже Прюша сдался.

Альтернатив — не подскажу, вся активная разработка сейчас идёт на основе Orca (и её экспериментальных форков) / PrusaSlicer (и форки вроде SuperSlicer).

Мой внутренний перфекционист разве что озадачен выбором идиотского wxWidgets изначальным автором Slic3r А какой ещё выбор–то? Нужно кроссплатформенное, стабильное, поддерживаемое третье стороной (чтобы самим не погружаться в это болото) решение. C уверенной поддержкой винды в первую очередь.

Либо аксиома Эскобара (Qt/gtk3) — оба абсурдные мастодонты, завязанные на свою инфраструктуру и на не–нативных платформах притаскивающие её с собой в виде многих мегабайт библиотек. gtk3 так вообще не поддерживается под оффтопик официально — существующие сборки продукт сообщества, тех кому очень нужна кроссплатформа.

Либо менее популярные тулкиты вроде FLTK и wxWidgets.

FLTK нельзя назвать стабильным — там в каждом релизе что–то меняют и постоянно что–то отхлёбывает. Привет LMMS и её падучести, например. К тому же оно завязано на C++ с классами во все поля.

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

Ещё более экзотичные альтернативы — связка SDL/GLFW и immediate mode GUI в лице nuklear, dear imGui (опционально: cimgui) или множества неподдерживаемых одноразовых васяноподелий с задворок гитхаба. А то и вовсе нырять в болото с головой и костылить своё васяноподелие самому.

anonymous
()
Ответ на: комментарий от anonymous

А какой ещё выбор–то?

Там гуй - несколько вкладок с простенькими страницами конфигов, да OpenGL окошко. Можно было просто три легчайших нативных морды написать для каждой поддерживаемой системы. Писанины в сумме получилось бы меньше, чем то, что пришлось написать для Wx.

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

wxWidgets слишком корявый и такой же нестабильный как FLTK. А Slic3r вообще на перле.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Partisan

Пишите. Берёте исходный код, разработанный естественно дураками, и умно переделываете его. Все будут восхищены.

Чукча не читатель? Или фанат велосипедостроения? Прежде чем брать и делать вообще-то имеет смысл узнать, может кто уже сделал. О чём, собственно и был пост.

Stanson ★★★★★
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария