@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.
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
-
RE: Tool Change retraction confusion
@dc42 Does that mean I can use G10 and G11 in the script g-codes, while the job uses normal G1 E extrusion?
-
Tool Change retraction confusion
I am having a bit of a hard time understanding something that should be simple. I have a pebble wiper, that purges a pellet and whacks it with a servo after every tool grab. After the pebble is formed, I retract 4.8mm, before print resumes.
; prime.g G92 E0 ; Reset Extrusion G1 E-4.8 F1500 ; Retract
In my slicer settings, I am confused as to if the unretract will undo this retracted state, as in generated gcode, it looks like there is an additional retract after my tool is grabbed, and it undoes that retract obviously, but does the printer know about and undo the other 4.8mm retraction too?
; slicer code ; tool change T1 G1 E-4.8 F2400 G1 X137.29 Y76.988 F21000 G1 Z.2 G1 E4.8 F2400
I am confused as to if the printer knows about that extra retract in prime.g, and does it undo that when extrusion starts again?
- Does the G1 E commands undo the extra retraction I have in my prime.g?
- Do I use postX.g scripts retract 4.8mm or do I use PrusaSlicer per tool retraction when stowing tools? Does this make any difference? As I like to use PrusaSlicer's wipe and retract.
- When I grab a tool, I unretract, purge, then retract to stop drooling, but the first time any tool is used, it seems to not be unretracting the right amount before first line. So there is a initial underextrusion.
-
RE: jerk setting e3d titan with 800mm bowden
@dc42 Thanks for reply. Ok ill give up on the Titans then, I am thinking of moving my original Hemeras to be Bowden extruders, as they are too heavy for moving at reasonable speeds. I guess I have my answer then. TItans out, Rotos or something light for direct.
-
jerk setting e3d titan with 800mm bowden
I am trying to wrap my head around the jerk setting for my e3d titans on my e3d motion system tool changer.
The default M566 was E2:2:2:2, but I am now tuning for pressure advance, but have no idea on the range to use. I set it to 300 initially, but over 350 I start to hear odd sounds from the extruded which Im just not used to, so no idea if they are good sounds or bad sounds.
For my massively long bowdens, I need a fairly high PA value, like 0.7. What is the "working" range for acceleration for a Titan with this much PA?
; E3D Revo Micro Hotend
M566 X400 Y400 Z8 C2 E2:2:2:2 ; Set maximum instantaneous speed changes (mm/min)
M203 X35000 Y35000 Z1200 C5000 E5000:5000:5000:5000 ; Set maximum speeds (mm/min)
M201 X6000 Y6000 Z400 C400 E2500:2500:2500:2500 ; Set accelerations (mm/s^2)