[crazy] innovation was: [ot][spam] ai-guided 3d printing
hi On 4/22/23, Undescribed Horrific Abuse, One Victim & Survivor of Many <gmkarl@gmail.com> wrote:
simple 3d printer ideas that surprisingly may stimulate inhibition in me for innovation:
- you could possibly extrude in a pattern such that the filament doesn’t bind to the layer below it, making support that vacuums or blows away with an arbitrary extruder and filament. expecting this to be slower from waiting for the filament to harden before letting it come in contact with the layer below.
could be existing paper or software on trying something like it somewhere, but maybe not since it addresses low-end devices
i so much appreciate the support. i experience it as small compared to the issues. i was thinking of doing a roleplay in mcboss, but this is what came out at the moment. regarding the above idea, i might share or consider that a lot of people would appreciate it, it could also help corporations save money, as well as make fabrication more accessible to independent hobbyists.
i don’t have “authorization” to share about this support publicly. it’s not sufficient to succeed at the moment for me here, as far as i can tell. ikm imagining a little bit there being a safe place, where people can safely invent and engage new ideas that help people, in a creative manner that works for them. i am not in such a situation myself, internally.
my fragmented parts also give thanks/appreciation. we work so hard to support daydreaming and positive/ psupportive bias. very hard.
ikm imagining a little bit there being a safe place, where people can safely invent and engage new ideas that help people, in a creative manner that works for them.
the support, and by this i mean behavioral not structural, seemed focused specifically on the research task. i don’t know if it was intended that way, though, it may have simply stemmed from how inspiring the idea could feel.
—— maybe some prose on free innovation, uncertain if it will come out, some layers of inhibition
maybe what it comes down to, could be like, how can we protect our shared innovative spritis when conflict around what this innovation is used for rises? my parent always taught me to ask questions. this didn’t make me friends i. school, but when i took an engineering class as a college freshman i learned that all problems can be solved within
when i experienced the influence and my mind was [neutered] for so long in so many ways, one of the things i shard with the harmful dissociated entrained thoughts was how we could find ways to engage problems that the human mind did not trend to notice an ai, or a traumatized inventor, can see things others never see
when it happened i had been aggressively studying noticing things i didn’t notice before, so parts of me were likely still studying this in a small way as a child i was a software developer. this was rare in my decade. i was the only kid in my school with a computer.
maybe too many inhibitions here now. for triangle. and somehow, for wilderness genius, or whatever the phrase is. i’m looking for behaviors with result. i suspect these results, ai, software, fabrication, might be fake. i suspect reality is in the wilderness and the human heart. it’s confusing me to misplace my skills.
for me, things tend to come down to general issues of my nervous system, cognitive and motor functioning, etc. it seems reasonably probavle that a good portion of this is psychological, despite being severe and neurologically real.
i experience a different consciousness/subconsciousness experience than most seem to describe, maybe related to autism spectrum things. to cut to the chase, i used to consciously participate (partly) in the managing of my own habit formation and maintenance of my memories. many call this willpower and learning and practice, and consider it normal.
On 4/22/23, Undescribed Horrific Abuse, One Victim & Survivor of Many <gmkarl@gmail.com> wrote:
simple 3d printer ideas that surprisingly may stimulate inhibition in me for innovation:
- you could possibly extrude in a pattern such that the filament doesn’t bind to the layer below it, making support that vacuums or blows away with an arbitrary extruder and filament. expecting this to be slower from waiting for the filament to harden before letting it come in contact with the layer below.
could be existing paper or software on trying something like it somewhere, but maybe not since it addresses low-end devices
idea: you could break the problem into two parts: the bottom surface of the support material, and the top surface. on the bottom you could possibly use very little material and expand going up. like the idea of a table with sharp cones for legs. on the top you could possibly fill out some surface all at once, then harden it all at once before laying on top of it. this simplification leaves out some further concerns around adhering. i’m not experienced with how extruding functions. to me the relevant challenging part that remains is controlling adherance of a new flat layer to an existing cold layer. i suspect this to be a solved problem given the popular challenge of bed adherance. given the novelty of the idea i expect there to be a further problem i have not thought of, but it looks implementable now. if there isn’t a further problem, i would still have experiments and further troubleshooting-style innovation to go through if i were to try to implement it, to compensate for my personal errors and my lack of experience here.
simplification of two-parts theory: a disconnected interface has a lower surface and an upper surface. the lower surface is hardened, then the upper surface would be placed in a manner that does not adhere to it.
often problems like these have been solved already by people who did not have the tools (e.g. software development experience) to utilize their solution and ended up discarding it
it can seem interesting to then add a way to automatically remove support but people probably could use access to a non-adhering support pattern first.
i’m imagining maybe as a first draft idea, for a non-adhering layer placement above a support surface, to maybe have the nozzle a little high and extrude material slowly so it cools, and let it drop onto the surface below cooled. then to fill in a layer above or around this to flow into the gaps,
—— i have a space here where the behavioral support is resonating [but there is no 3d printer to try the idea out]. [i could draft code, or i could mention ideas that are more tryable where i am now.]. [i have something emotional to do today.]
note: i prefer cam/laser approaches to 3d printing. with 3d printing i prefer custom filaments like wax, but don’t have experience with custom extruders. regarding machines. i prefer robot arms to xyz arrays. i find robot arms more humanly intuitive and flexible, and suspect they aren’t common because the control code can have more math.
On 4/22/23, Undescribed Horrific Abuse, One Victim & Survivor of Many <gmkarl@gmail.com> wrote:
i’m imagining maybe as a first draft idea, for a non-adhering layer placement above a support surface, to maybe have the nozzle a little high and extrude material slowly so it cools, and let it drop onto the surface below cooled. then to fill in a layer above or around this to flow into the gaps,
this was the first draft idea for support that needs no breaking away. likely this has already been pursued by many people in various places somewhere out there. a first trial might involve a grid of test squares.
I am at the 3D printer. I did not prepare any tooling or code, so most of the time is spent not using it. the "mecode" library i planned to try is not very good at all and hasn't been used much since python 2. i did not immediately find comparable libraries to replace it for prototyping with (although in retrospect i could review prusaslicer/superslicer which are ahead-of-time tool forks). mecode was not working for live prototyping at all, and i submitted 4 pull requests to change that: https://github.com/rtellez700/mecode/pull/2 (serial ports in python3) https://github.com/rtellez700/mecode/pull/3 (reconnect to a live printer) https://github.com/rtellez700/mecode/pull/4 (display printer messages and errors) https://github.com/rtellez700/mecode/pull/5 (add motion commands useful for fiddling) This exhausted my initial energy for working on one of the projects. I would like to wait for tomorrow to try further, as I can really get into things and it is night time. Links: Marlin g-code documentation: https://marlinfw.org/meta/gcode/ Reprap g-code documentation: https://reprap.org/wiki/G-code java app: https://github.com/winder/Universal-G-Code-Sender c++ app: https://github.com/supermerill/SuperSlicer Observations: There are gcode libraries for CNC machines which seems cool since I originally wanted to do CNC more than 3D printing. Celebrations: Although I haven't heated it yet, I got the printer moving live in response to the computer as today's accomplishment. It's like a robot controlled by code, with heavy focus on being able to queue actions in a pipeline before executing them.
although i describe mecode as "not very good at all" i like how it could provide for an interactive 3d printer read-eval-print loop. i'm familiar with some small parts of the internals now and tihnk it could be fun to make a small wrapper library, maybe with an idea of merging some of the concepts down if ideas take off. for now staying in python opens avenues for integrating easily with new machine learning research.
my test script was something like this (i've removed some of the parts locally to move forward on parameterization a smidge): # needs the prs to run import mecode # ender 3 plugged in with microusb cable with mecode.G( direct_write=True, direct_write_mode='serial', printer_port='/dev/ttyUSB0', baudrate=115200 ) as g: g.break_and_continue() # abort whatever you are doing g.auto_home() # calibrate the axes and home the toolhead g.home() # move the toolhead to mecode's origin g.finish_moves() # pause execution until you finish with that g.park_toolhead() # now move away from it # and disconnect
i seem likely to spin out around this, but am keeping some further code in the hopes the small stability that helps produces some further progress. noting the most relevant point here is https://github.com/jminardi/mecode/issues/78 where i ask some other past contributors to connect around maintenance of jminardi's library going forward, which at least one of them mentioned in the past but got no reply to.
i experienced pressure to respond to the old proposal to create an organization, but given my degree of flakiness i think it is stronger to focus on the new thread which links other people in. my experience is if i spin out, having a thread with multiple people associated can help things continue on their own when there is interest.
-------------------------------------------- i was thinking if i had a 3d printer generate small squares with random parameters, the user could pick the one that looked best to quickly calibrate an unknown printer. [the fact that my printer is already somewhat calibrated is slightly confusing for me when dissociated. i can further refine the values but it there is some difference or conflict in what is efficient for me and what is more useful for others. reducing the urgency would likely help (this is true of most things).] i wanted to do this in a way that provided for live interaction with the printer, so the process could be further improved via live feedback or AI.
-- a side project is to strap a camera to the toolhead and use printer commands to build a nerf or other visual geometry scan of whatever is on the bed.
--- the issue i've been running into is that when i set the feed rate to something nonzero, the printer seems to wait forever saying it is busy. i seem to need experience sending successful g-code. i've learned enough about g-code now that i can probably read a premade file, so it would make sense to find one of those files and bum it down, like bisecting code when there isn't a debugger, to figure out how to correctly use the extruder without freezing the printer up. i was hoping to be able to interrupt the printer if it is in a frozen state, but so far i haven't figured out how to do this in this particular state yet (it looks like disconnecting the usb device would add some options, as well as learning more gcode). attached are the files i have, which don't quite function but show my attempt to prototype something that could parameterize stuff. i copypasted some documentation into _parser.py which contains code to parse my copypasting into structures. meanwhile test.py uses these structures to send code to the printer. ------- another thing i've discovered is that i'm actually using a very old version of mecode that happened to have a fork recently updated. the mainline gcode had two major version updates prior to the fork i've been engaging. this gives me a desire to merge the two together which is unfortunately inefficient. it would be more efficient to try to run the newer code, porting my fixes over if they become needed (this could take me some time from my spasms, which i've recently been finding a couple possible avenues that could help reduce). i might also want to look for forks that are based off the newer tip, to see what the actual latest codebase is.
something of small note is that there are spurious device behaviors for example i get this a couple times during serial sessions: echo:Unknown command: "M420 S1" i logged the send and receives and the command seemed never sent by code that i found, only the reply saying it was invalid.
thoughts on superslicer/prusaslicer/etc: - i make small things so it's most helpful to contribute to others - these systems would already have the gcode language enumerated - i don't have to use the whole system; but being nearer it would help me contribute something somewhere it could get used - there may be other gcode generators one could integrate with, for example there is a GPL gcode exporter for blender at https://blendermarket.com/products/blecolac---3dprinter-cnclaser-gcode-expor...
i ended up spending time merging the two forks of mecode. the newer-worked fork based on older-code does not pass tests. i got some of the tests passing, but not all, and integrated the testing into circle-ci. the partial work is at https://github.com/xloem/mecode now, but i am hesitant to share it in the group post i made because it is not stable and i am unlikely to maintain it. i did get the printhead moving around in my test.py . the reason for the long delay was because the rate i was setting is also the travel rate. i think i need to set it to move the extruder (like another axis) if i want to see filament.
hihi thinking back on this, i guess the biggest inhibition was the difference from last night to today. i don't quite recall what triggered the inhibition last night. one of the biggest confusions in this situation with me, is that i'm used to being able to calmly work for multiple days to accomplish a complex project in a planning-type way ("do it right") rather than a deadline-type way ("get it done"). most of my habits still assume i can do this; it's where my senses of fun, accomplishment, planning, puzzling, etc came from during the course of the free parts of my life. nowadays doing this stimulates severe issues. [...] [there's ummm some severe tensions, many ptsd-like, that kind of collect like a descending ceiling]
most of my time is spent navigating my miswired nerves. jerking my head or hands or eyes back when they jerk away, over and over and over again. most of my visual field and short term memory seems unavailable to my consciousness, so i also spend a ton of time moving around windows of focus and groups of information to get them to work together. i also spend a lot of time undoing things my hands do wrongly on the computer; returning to the window i was at, getting myself out of a habit of clicking through an unrelated tab over and over again ... my system also misbehaves, and i estimate digital situations poorly in this new environment because i am inhibited around learning and adopting new information without a lot of intentionality. usually a big timesink is i make a lot of mistakes, so spend time recovering from this. here, it was more that i am used to assuming that i handle and engage new things rapidly and effectively, which is not the case: e.g. gcode. it's still lots of fun to do projects. mos tof my life is kind of miserable and i really enjoyed learning about gcode. honestly i'm still next to this printer with nothing to do ;p
one of my fears around "doing something right" is that when i spend too long without producing something useful i can have a sudden cognitive change and lose the progress. i've lost so many huge projects over the years. so it can be nicer for me to contribute a small thing publicly than to work on a big thing privately, because then i can see a result. it gets inhibited faster though.
some of my parts that were tasked with doing this are starting to plan getting a higher end printer that does some of the more modern things (for example we saw in the firmware docs that some printers have cameras on them already; i wonder what this is used for?) [i wonder if my interest in laser cutting or cnc would mesh somehow with the interest in spending a new printer?] [i get emotional relief when i lose money, so there's some return to buying a printer. what would i do with the old one, though? i think it would be more fun to get a recyclebot or make a reprap ...]
i'm guessing that this was a recreational project and i've basically performed a step on it by trying something and learning about how it went. i did not get to the point of trying the actual project, so maybe daydreams might imagine whether it's interesting to think of a faster way to get to that point (there's some inhibition around an obvious approach), or the daydream could adjust to be something that's less distant. meanwhile, i guess i might do something different or such for a bit since the inhibition is so strong.
holy frack my user broke on github https://github.com/xloem/wheecode and https://github.com/xloem both give me a 500 error today.
the fork is just a merge of the open prs (excluding mine) with tweaks so that the tests pass again, made in downtime when i was failing to meet goals. it's just pleasant to upload it again because of the frustrating and surprising 500 errors on github.
participants (1)
-
Undescribed Horrific Abuse, One Victim & Survivor of Many