Input shaping / faster printing? #82
Replies: 1 comment
-
|
A lot of them are slow because they are printing such huge extrusions compared to normal printing. For the ripple texture demo specifically, it prints with an extrusion width of nozzle_dia2.5 an height of nozzle_dia0.6 Outputting mass at various points would actually be quite easy... FullControl tracks extrusion volume throughout the design as it converts it to gcode step by step. So if there was information fed about material density (likely in GcodeControls(initialzation_data)) it know mass at all points. Then, as you say, a check could be added to FullControl that outputted a gcode comment for mass every time is passed a certain value, e.g. 50g 100g 150g... It's relatively achievable, but not the kind of think I typically add to core FullControl because it complicates the code whilst only being valuable for very few users (with specific printers, printing large objects, who need to print as fast as possible, and can't print large lines widths/layer heights). Cancel object functionality is easy to implement in the design. For example, if you create one list of steps and then copy it three times to make four object printed one after the other, you'd just add a fc.GcodeComment() object before each object to say which one it is. Or if you're printing only one layer of each object before moving to the next object, you'd just add a comment before each object for every layer. Tool changes will be added to FullControl at some point. I had it in an early version and it is in the Excel version, but I left it out in the python one, to reduce complexity of the code while it was still new. But it's becoming more and more demanded now, so it will be added. In the short term, you replicate the functionality I created at the design stage. In many cases, tool changing can be done as simply adding a fc.ManualGcode(text='T1') to switch to tool 1. For printers without built-in tool change macros, you could create a function in your design called something like activate_tool(toolnumber: int) and get it to return all the necessary steps to activate a tool. Then you just extend your list of steps with them. You might add more parameters than just tool number, and many of the steps may be fc.ManualGcode() objects if they're doing things that aren't built in to fullcontrol by default. In some cases it may be good to have deactivation procedures separated from activation procedures too. And you may want completely different activation functions if you have diverse tools like a printhead, microscope and machining tool. But that can be done pretty quickly. Once you've done it once, you can just copy/paste between designs, or stick those functions in a .py file to import them into each design. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
So I notice that out of the box the examples print incredibly slowly. At first I thought that was just about the pin support (fair enough, it is a difficult one!), but it seems at least the ripple texture is just as slow.
I could probably increase this quite a bit, but it would be nice to also take advantage of input shaping. However for me that is a bit difficult since I have a bedslinger with input shaping (the Prusa Mk3.9, for the purpose of this discussion it is the same as a Mk4).
Since the bed moves it needs to change input shaping parameters as the object on the bed gets heavier. This is handled via
M74 W<mass in grams on the print bed>. PrusaSlicer computes this and inserts it in the gcode in appropriate places. How hard would it be to do this in FullControl?The way I imagine it working would be to have a (set of) printer specific callback/listeners that could be called to emit specific gcode on events of interest. It would basically extend the current concept of just having a start and stop gcode callback.
This could be used to handle:
Thoughts? I guess tracking how many grams filament has been extruded at any given point is probably the hardest part.
Beta Was this translation helpful? Give feedback.
All reactions