Свежие обсуждения
Идеи

3D принтер

1 5 30

Удивительные эти люди - буржуи. Скачал спецификацию на DXF, а в неё вложена программа на визуал бэйсике для чтения файлов DXF формата.
Всё, с программированием "покончено". В матлабе нужно попробовать написать программу-нарезчик слоёв и если получится, можно железо "клепать".

 

Михалыч А ну если бы не ты так бы тема и померла!!! Я ж те сразу говорил что с праграммным обеспечением не будет проблем, а вот с электроникой точно будут!

 

Электроника - тоже не проблема, благо для совсем уж кому никак - есть в продаже нынче готовые контроллеры ШД с микрошагом и управлением по UART.

 

Оказывается в матлабе специальной функцией открывается любой файл с любым расширением. Файл DXF и в блокноте хорошо открывается, только толку мало.
Вся суть в том, чтобы научить программу должным образом обрабатывать требуемый объект. В автокаде этих объектов немеряно.
Надеюсь реализовать следующий алгоритм:
1.Нужно определится с рабочим объемом 3D принтера, где будет выращиваться 3D модель.
Определился - малюсенький параллелепипед 10х40х6 мм. 6мм - это высота по оси Z.
2. Нужно выбрать требуемую точность вычислений в автокаде.
На одну сотку надеюсь. Если мой параллелепипед порезать ножом толщиной 0,01 мм, то получится 2,4 Гига кубиков. Каждый кубик - это пиксель в будущей картинке. На каждый пиксель нужно минимум байт информации, чтобы цвет запомнить. Если и моделировать и печатать каждый слой толщиной 0,01 мм, нужно 2,4ГБайт диска на одни картинки.
Две сотки уже дают всего 300Мбайт затрат по памяти.
3. В автокаде создается 3D модель и каркас 10х40х6 мм. Каркас начинается в точке 0х0х0. Модель помещается внутрь каркаса и смотрится, чтобы за пределы не вылазила.
4. Самый ответственный момент, на котором может произойти остановка всего процесса. 3D модель нужно обшить сеткой так, чтобы шаг сетки был 0,01 или 0,02 мм и координаты узлов сетки по трем осям были цельно кратны 0,01 или 0,02 мм.
И это всё при условии, что я правильно понял спецификацию (на английском) DXF файла, в которой вроде сказано, что в DXF файл закладывается координата каждого узла сетки.
5. Если четвертый пункт сработает (на данный момент я не знаю, как такую мелкую сетку создать) дальше делать в программировании практически нечего. В матлабе координаты из DXF файла загружаются в трехмерную матрицу, матрица режется по слоям, создаются контуры каждого слоя, контуры ПРАВИЛЬНО заливаются черным цветом и полученные картинки по правильной очереди отправляются на печать.
Заранее благодарен за дельную информацию по пункту 4. Крупной сеткой обшивать умею. Может надо иметь что-то помощнее, чем 2002 автокад? Или совсем другой 3D кад?

 

Михалыч А я даже нить потерял в твоих рассуждениях! 1.Нужно определится с рабочим объемом 3D принтера- что это значит? Какие картинки? какие 2,4 ГБ? Я про между прочем сказал что можно использовать DXF не уверен что это лучший выбор! формат старый и насколько я знаю разрабатывался под 2Д графику, а у нас извините 3Д. Для переброски данных часто используют формат 3ds, OBJ и последнее время в своих разработках MS усиленно использует FBX(http://www.autodesk.ru/adsk/servlet/index?siteID=871736&id=6962402). Так вот это все векторная графика! Есть куча точек в пространстве,надо делать математически сечение фигуры проецировать ее на плоскость и посылать проецируемое сечение в буфер 3д принтера. Далее делается следующее сечение с определенным шагом, проецируется на плоскость строиться в буфере и отправляется на принтер! Не вижу тут ни кучи фотографий ни 2,4 ГБ тем более. Начнем с самого начала!!!
1. В любой 3Д программе Автокад или 3Д студия или еще какая делается модель.
2. Сохраняется в самый распространенный открытый формат, думаю что это FBX. так он открытый и на него есть SDK
3. загружается в программу управления 3Д принтером и она начинает строить сечения, проецировать на плоскость и выводить на печать проекцию!

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

 

Я не собираюсь 3D принтер с нуля сам делать. Я возьму готовый струйный эпсон, которых у меня "куча" дома валяется и сделаю на его основе что-то похожее на 3D принтер.
НЕТ У МЕНЯ И НЕ БУДЕТ НИКАКОЙ ПРОГРАММЫ УПРАВЛЕНИЯ 3D ПРИНТЕРОМ. Всё ПО я буду использовать стандартное. И только в микроконтроллер управления заводским шаговым двигателем принтера ( чтобы несущую назад возвратить не залезая в ПО эпсона) и своим дополнительным шаговиком, я "залью" своё самопальное ПО.
Как строить механическую часть - я отчетливо представляю и с электроникой не будет никаких проблем.
Если я смогу построить мелкосеточную 3D модель, то корявый, неточный, самопальный 3D принтер у меня в "кармане". Останется довести точность до терпимого уровня.
А какой формат использовать для оцифровки поверхности мне всё равно, лишь бы требуемая точность получалась.
Описание FBX скачал, но ещё в переводчик не загружал.

 

Посмотрел на FBX - больше на рекламу похоже. Спецификация - это как в DXF. К тому же про DXF на каждом углу пишут, что это открытый формат. У приятеля есть 3D word, надо спросить на счет сеток. В самом худшем случае придется в матлабе учиться примитивные 3D объекты делать. Матлаб под поверхности хорошо заточен, неясно только как 3D вращение программировать.
P.S. Попробовал сохранить короткую линию в файл DXF - получил файл размером 15-16 К байт. Потом сделал квадратную сетку размером стороны с вышеуказанную линию и количеством узлов на каждую сторону - 200 шт, и опять сохранил в формате DXF. Получилось почти 4 М байта. Всё путем, координаты каждого узла сохраняются. Можно и нужно попробовать сравнительно большой примитив из лоскутов сетки собирать, а лоскут можно сделать с требуемым количеством узлов на квадрат поверхности.

 

Михалыч А ну тут уж я ничего не могу сказать, знаю только 3Д студию и чуток автокад и тот и другой этот формат поддерживают, для меня матлабы темный лес. Вобщем жду подробные рассказы по электронике, я гемороиться со стандартным ПО не буду, тем более что для данных целей его нет!

 

3D max и другие подобные программы это конечно интересно. Но, если строить 3D принтер может имеет смысл использовать и программу которая заточена под проектирование и выдает большой спект выходных файлов и строит с точностью 1:1 например SolidWorks?

 

Sailanser это точно не тема для обсуждения, програм строящих 3д модели великое множество и они практически все поддерживают форматы обсуждаемые мной с Михалычем. Так что кто в чем умеет, тот в том и будет создавать модели. Что касатся точности то точность везде одинаковая так как все строится на системе управления координат виндовс. Другое дело что в разных программах, разные инструменты построения 3д моделей и естественно моделирование материалов которые нас сейчас мало интирессуют.В автокаде например очень много инструментов точного позиционирования(поворот на угол, перенести на определенную длинну и тд), гараздо скромнее в этом плане 3д студия. Но будет обсолютно ошибочное мнение если сказать что я построю объект в автокаде с большей точностью чем в 3д студии. Так что в чем строить это вообще не вопрос, скорее вопрос в точности расчета наших сечений и вывод их на принтер!