Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is this compatible with Cura Arachne #57

Open
Bob90 opened this issue Mar 3, 2021 · 9 comments
Open

Is this compatible with Cura Arachne #57

Bob90 opened this issue Mar 3, 2021 · 9 comments

Comments

@Bob90
Copy link

Bob90 commented Mar 3, 2021

Hi,

Is this compatible with Cura Arachne where line widths can vary dynamically?

Thanks,

@FormerLurker
Copy link
Owner

I've not tried it, but it should be fine. I need to see some gcode, but I can't see why it wouldn't.

@Bob90
Copy link
Author

Bob90 commented Mar 3, 2021

It has variable line width/extrusion.
Does your code check for changes in extrusion values along the arc? Because of it doesn't, you might end up with a single arc with over/underextrusion compared to the variable line width.

Sorry, I'm not a coder so I wouldn't know where to look in your code to see if it does check extrusion.

@FormerLurker
Copy link
Owner

@Bob90, good point. Again, without seeing how the gcode is arranged, it would be difficult to tell, but I do NOT ensure extrusion volume per mm of travel. It might be interesting to see how close the extrusion volume per mm of travel varies in a typical gcode file without arachne, and see what an acceptable variance is. It would be trivial to add this to the arc generation constraints, so really all I need to know is what deviation should end any current arcs.

@FormerLurker
Copy link
Owner

I installed it, so I should be able to see exactly what's going on. Thanks for the heads up!

@FormerLurker
Copy link
Owner

So, I added rudimentary support for this, but need to test a bit and update the OctoPrint plugin before I push this. I'm debating adding the extrusion_rate_variance setting as a % instead of a fixed value, which should be pretty easy to set. I doubt changes of less than 01% (or 0.1) would make much of a difference.

Here is a typical value for the extrusion rate (mm of extrusion/mm of travel) from a print I just looked at: 0.0313363

Looks to be +- 0.0002 mm/mm covers almost all extrusions. That's about 0.64%. Could do 1% and see what happens. I'll keep researching this new cura version, and will see what I can find.

@FormerLurker
Copy link
Owner

Ok, I added some basic support. I decided to go with a percent, since that seems to make the most sense, and doesn't require intimate knowledge of the slicer engine to complete. The new parameter is -v or --extrusion-rate-variance-percent, with a default of 1%. You can find the latest console app in the artifacts tab (from the devel branch, fyi) if you want to give it a go. I need to find a good test model for this. Also, I haven't printed with this build yet, but it is basically just rejecting arcs based on the calculated flow rate variance: ( (flow_rate_current - flow_rate_previous) / flow_rate_current) * 100.0

@Bob90
Copy link
Author

Bob90 commented Mar 4, 2021

Amazing! I was wondering because I read that Ultimaker will eventually merge this as the default slice engine behaviour. It's still alpha so not immediate, but I did wonder how they would interact.

I'll try, but I'm quite simple and have been using either the OctoPrint plugin or the (normal) Cura add-on.

I'll read how to set parameters.

@FormerLurker
Copy link
Owner

I will run a test today or tomorrow too. I will also post instructions for testing this as soon as i can.

@baileyji
Copy link

baileyji commented Jul 5, 2022

As part of closing out this you might consider adding some guidance about what the preferred "G90 Influences Extruder" setting should be here. I've had an very hard time trying to figure out what the fork provenance of this new firmware is.

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

No branches or pull requests

3 participants