Пенорезка. Постройка, железо, софт. Mastercam.
Написал минимально необходимый софт для создания заданий для своей 5 осевой пенорезки.
Хочется ещё много фишек реализовать и чтобы побольше магии было (в идеале одна больша кнопка “сделай хорошо” 😁), но всему своё время.
Видео как готовить задание:
Софт на базе фрикада. Пока набор макросов, потом сделаю отдельный воркбенч. Макросы отлаживать проще.
Как видно, генератор кода сделан настаиваемым, так что может работать не только с моей пенорезкой.
И примеры деталей, которые вырезаются за одно нажатие кнопки “Отправить GCODE”
Интересное решение с макросами и режет ровно. Отлично получилось. Наверное заточено все под одну фигуру, две три уже наверное не просто будет решать. Но так здорово получилось.
Наверное заточено все под одну фигуру, две три уже наверное не просто будет решать.
Не совсем понял о чем речь. Если о том чтобы на листе разместить несколько деталей и вырезать скажем правую и левую консоль из одного куска, то да, сейчас этого нет, это добавлю в скором времени, возможно даже сегодня когда крылья резать буду 😃 Для этого нужно сделать соединение путей с автоматическим обтеканием детали. Вобщем начало положено, сейчас этим можно пользоваться, дальше улучшение
Да я как раз об этом и говорил, сделать раскладку сразу много деталей, чтобы порезать их одним проходом.А мне интересно другое на чем правда не понятно и как сделать бы софт чтобы он генерировал Gcode. Я проектировал на питоне, для чистки и оработки Gcode, все работает. Но для начала хотелось бы понять как проходит генерация gcode в тех же програх , алгоритм, ведь система учитывает количество отрезков внизу и вверху и потом генерирует код именно синхронизация… Тут пока я застрчл… Да и так то Cad программы все отрабатывают отлично. Единственно на современных станках EDM технология плазменной эррозийной резки те что режут металл струной там убирают из софта эту технологию, скажем из Solidcam нет уже горячей струны… Так сейчас в станок просто загружаешь деталь и софтина сама все рассчитывает и режет … Формирую Gcode.
В фрикаде тоже нет ни чего для горячей струны, собственно алгоритм написан мной в виде макросов, там на самом деле всё просто.
Вот какой ни будь 6-осевой фрезер написать - это уже сложнее, больше нюансов.
Потом это будет воркбенч (верстак) - полноценное расширение. Макросы, как писал выше, проще отлаживать. При изменениях верстака, нужно перезагружать фрикад, а макросы нет, это просто текстовый файл.
Фрикад выбрал как базу потому что:
- Это тот CAD, в котором я всё рисую и для хобби и для работы когда нужно
- У него очень хороший API для создания расширений. Много рутиных (но сложных алгоритмически) функций уже реализовано, типа пересечение линии и поверхности и многое многое другое, не говоря уже об отрисовке всего в 3Д и вообще из макроса есть полный контроль над программой.
Макросы фрикада пишутся на питоне.
То что потом входит в основной функционал, портируется на C++ чтобы быстрее работало. По сути большая часть функционала фрикада изначально была макросами, а потом перетекала в “штатные функции” и расширения.
Хотя и сейчас есть очень нужные и популярные воркбенчи, которые написаны на питоне.
Не знаком с FreeCad надо глянуть обязательно.Я больше специализируюсь на Solidworks и Mastercam.На самом деле интересует именно автоматизация процесса, то есть как бы есть ручная работа и анализ траекторий при построении и было бы здорово, скажем отработать все модели, проложить путь м скажем запускаешь макрос и он автоматом выбираем путь, это было бы неплохое решение. А сейчас очень много времени тратишь на каждую деталь, и потом ещё проклалываешь общий путь движения …брбрбр…
при построении и было бы здорово, скажем отработать все модели, проложить путь м скажем запускаешь макрос и он автоматом выбираем путь, это было бы неплохое решение
В автоматическом построении путей для пенорезки есть неопредленность физического соответствия точки на одном сечении с точкой на другом сечении, устранить которую алгоритмически сложно (но возможно).
Суть в том, что оба профиля должны иметь одинаковое количество точек, но в общем случае нет гарантии что точки будут парные, то есть что любой точке A[n] соответствует точка B[n] с отличной от A/B[n-1] координатой, где А и B - это сечения.
Например вот эта деталь
Видно что переднее сечение имеет одну кривую, в то время как заднее сечение имеет углубление. Так вот полки (верхняя и нижняя поверхность) этого углубления образованы одной точкой на переднем сечении и линией на заднем сечении. Если просто каждое сечение разбить на одинаковое число точек, то вот эти полки вырезать не получится. Человеку просто сообразить что нужно построить маршрут точка-линия, тогда линия на заднем сечении будет разбита на N >=2 точек, а точка на переднем сечении продублирована N раз. Автоматически это сложнее, нужно для начала понять что тут такой случай.
Остальное всё просто. Тоесть автоматическое соединение отдельных деталей так чтобы струна не резала случайно другие детали. Автоматический выбор ребер при клике по объекту - тоже простая задача.
GCode для 4х осевой пенорезки.
X Y A B, Mach3 .
Тут я использовал тонкую нить и подбирал скорость чтобы не пережигала проходы.
Написал минимально необходимый софт для создания заданий для своей 5 осевой пенорезки.
Хочется ещё много фишек реализовать и чтобы побольше магии было (в идеале одна больша кнопка “сделай хорошо” ), но всему своё время.
Респект! Колоссальная работа! С нетерпением жду продолжения и доработки! Удастся реализовать динамический нагрев струны на тонких элементах детали? Например что бы не плавилась задняя кромка крыла. Или это решается только скоростью?
Вот еще по алгоритму построения, … а как именно сам софт внутри думает этого в описаниях документаций нет.
Идея проста есть две окружности, низ и верх. На рисунке точки типа точки прохождения струны, и вот скажем зачастую когда формы простые система вычисляет верх и низ как одинаковое прохождение…и просто рассчитывает одинаково время прохождения, точнее старается подойти к этому… но бывает ошибается. Поэтому лучше сегментировать части сверху и внизу на равные сегменты, как пример сверху 4 и снизу 4. И тогда система сделает лучше свою работу.
Старался описать просто…а получилось как всегда…
Респект! Колоссальная работа! С нетерпением жду продолжения и доработки! Удастся реализовать динамический нагрев струны на тонких элементах детали? Например что бы не плавилась задняя кромка крыла. Или это решается только скоростью?
Спасибо)
Если скажешь какой должен быть алгоритм, то почему бы и нет. Пока проблемы с тонкими деталями не замечал, резал 2мм пластинки ради интереса, всё ок.
Да и опыта в пенорезках у меня на самом деле нет))) Потребовалось резать самолёты для FPV боёв, думал просто буду заказывать резку и в этой теме тоже писал, но оказалось что ни кто помочь не может даже за деньги. Рекламщики так вообще чуть ли не открытым текстом нахрен послали с своими самолётиками)))
Пришлось пойти по пути наименьшего сопротивления - всё сделать самому, включая софт т.к. из приличного только мастеркам, но слишком тяжелый, сложный и под винду.
Вот еще по алгоритму построения, … а как именно сам софт внутри думает этого в описаниях документаций нет.
Идея проста есть две окружности, низ и верх. На рисунке точки типа точки прохождения струны, и вот скажем зачастую когда формы простые система вычисляет верх и низ как одинаковое прохождение…и просто рассчитывает одинаково время прохождения, точнее старается подойти к этому… но бывает ошибается. Поэтому лучше сегментировать части сверху и внизу на равные сегменты, как пример сверху 4 и снизу 4. И тогда система сделает лучше свою работу.
Старался описать просто…а получилось как всегда…
Идея понятна, решаемая проблема тоже. Не понятно зачем эту проблему создали - разное число точек. Возможно эта картинка от софта, который сам считает тайминги для шаговиков, и передает импульсы через низкоскоростной порт, наверно это от Мач3 или типа того.
В grbl уже реализован планировщик, который работает на железке, тоесть при выполнение команды G00 X10 Y50, обе оси придут в заданную точку одновременно, тоесть фидрейт пересчитывается для каждой оси и не превышает заданный.
Поэтому если оба сечения будут иметь одинаковое число точек, то это будет не “GOOD SYNCHRONIZATION”, a “FULL SYNCHRONIZATION” 😃
Собственно у меня так и сделано, выбирается самый длинный путь и вычисляется число точек по нему. Сейчас шаг 1мм, тоесть для пути в 200мм будет 200 точек с шагом в 1мм, а для второго пути, скажем 100мм, будет так же 200 точек, но уже с шагом 0.5мм и обе оси закончат резку одновременно, тоесть полная синхронизация. Поверхность получается как от 3д принтера, уменьшать шаг наверно нет смысла тк струна сглаживает дополнительно.
Да не картинка моя, я алгоритм моделировал под питон, чтобы понимание было.В Мастеркам , там самое главное сегментация , тут уже алгоритм не понятен, как софт режет сегмент. Бывают есть детали очень сложно резать, скажем круглые конусные формы с большим углом , тут бывает засада… И проще разрезать деталь на две и каждую отдельно , все синхронится на ура. И самое интересное что заходить на деталь надо с минимальных изгибов, по прямой так проще и точнее.
Я делал термо плотно 😃)) просто наклеил цветной скотч на чуть смоченную потолочка, вырезал текст, переклеил его на летающее крыло как текст, вполне неплохо получилось . Но это так было для эксперимента … Горе от ума 😃 главное технология работает.
Смотрел на FreeCad, открыл Skywalker 1680мм в FreeCad, форматом iges… очень не просто пока для меня понять что куда… ух…
Так и не понял как настраивать, видимо как то надо преобразовать сначала из формата в формат FreeCad.
В солоде немного проще нарисовал, раскидал… графически проще реализуемые функции и функционал.
Закипел… 😃)) боюсь этот софт, может положить конец проектировать модели, не успевая начаться… надо читать матчасть…
Всё норм у тебя детали импортированы как твердые тела.
Проще та программа, в которой давно работаешь. Меня в солиде бесит ось Z направленная всторону, а не вверх))) А в целом плюс минус то же самое. В солиде функционал работы с поерхностями чуть лучше (есть поверхность касательная к другой, чего в фрикаде не хватает) и модуль CFD прикольный. Но солид только под винду, а я лет 10 ей не уже не пользуюсь.
А и ещё у тебя старая версия фрикада. Очень старая и очень глючная 😁
На линукс обновления фрикада автоматом прилетают каждый день. Под винду там нужно отдельно качать. На сайте под винду выложена вот эта старая версия типа стэйбл.
Ещё при резке можно закладывать швы под рейки или карбон, достаточно удобно в дальнейшем.
Добрался до своего проекта ла-9, заодно проверил внутренние резы. Там какраз есть вырезы в крыльях под лонжерон, они же кабель канал сервы, они же карбоновая труба. И ещё в хвосте вырезы под боуден тяги РН .
Припуски не нужны, внутренние отверстия получаются точно. Под трубу - 10мм, под боуден 4мм, но подумал что будет жечь и в модели сделал 3мм. На выходе в пене получил ровно 3мм. Придётся пробивать 😃
По софту особых доработок не делал, баги правил и добавил элемент “перемещение” для рисования дополнительных путей. Выбираешь точку конца пути, создаёшь объект, указываешь смещение относительно этой точки, получается новый прямой путь для обоих пар осей. И сделал что при генерации gcode можно выбрать несколько маршрутов. Получилось удобно - делаешь отдельные маршруты для скажем отверстия, контура, торцевания, потом выбираешь в нужном порядке и создаётся gcode. Его в станок, пену на стол, один клинк кнопкой на “отправить” и на выходе деталь.
Примеры новых деталей, качества их стыковки и пенопластовый скелет для самолёта ла-9 ниже. Детали соответственно выполняются за 1 прогон, ручной работы в них нет.
С задней кромкой все отлично.
Если начинать резать с задней кромки, тогда пена успевает остыть к моменту возвращения струны. Если-же необдуманно начать резать с передней стороны, тогда и получается подплав при смене направления движения струны.
п.с. это в Москве такой пенопласт желтый? У нас какой-то фиолетово-розовый или серый продают.
Да, это пеноплекс, у него разная плотность бывает и у каждой свой цвет на сколько понял. У меня есть желтый, оранжевый и какраз фиг пойми какой фиолетово-розовый, соответственно слева направо по возрастанию плотности.
С возрастанием плотности растет потребная температура струны. Желтый и о оранжевый можно на одной резать, третьему нужно добавлять.
Стыковка деталей по задней кромке и какраз желтый и оранжевый:
Если начинать резать с задней кромки, тогда пена успевает остыть к моменту возвращения струны. Если-же необдуманно начать резать с передней стороны, тогда и получается подплав при смене направления движения струны.
Этот прием применяю с 2012 года. Уменьшаем подплавление и коробление тонких деталей. Трассу движения струны прочерчиваю полностью со всеми входами и выходами струны из пеноблока. Режу слоями сверху вниз.
Да нюансов дофига оказывается)
Например сначала нужно резать внутренности, и только потом контур, иначе деталь “падает” и внутренности получаются смещены ну и так далее.