?

Log in

No account? Create an account

ru_reprap


RepRap: трёхмерный принтер, кот. печатает себя


Previous Entry Share Next Entry
про 3д-модели
поумнеть
nicka_startcev wrote in ru_reprap
попробовал напечатать на репрапе что-то типа пресс-форм.

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

это в теории. а вот на практике начинается грусный цирк.

1. многие модели корректны снаружи, но некорректны внутри. при их вычитании лезут всякие кишки-мясо

2. netfabb первый пункт или плохо видит или требует насильного прогона "поиск самопересечений", или отказывается лечить в бесплатной версии.

3. опенскад, скотина такая, очень плохо работает с вычитанием.

Вот, например, модель брутальной лягушки, вычтенная из куба (модель, скад, картинки) http://startcev.spb.ru/frog/

и, в зависимости от погоды на Марсе или еще каких непонятных астрологических факторов из указанной скад-модели не получается стл-модель вот такая http://startcev.spb.ru/frog/frog_0.png . (при превью лягушка рендерится нормально, а при рендере (F6 CGAL) вместо разницы между лягушкой и кубом имеем куб)


В общем, вопрос к тем, кто делал формы для штамповки/заливки/итп, а не аддитивной печати.

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

  • 1
Коротко: выкидываются всякие богомерзкие десигнерские поверхностные инструменты, которым наплевать на артефакты, берутся православные твердотельные. Ну или в мэджике до посинения можно отлавливать косяки уже в stl. Впрочем, можно до посинения и с твердотельными))

ничёнепонял.

вот я скачал геккона.

http://www.thingiverse.com/thing:3378 или http://www.thingiverse.com/thing:28998

проверил (через нетфабб), вроде бы всё ок.

импортировал в опенскаде .стл -- импортируется.

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

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

в общем, хочу описания решания этой проблемы без покупки платных инструментов.

ps: хочу описание всего процесса от "вот геккон с фингиверз" до "вот отпечаток этого геккона в парраллелепипеде, экспортированный в .stl"

Вообще заниматься булевым вычитанием с 1000000 граней несколько более чревато, чем, скажем, со 10 аналитически заданными поверхностями. Вот и вся фигня. Вычитать лучше там, где это спроектировано. А бывают твердотельные системы проектирования бесплатные?

>Вообще заниматься булевым вычитанием с 1000000 граней несколько более чревато, чем, скажем, со 10 аналитически заданными поверхностями.

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

а тот же гцц - это не дурной невменяемый кэйл Си и не прочие уроды. гцц гарантированно компилирует без лицензионных взбрыков и не требует по 10 раз реализовывать нечто типа msvc*.dll

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

в общем, я не вижу принципиальной разницы между 10 и 1000000 граней, алгоритмика-то, по идее, ровно та же.

>А бывают твердотельные системы проектирования бесплатные?

ахз. лично я пользую (забесплатно) опенскад кикад и ltspiceIV.

Хм. Designspark какой-нибудь, наверное. Freecad, опять же.

ээ... фрикадом можно нормализовать ".stl" модель так, чтоб она стала ровно однослойной и корректной при выворачивании моделью?

я бегло смотрел фрикад и ничего такого не нашел.

Это был ответ на вопрос о бесплатных твердотельных кадах :)

Сам я печатью не занимаюсь, к сожалению, потому что принтера нет.

а там и без принтера иногда глюки видны.

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

Судя по описанию формата, .stl хранит в себе триангулированную поверхность с нормалями, так что скорее всего и правда оригинал криво сформирован.

Вообще это очень кривая идея — хранить данные для печати в треугольниках. По уму, формат для трехмерной печати должен быть воксельным, с динамическим разрешением. И с компрессией, иначе он будет дико жрать место :)

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

>Вообще это очень кривая идея — хранить данные для печати в треугольниках.

таки да. даже мелкомягкий 3дс формат чуть лучше.

по уму, формат для 3д-печати должен быть примерно как исходник опенскада, а-ля "суммировать-вычитать кубы-шары".

>Вообще я рекомендую попробовать блендер

вот я скачал с фингиверз модель в виде стл. блендер сможет сделать ее гладкой снаружи и изнутри?

а про алгоритм - он может быть полуитеративным и регулярно задавать внятные вопросы и предъявлять внятные слайды.

> по уму, формат для 3д-печати должен быть примерно как исходник опенскада, а-ля "суммировать-вычитать кубы-шары".

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

> вот я скачал с фингиверз модель в виде стл. блендер сможет сделать ее гладкой снаружи и изнутри?

Блендер сам по себе ничего сделать не сможет, но человек, готовый научиться им пользоваться, может сделать много чего интересного и иногда даже практичного. То есть я, имея некоторый опыт обращения с блендером, скорее всего смог бы выгладить модель. Как минимум, импортировать и экспортировать .stl он умеет.

Блендер — он как 3дмакс, только бесплатный и более универсальный. За большую универсальность он платит тем, что менее специализирован в конкретных применениях.

а вот, навскидку.

http://www.openscad.org/ - там опенскад, http://startcev.spb.ru/badstl/ - там два файла с 3д-моделями и файлик-текст для опенскада для вычитания этих моделей из кубиков.

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

в общем, интересно ваше мнение по теме "как из этих квазиправильных 3д-моделей получить реально правильные".

>а вот разбивать скульптуру на элементарные объекты — это тяжко.

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

Забавно: блендер утверждает, что нормали геккона смотрят в правильном направлении.

нормали там правильные.

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

итого, геккон рендерится нормально, а при вычитании геккона из кирпича вылезают неоднозначности.

попробуйте вычесть геккона из кирпича, у которого одна из граней почти совпадает (чуть выше, для однозначности) с нижней гранью геккона.

Да, тоже с таким приколом столкнулся. Подумалось, что печать пресс-формы нужно сделать как опцию слайсера.

а вариант.

а вы не пробовали изложить эту идею авторам слайсера?

ps: у кого хорошо с инглишем и связями? а помогие донести мыслю до..

OpenSCAD, кстати, какой версии? Он постоянно развивается.
Мыслю можно нести сюда https://github.com/openscad/openscad/issues

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

оба выдавали примерно одинаковые проблемы в внутренних библиотеках точной арифметики.

в общем, если у вас под рукой есть алгоритм кошерной сборки опенскада, которая лишена этих багов, то интересно узнать все версии всех либов и версию када. (версии либов есть в хелп-эбаут)

Если вчерашний не берёт, то и нету никаких секретных опций сборки. :-(
Имеет смысл написать жалобу: может чего подскажут, а не подскажут, так пофиксят. Другое дело - когда.

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

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

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

какие именно проги, где именно спрашивать?

в общем, чем править модель?

  • 1