Master писал(а):я не собираюсь использовать электронику от принтера, соответственно мне надо управлять всей своей электроникой
Я надеюсь это ты щас про Polyjet говоришь, а то придется в категории Crazy Projects сделать еще одну подкатегорию, "Ваще безбашенные проекты"?
По-моему, у меня почти все проекты как раз в последнюю и попадают... но нет, настолько я еще с ума не сошел... конечно про полиджет.
Спасибо за исходники они правда мало чем помогли, походу там они юзают библиотеку которая и делает нарезку по слоям. Ну да ладно я уже давно убедился, что проще заново написать программу, чем разобраться в чужем коде.
Хз.. может у меня специфика работы такая, но я реально всегда ооооочень мало что-то пишу сам.. мне всегда проще исправить чужое(поэтому, кстати, довольно много моих багфиксов в открытых проектах самой разной тематики).. мне как правило нужно что-то быстро спрототипировать, а для этого уже все в этом мире написано. А конкретно с этими исходниками я почти разобрался.. щаз расскажу, полезно =)
А на счет написания софта без 3Д принтера я не согласен, вполне возможно что кому-то он очень пригодица. Да и вообще написать самому это просто интересно, ведь к примеру большинство проектов на МК можно найти готовые в инете, но многие пишут их с нуля. Мне вот было просто интересно сделать свой ЧПУ с простейшей механикой и самому написать под него софт и я об этом совсем не жалею, получил море удовольствия. Особенно когда узнал что одна контора специализирующаяся на выпуске промышленных ЧПУ для резки металла использует софт работающий по досом.
Я ленивый слишком... предпочитаю быстрый результат
А может просто уже обуржуел... о в целом, мне просто жаль времени на то, чтобы делать что-то, что кем-то уже сделано.
Добавлено спустя 10 минут 22 секунды:Ладно, рассказываю как вообще режутся stl.
Формат крайне дураций на самом деле. Он описывает поверхности фигуры набором полигонов. Причем, вообще говоря, в нем есть только этот самый набор полигонов, которые между собой никак не связаны.
Что нужно чтобы его порезать? Допустим, на высоте Z.
Проходим по всем полигонам файла, смотрих на их координату З, сортируем
1) Если все координаты ниже, то нам это уже нафик не нужно (типа уже произведено)
2) Если все координаты выше - то пока нам это не нужно.
3) Если есть полигон, часть которого попадает под нашу высоту, мы высчитываем его пересечение с плоскостью Z и сохраняем у себя как линию.
С первого взгляда, дальше все просто - эти линии по логике вещей должны быть соединенными, соответственно мы поулчили готовую векторную фигуру. Преобразуем в растровый формат, заливаем, все готово.
На практике, жопа заключается к неоточности операций с плавающей точкой и еще всякой фигне, но линии не сводятся. Их надо досоединить. Но вот stl - дурацкий формат, и какие полигоны с какими были соединены - не говорит. Тоже вроде не проблема, соединяем ближайшие. Но это будет большой ошибкой. Ибо можно соединить не те. И вот тут уже включается магия и хитрые алгоритмы.
Конкретно репрап - строить квадратурное дерево, хитро разбивая плоскость, его анализирует и соединяет линии.
Для обычного принтерного подхода - это все что нужно. Для подхода как в полиджете или репрапе - нужно еще расчитать путь головки(учитывая ширину точки), чтобы заполнить полученный полигон...
Ну и дальше уже идет совсем магия, про которую мне тупо леньрассказывать, ибо никто кроме меня такую фигню не строит вроде как=)
Добавлено спустя 44 минуты 16 секунд:Во, добился окончательно чего от этой тулзы хотел, теперь она умеет рисовать путь следования каретки ) Осталось заставить картеку по нему следовать..
ну это уже мелочи, завтра заберу микросхемы и опять начну железо мучать...