Skip to content
This repository has been archived by the owner on Jan 17, 2018. It is now read-only.

PauseAtHeight: Printing with multiple material types #19

Closed
peteruithoven opened this issue Sep 24, 2016 · 11 comments
Closed

PauseAtHeight: Printing with multiple material types #19

peteruithoven opened this issue Sep 24, 2016 · 11 comments

Comments

@peteruithoven
Copy link
Contributor

I was trying to print with multiple types of materials that require different temperatures, on a Ultimaker 2, but I was having big problems when using the PauseAtHeight script as it is.

The problem seems to be that the current change material system of the Ultimaker 2 only asks which material type is inserted after its completely done, which means there is no step where it extrudes the new material at it's proper temperature.
I'm thinking now that this caused that, after the pause, it took another two layers before the material to start flowing properly, which meant that the parts fall apart.

As a short term solution I was thinking of adding a extrusion option to the PauseAtHeight script. This so that it can extrude after having the right material type selected and get a proper material flow going.
One downside will be that there extruded material might end up on the print.
I'll try doing a PR soon, but in the meantime I'm curious about opinions.

peteruithoven added a commit to peteruithoven/PostProcessingPlugin that referenced this issue Sep 24, 2016
See nallath#19
I have not tested this yet with an actual print
@Ghostkeeper
Copy link
Collaborator

You could move to coordinates 0,0 or something before priming, but you'd need to find and parse the previous move command to find the location to move back to, in order to properly resume the print.

@peteruithoven
Copy link
Contributor Author

I might not fully understand the script but wouldn't setting the Head park X and Head park Y to 0 give the same result?

@Ghostkeeper
Copy link
Collaborator

Ghostkeeper commented Sep 25, 2016

Ah, yes, that should indeed be fine. But that would allow the user to make sure it doesn't extrude right on top of the print, right?

Useful addition to the pause script, I think. I hope it wouldn't go grinding the material when it's too cold to print.

@peteruithoven
Copy link
Contributor Author

Ah, I get the misunderstanding, with:

One downside will be that there extruded material might end up on the print.

I meant that the filament might be dragged along while the nozzle moves back to the print. I think this is one of the reasons we print skirts.

My solution doesn't always seem to work (it doesn't always seem to extrude after the pause), I'll try to create a very small test print to quickly debug this.

@peteruithoven
Copy link
Contributor Author

peteruithoven commented Oct 7, 2016

More recent Ultimaker2 firmware asks the material type before you insert it, but there still seems to be a small bug which makes it retracts after changing the material, while it doesn't extrude the same amount when the print is continued: Ultimaker/Ultimaker2Marlin#117. It

@peteruithoven
Copy link
Contributor Author

Changing all the extrusion commands after the pause doesn't seem scalable, if anyone has an idea on how I could add extra extrusion without this that would be very welcome.
Ideally I could be reset the extrude amount the firmware thinks it's at, but I don't think that's possible.

@Ghostkeeper
Copy link
Collaborator

As a patch, perhaps we could add a checkbox to the Pause at Height script to tick when you intend to pause for a material change, which then makes sure (using additional retracts/primes) that the material gets put in the correct position after the material change.

@peteruithoven
Copy link
Contributor Author

That sounds like a good solution, interface wise, but I'm not sure how to do an extra extrusion without having to change all the extrusion related gcode that comes after it.

@Ghostkeeper
Copy link
Collaborator

I think to remember it's possible via some trickery with the G92 command.

@peteruithoven
Copy link
Contributor Author

@Ghostkeeper thanks for the tip, together with@sjoerdtimmer (themba@randomdata.nl) I figured out how we could use G92, see: ca2faf2
Except for the #25 issue this usecase is now handled by the plugin.

@Ghostkeeper
Copy link
Collaborator

Exactly what I had in mind!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants