@amimafe If you save a position, check G0/G1 for the R parameter to move back to that position, you can also use offsets to for example move to a Z pos above the previous pos, and then move down into that position.
Latest posts made by marzubus
-
RE: Read Gcode File backwards
-
RE: Read Gcode File backwards
It might help if you use Pause / G60 to save a position when you detect a failure using an appropriate sensor for your extruder, such as optical or AI camera or whatever.
Then you can use G0 and a R parameter to restore the position when you resume print. Note if you pause, it will automatically save the last position of the extruder, and resume from there. So you might already have all you need for free.
Then it all comes down to fast detection of the failure, and even adding extra purge at start to maybe fill in any gaps that can be cleaned up post production.
-
RE: Object Model for Previous Layer Time
@chrishamm Ah ok thanks, Yeah I did not understand the lingo before. thanks anyway. I will see if I can work around this limitation then somehow.
-
RE: Object Model for Previous Layer Time
@chrishamm @dc42 im confused, the data is in the model I can see in the webui. I can access heaters, and all sorts of other elements in the tree, but not the layers? They are shown in the UI, so I am confused why just those cannot be accessed.
-
RE: Object Model for Previous Layer Time
@dc42 I get errors trying to access the layers array in the job, not sure if im doing this wrong. I am simulating a print, pausing it, then trying to query things.
echo job.layer
24echo job.layers[job.layer-1].duration
Error: line 28 column 12: meta command: unknown value 'layers^.duration'echo job.layers[2].duration
Error: line 37 column 6: meta command: unknown value 'layers^.duration'Is there something restricting me accessing the nested array/object?
-
RE: Object Model for Previous Layer Time
@dc42 Yes I mean jerk no acceleration, sorry. Its at the max I can go without it grinding apart.
I see if I set it all the way down to the single digits for jerk and acceleration, it has some affect on the time, but the complication is that I have both Hemera direct and bowdens in my setup, so a job that uses a hemera or a bowden more will be very innacurate if I want to get the timing right down to a couple of seconds.
Even if I average the accel, jerk and max feed rates, the prusaslicer acceleration data is going to be just too inaccurate to be of any real value. Hence why I am looking for a way to keep track of current tool and previous tool usage times, and current and previous one layer time so I can pre-empt and calculate when I need to warm up a tool. It obviously wont work for every layer, but at least it should help a lot.
A long print might spend hours in warm-up time, and almost just as much in print time. I use a zero-purge setup so the tools need to be cooled to exact temperatures to prevent the need to prime.
I will see if this is something I can proof of concept using a daemon.g, and some variables created for keeping track of these values.
-
RE: Object Model for Previous Layer Time
@dc42 I have increased my extrusion acceleration as far as I can, but its titans, and they are slow to wind up, so I think I will try replace them with Hemera's instead.
In PrusaSlicer, only the max feed rates seem to affect the print time estimations, No difference with accel, or jerk.
-
RE: Object Model for Previous Layer Time
@dc42 the problem I have is that the estimated time is thrown way off when using PA with 800mm bowdens. Or does Simplify3D cater to that? I have been using PrusaSlicer for ages, but wonder if I should dust off my Simplify3D install.
/K
-
Object Model for Previous Layer Time
I have a e3d motion system and I want to write a daemon to try and guess when to warmup the next tool. So this has several factors I need to solve.
- I need to know the next_extruder id, maybe I can somehow get this from PrusaSlicer, and set some variable which the Duet will know about?
- I need a daemon or some way of getting the previous layer layer time, as these will generally be similar always, and then I just basically want to start warmup for next_tool when that layer time is coming to a close.
- I also need to know how long the current and previous tool has been used for this probably.
Is this at all possible or am I being crazy? I think we might need a tweak to store the layer-time for each layer in the model?
/Kegan
-
RE: Tool Change retraction confusion
@dc42 I think I am just over thinking this, if I use
G1 R2
I can zip back to the print position rapidly with only minor retraction.prime.g
G91 ; relative pos G1 Z3 F1000 ; raise Z G90 ; back to absolute pos M106 S0 ; fan off M109 ; wait for temp M42 P0 S1 ; turn servo on M280 P0 S100 ; servo home 100 degrees G4 P100 ; wait 1 second ; move near pebble wiper, two movements to come in from ; the right edge so any tail hangs over the far edge. G0 X-35 Y160 F30000 G0 X-42 Y161 F24000 G0 X-39 Y153 F24000 ; move to pebble wiper purge spot ; make a pebble G1 E1.5 F200 ; purge reduce from 5 to 3 G4 P200 ; wait 200ms G1 E5 F300 G4 P200 ; wait 400ms; G1 E10 F500 ; purge G1 E5 F360 ; Pebble Purge M106 S1 ; fan 100%, cool and harden the pebble G1 E1 F240 ; Final Slow Pebble Purge G4 P14000 ; Dwell for 12s, a bit long, need to tune down this. ; do a minor retraction G92 E0 ; reset extrusion G1 E-0.4 F1500 ; Retract a bit ; servo wack the pebble away M280 P0 S0 ; whack! G4 P250 ; Dwell for milliseconds ; zip over the brush G0 X-35 Y123 F24000 ; move across brush G0 X-39 Y200 F24000 ; back over the brush G0 X-35 Y123 F24000 ; move across brush G0 X-39 Y200 F24000 ; back over the brush G0 X-35 Y200 F24000 ; back over the brush G0 X-25 Y131 F24000 ; back over the brush G0 X-40 Y131 F24000 ; back over the brush G0 X-25 Y131 F24000 ; back over the brush M106 R2 ; Cooling Fan Off M280 P0 S100 ; servo home M42 P0 S0 ; servo off ; restore Z before moving tool back G91 ; relative pos G1 Z-3 F1000 ; lower nozzle G90 ; back to absolute pos G29 S1 ; mesh levelling on ; return to position where toolchange was initiated from G1 R2 X0 Y0 Z2 F50000 ; Move to saved position at lightning speed G1 E0.4 F1500 ; Unretract G92 E0 ; reset extrusion