Для сотрудников компании Picaso 3D - мой способ получения контура пути сопла/фрезы для генерации G-кода.

Подписаться на 3Dtoday
accurate_random
Идет загрузка
Загрузка
05.02.18
1199
27
печатает на PICASO 3D Designer
Личные дневники
1
Что зачем и как (эта запись для сотрудников компании, которые вышли со мной на некоторое общение на этом портале, но я к сожалению не могу перейти к активному сотрудничеству с ними - ибо у меня своих проблем по горло, но поделиться мыслями всегда буду рад и что-то подсказать, если придумаю что-то):
Это длинная история, поэтому я её максимально сокращу. Писал я свой генератор G-кода для фрезы, но потом что-то увлёкся другой программой и потом появились новые дела и я бросил генератор.
В ходе его написания была серьъёзная проблема - получение контура пути фрезы, дело в том, что одно дело - контур самой детали, а фреза должна идти совсем по другой траектории по смещению наружу, она-же саму деталь "грызть" не должна. Тогда я обратился с вопросом на cyberforum.ru, там я в общем и консультируюсь по среде разработки в которой пишу коды и разные нужные мне программулинки, бывает надо, и очень часто, надо просто позарез.
Я долго ждал ответа, дня три наверное, в итоге появился человечек, который занимался данной проблемой и не один, и расписал мне все проблемы, которые возникают при решении данного ТЗ. В общем они "заюзали" для решения ТЗ нелинейную математику, он мне выложил все проблемы на эскизах - это был какой-то ужос, я сразу понял, что если я пойду этим путём, то можно сразу делать отмашку пересечения финишной прямой, причём без решения ТЗ, короче говоря - можно забыть об этом ТЗ и его решении.
Но есть у меня такое качество - что нибудь придумать этакое, чтобы максимально облегчить себе задачу. Начал думать, причём я сразу перешёл к линейной математике - начал искать способы адаптации ТЗ к ней, а в этом у меня опыт уже был небольшой, так например я придумал как игру в шахматы свести к решению обычных линейных уравнений, ну и естесственно я начал рыть в этом направлении, в котором у меня уже что-то получалось когда-то.
И вот к чему я пришёл, я не великий кодер, не великий математик, но способы я придумаю очень быстро - это у меня получается хорошо, особенно когда задача сводится к уменьшению объёма и сложности поставленных задач и работ.
Так как я не доделал свой генератор - нету времени, просто его катастрофически нету, несмотря на то даже, что я временно БР (ещё недели две точно), и даже не имея средств на настоящий момент на приобретение каких-то штуцеров там на компрессор, ещё какой-то там мелочёвки, работы к меня всё равно валом - опять пишу код, но другой, у меня там получается программа недоCAD, очень подойдёт всяким самодельщикам, которым надо рассчитывать всякие движки, муфты, в общем всё что они делаю самостоятельно, но и в итоге там и аппарат весь можно будет рассчитать. Там мне не так много работы - к тому-же я и там придумал очень хорошую "удобняшку", коей нет ни в одной CAD системе или научном калькуляторе программируемом - для самодельщиков эта прога будет просто цаца.
Итак поехали долго уже короче, сами посмотрите насколько удобен этот путь обхода нелинейной математики, я не знаю - потому что не доделал.
PREVIEW
Я не люблю паинтовские ущербные схемы, и предпочитаю визуализацию 3D.
1-это сама модель, она зелёная, здесь рассматриваются срезы, цифрой 1 обозначен контур модели (понятно что я взял простую модель, она не допустит самопересечени, но об этом позже, мне просто так быстрее сделать пояснение по способу). Нам нужно получить контур движения или сопла или фрезы, чтобы уйти от нелинейной математики, которая в последствии обработки самопересечений повлечёт за собой сложный анализ булевых операций (а я не люблю проверок условий, люблю использовать безусловные кострукции с использованием массивов процедур, в современном FPC такое можно, правда об этом мало кто знает (со мною даже спорили какие-то студенты, но эксперт помог поставить их на место, они даже не думали и не пытались в данном направлении, а там уже давно всё готово - бери и юзай функционал), но я знаю - потому как иногда мне удается иногда сформулировать правильно мысль и задать эксперту по среде разработки нужный вопрос-"можно или нельзя так делать?";).
Итак как я это делаю. Всё просто: представьте себе, что Вы вырезали из бумаги контур модели, нужно получить контур для фрезы или для сопла. Для этого Вы берёте контур (допустим он жёсткий) и помещаете его на поверхность из песка, или просто красящим веществом его обмазываете и на бумагу помещаете. А потом вы делаете поступательно-вращетельным движением оборот диаметр которого равен радиусу сопла или фрезы, оставляя отпечаток. В идеале результатом сей "булевой" операции получится два контура с заполнением между ними - контур красного среза и контур синего среза. Контур синего среза (3) - это контур движения фрезы, а контур красного среза (2) - это контур движения сопла принтера. Одну петлю мы уже нарезали для сопла, потом берём эту петлю и делаем с ней то-же самое - получим внутри контур насколько пластик петли снаружи заходит внутрь детали, потом берём этот контур контур и делаем снова оборот вращательно-поступательного - получаем контур движения сопла для второй снаружи петли , и далее по циклу.
Тут никакой нелинейной математики нет. Целесообразность данного решения оценить не могу - я забросил это дело и времени у меня на него нет. Но мне кажется, что при "механическом" вычислении (мой способ этот) я ухожу от ненужного вычисления вещественных переменных и последующего преобразования их в целочисленные, мне это уже получается не нужно, да ещё и в нейлинейной математике. Я могу сразу инвертировать данные в целочисленные и оперировать ими (правда радиус сопла - нецелочеслинен, но это всего-лишь вопрос масштаба). Во ворых - опыть-же на сугубо мой взгляд, я получаю больше удобства по вычислению, ибо у меня чётче вырисовываются нормали линий на двумерном срезе, но это лишь догадка - я до этой части вообще не доходил.
Вот, что быстрее и проще, на самом деле знать не могу, но мне кажется что мой способ проще, ибо в нём я ушел от нелинейной математики к линейной.
А Вы уже как специалисты смотрите сами что и как. Успехов. Если пойдёт на пользу-буду рад, я не вижу криминала в том, что сотрудники общаются с пользователями - это им только плюс и плюс к общему развитию.
Подписаться на 3Dtoday
1
Комментарии к статье

Комментарии

05.02.18 в 18:40
1
о_О
05.02.18 в 21:16
0
06.02.18 в 11:08
0
Паяц. Но видимо за живое его задело - выступить решил. Ну может по жизни с такими глазками, кто его знает.
05.02.18 в 21:45
0
Да вы там хоть как в комментах изощряйтесь, а линейная математика проще для вычислений сводящихся в конечном счёте к булевым, и вы там хоть какие болты делайте, у меня просто того "научного доклада" нет что мне давали, с нелинейной математикой для булевых вычислений, по сути. Хоть через свой задний проход смотрите, это личное ваше дело. Или чё, про шахматы текст удивляет? Так пространством виртуальным надо уметь оперировать в своей голове. Вводишь через восемь клеток доски семь клеток технологического пространства, при переводе доски в одну линию, и в итоге становится не только доска одномерной но её фигуры, а без технологического пространства фигуры останутся двумерными. А фигуры стали одномерными - решай уравнения линейной математики и никакого волшебства. Ты когда переводишь всё в линейную математику, если работает бестолковка настолько, то любой код упрощается. Этому меня никто не учил и нигде я про это не читал - я это просто знаю и умею. А если твоя бестолковка нифига не может - то носи очки или глаза придерживай.
Это и есть абстрактное мышление - создание новых систем отсчёта. И животное смогло-бы, оно просто не понимает, а у части из них это в зрительной системе природой ещё вшито - там даже изобретать ничего не надо, природа сама это делает, бери да пользуйся. И то что Вы тут глаза делаете-это Вас характеризует, а между тем уже давно есть патенты на изобретения оформленные на системы AI. И это давно не новость. Просто есть ламеры, а есть нубы, и ещё есть эксперты. Я себя ближе к нубам причисляю, чем к ламерам или экспертам.
05.02.18 в 23:51
0
А не проще взять перпендикуляр нужной длины для каждого отдельного отрезка? Все равно контур из отрезков строится.

Или это ведет к нелинейной математике?
06.02.18 в 10:33
0
А Вы смоделируйте этот процесс, руками как получится проще или нет? По моему сложнее. Вот Вы взяли в руки свой перпендикуляр, который надо вычислять всегда на компе, и руками начали выворачивать его всё время. Проще? А почему вычислять проще? Вычисление перпендикуляра так или иначе приведёт к нелинейной математике, и когда вы начнёте отделять мух от котлет - проводе необходимые булевые операции, чтобы понять откуда какой контур взялся - при самопересечении , вот там проблемы и начнутся, я до этой части в моделировании этого процесса даже не доходил, потому что знал что мне одному с моим лимитом времени это очень сложно и проще отказаться от затеи. А трафарет взял, сделал оттиск - всё ясно: вот оно чёрное вот оно белое, чё тут думать. Моделировать процесс можно конечно не в идеале - там уже опять у кого как сноровка заточена, кто что упростит, кто что уберёт или добавит. Понятно, что у массива пикселов-то побольше изображения полученного оттиском, чем просто перепендикуляр вести, но перпендикуляры накладываться могут, вот тут фокусы и начнутся все. Меня тот человек в этом достаточно убедил эскизами - я сразу понял что это настоящая проблема.
Да мой способ тоже не сахар (объёмом пахнет машинного времени, но опять-же: массив получается однобитных данных, это не так много)- но визуабельно намного проще. К тому-же по моему способу очень много можно сделать за счёт видеокарты, её функционалом - это очень быстро, посмотрите на игры которые сейчас делают. И зачем там самому что-то вычислять - если можно обратится к производителю видеокарт, и они подскажут как сэмитировать физический процесс- не знаю, мне всегда, хоть я и посторонний для экспертов - я всегда получаю ответ на вопрос к эксперту на форуме программистов, ещё ни одного вопроса не было без ответа, любая моя фантазия-более менее логическая всегда оценивалась экспертом и давался ответ, так например эмуляцией GOTO по переменной строке становится массив процедур, только на фоне событийного и объектного программирования в сто раз лучше чем раньше могло быть.
Надо просто не задавать вопросы типа - как написать программу складывающую два плюс два, а более менее подходить в вопросе к тому факту, что мозги у вас есть, а знаний в данной области не хватает: знаний среды разработки, её функционала, логика вам должна быть знакома и осуществление мыслительного процесса в своей голове. Если спец по вопросу увидит что вы просто бамбук - никто вообще и не станет отвечать на вопрос. Эксперты так и делают - они сразу на вопрос смотрят и получают образ умственных способностей его задавшего, и уже смотрят - отвечать или вообще игнорировать. Но надо сжато вопросы задавать. Есть такие вопросы на полях интернета, что глядя на него складывается впечатление что просто животное бежало - под кустик пописало и дальше убежало. Сам не раз за собой замечал - когда голову включать было лень при составлении вопроса.
Всякое бывает - "и пряники перепадают и палкой поддадут!". ;)
06.02.18 в 09:11
0
Честно говоря, наверное у меня большие проблемы с пространственным воображением, и я из данного рисунка и пояснения вообще не понял, что такое поступательно-вращательное движение которое приводит к созданию таких контуров. Нельзя ли расширить Вашу идею ещё и траекторией этого самого движения? Я сам немного занимаюсь подобной проблематикой, и хотелось бы понять Вашу идею.
06.02.18 в 10:37
0
Ну всё-же элементарно. Вы взяли трафарет, обмазали его краской, положили на бумагу, и сделали оборот вращательно-поступательного движения диаметр которого равен радиусу сопла или фрезы. И получите два контура-внешний для фрезы, внутренний для сопла. И далее циклами - контур движения инструмента - контур материала - контур движения инструмента - контур материала - контур движения инструмента. Эмуляцию процесса - за счёт видеокарты. Данные однбитные - какие проблемы, ни шейдеров ни текстур.
14.02.18 в 13:40
0
пытаюсь вникнуть и осмыслить. но не пойму, какую точку трафарета относительно чего вращаем, что будет направляющей, а что формообразующей))
15.02.18 в 01:12
0
Нету вращаем, есть вращательно поступательное движение. Контур - "тело" оставляющее след. Новый спам начался? Так понятно описал, или снова проблемы щас начнутся.... может контур отдельно надо было нарисовать, так вроде людям и так понятно где конту слоя...мне тоже не понятно, что именно не понятно. Контур формообразующее. Он оставляет след от поступательно вращательного движения, диаметр которого равен радиусу сопла или фрезы.
14.02.18 в 14:09
0
А. понял. берем центр фигуры, помещаем в него окружность с диаметром сопла. потом получаем множество копий фигур, центр которых лежат на этой окружности. и получим две эквидистанты к фигуре - перемещения центра следа инструмента по наружи и перемещение центра следа инструмента внутри.
Комментарий скрыт
(Скрытый комментарий)
Комментарий скрыт
(Скрытый комментарий)
15.02.18 в 01:21
1
Ski, при всём уважении попрошу не отвечать больше за меня. Мне это в моих темах не нужно, можешь за меня в своих отвечать темах, если тебе так хочется. Если вы считаете себя умнее - то и эту тему вы можете обсудить где-то у себя, как подобает таковым. А здесь вы можете задать вопрос и получить ответ, тут не клуб. Либо вообще не приходить. Это мой личный дневник. Осмысляйте.Вот этого тут не надо

Этого Фрейда с собой для бесед прихватите, чтобы лучше понимать друг-друга. Успехов. Надеюсь на ваш прогресс и удовлетворение им как заслуженным результатом труда. И без меня не соскучитесь.
15.02.18 в 09:40
0
попрошу не отвечать больше за меня.
Ok.
Принято.
тут не клуб.
Не соглашусь.
Наш сайт - это - Клуб.
Если не согласны - перечитайте устав сайта.
Оставляю за собой право "прокричать" с галерки.

Вот этого тут не надо
Ок, иллюстрировать эмодзями долее не буду.
Заодно и свои "мешающие" комменты - скрыл, без возможности восстановления (иначе не умею).

Теперь - Лаконично.
15.02.18 в 11:34
0
Как странно выглядят мечты, когда они сбываются...не правда-ли...Если Вы куда-то идёте - не мешайте другим, а то и сами можете не дойти, это просто совет. Вон там комент, если интересно:
accurate_random
Wowman
15 Фев 08:06

но это тяжело читается, по другому не умею. глубоко, слишком глубоко, но по другому нет смысла.
Как странно выглядят мечты, когда они сбываются
Помните откуда это? Это по книге физики, что я Вам давал ссылку, фраза оттуда.
Так вот. Удачи на пути.
15.02.18 в 12:06
0
Удачи на пути
Спс.
15.02.18 в 12:31
0
Что самое интересное - ты не представишь, мне снилось то место, что на картинке что я туда залил. Ты не представишь - там в колодце всё то-же самое что и снаружи, но другое. Я не мог понять что это вообще мне приснилось, оно по другому конечно выглядело, и было через много-много лет после (но фильм я многократно смотрел, да и игру проходил раз вроде), и я спускался вы тот колодец во сне - там всё то-же самое, и даже те-же самые люди, но всё другое, совсем. Это странно мне казалось, что эти люди умудряются быть и тем и тем и там и там...я не мог понять как это...ладно не важно, я закрыл эту...это такие дебри...я этого не понимаю что это вообще...извини...надо делами заниматься.
15.02.18 в 12:35
0
ты не представишь,
спускался вы тот колодец во сне
"The Ring".
Страшно.
17.02.18 в 12:04
1
Не страшно, там всё иначе выглядит - у каждого ведь свои глаза, и желания разные. Это просто всё-всё субъективно. Сложного ничего нет - то что видит один, не увидит другой. А как Вы думаете изобретения делаются? То что для одного очевидно, ну или по крайней мере составит какой-то труд - для другого непрошибаемая стена, он через неё никогда не пройдёт самостоятельно. Это сознание - вещь индивидуальная.
15.02.18 в 01:20
0
Я выше ответил, не надо очередного мне тут срача.
15.02.18 в 01:18
0
Наверное так, я умных словес не знаю, выше откоментировал, а то я думал это продолжение темы про наркотики.
06.02.18 в 11:17
0
Но эксперт может не сразу появится - если вопрос по видеокартам задавать, могут отметится бамбуки сначала, с перьями коих они себе навтыкали в самые несуразные части тела изображая мушкетёров из романа А.Дюма, а потом, когда эксперт увидит что плоды его труда втаптываются в грязь оными - даст исчерпывающий ответ. Но возможно прийдётся аргументировать логикой этим "горе мушкетёрам", тогда они вообще в цирк всё начинают превращать, и тогда уже появлятся эксперт, и такое бывает, его уже просто вся эта картина начинает брать за живое - речь-то о его труде, и тогда он уже раскатывает-"так и так делать и вот так и так, и всё-будет". Бывает и так, бывает и поменьше рангом знатоки дадут исчёрпывающий ответ - всякое бывает.
От нелинейной математики кодер всегда старается уйти, так-же как я ухожу от систем проверки условий - предпочитаю безусловно работающие конструкции, потому что это - машинное время, скорость программы. Так-же и тут. Но я просто предложил свой способ к рассмотрению, я не даю однозначного ответа что он лучше - это могут оценить эксперты. Я до конца в этой работе не дошёл - у меня есть изобретение в механике, патент, этим и занимаюсь, от того пришлось отказаться в пользу целесообразности распределения времени. Тут я просто могу сослаться на "могущество" современных видеокарт (на них даже вроде читал уже и нейросети запускают), что да - мой способ может быть хорош.
07.02.18 в 06:59
0
Современные видеокарты используются для игр и майнинга! Остальное от лукавого)

А когда сложность решения задачи минимизируется сокращением времени на ее решение - это лень, а не линейная математика ( применительно к вашему запутанному несущественными вещами рассказу)
07.02.18 в 11:26
0
- это лень

Ага, давай про лень рассказывай, продолжай. Очень интересно. Пост напиши - "Про лень", это-же портал мейкеров, научи всех жизни. Про что ты ещё можешь рассказать? Может ты просто дневники попутал - свой с чужим? Иди вон у себя в дневнике про лень пиши, там этим записям должное место.
07.02.18 в 22:38
0
Никто даже не делает никаких предпроцессов, я почему тулзу и не стал адаптировать под кисслайсер - дело в том, что я если буду это делать, то по уму - пользователь выбирает параметры, прога прежде чем начать расчёт - делает пробный прогон, и говорит юзеру - дядя, ты потратишь столько-то машинного времени с такими настройками. поэтому я прекратил апгрейд. но я смотрю вообще никто не делает так, как я понимаю должным образом. тяп-ляп, попрёт, хавай юзер, мы ещё налепим тебе. и даже не кислайсер, так все делают...это пипец. сейчас сел текстуру себе сделать на фон калькулятор, это вообще короче, какие мы лепиловы оказывается все...слов нет. ну неужели трудно прогон сделать один - долю процесса вычислть затраты времени, виснёт всё, мы великие кодеры, сцуко...кроме мата из меня ничего не прёт, как только начинаю софт непонятный юзать...ой плин. одни сопли. компас тот вообще сам себя опережает, у тебя лецензия, а новую версию ты не поставишь пипекц, и чё мы лепим, что этот софт может, как можно его запускать на современном железе, он же просто уничтожает его машинное время...
я понял - надо остановится, потому что нужно ценить время пользователя, не делать так как они, этим пох. зато какое у них самомнение, очки они тут показывают, глаза навыкат...вот ...вот как индюки ходят крылья веером, стойки у них такие...нда...вот начинаешь понимать - почему у майкрософта есть деньги, почему деньги у тех-то у тех-то разработчиков, за что они их получают, и почему у этих никогда ничего, ни времени ни денег, ни нормального продукта - одна реклама. а политика примерно такая -деньги отдал, всё - пошел на..., будут деньги - приходи ещё раз пошлём. вот поэтому мне и хватило что я на свой тул интерфейс хоть божеский налепил, не стал уподобляться этим отвратным светилам интеллекта и культуры.
07.02.18 в 23:18
0
TProgress поставить лень, зато рассказывать о том какие умные готовы всем, готовы заклевать любого своей гениальностью, какие они трудолюбивые, и все вкруг них г.о разное. вот как их можно назвать этих людей? это я не к пикасо, а вообще. ты что ты сказал слово "нейросети", да мы тебя гримасами твой блог зальём. "лень" слово - его учить надо. а то смотри - думают они, о прогресс барах, нейросетях. ну ладно...посмотрим к чему они прийдут...
надо было мне на тулзе не исправлять прогресс бар, пусть-бы они рассказывали друг-другу - что вот он даже прогресс бар не смог сделать нормальный...нда. в то время когда у них его вообще нет, и они не знают что это и зачем оно вообще нужно - отображения статуса выполнения задания....я вспомнил это слово -"вельможи", только я никак не пойму, откуда им место в современном мире берётся...очки они приподымают, что-ты, экую отсталость они увидели и невежество.

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

Читайте в блогах

Тыква в Blender

3Dtoday за 60 секунд от 16 августа

Интерпластика Казань – путь к успеху вашего бизнеса в регионах РФ

MIT приглашает на онлайн-курсы по 3D-печати

Кейс: 3D-печать, на рынке автоэлектрики. Экономия 935.000 рублей.

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