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

Adding pellet printer suppor to OrcaSlicer #4836

Conversation

vipulrajan
Copy link
Contributor

@vipulrajan vipulrajan commented Apr 1, 2024

Large format printers with print volumes in the order of 1m3 generally use pellets for printing. The overall tech is very similar to FDM printing. It is FDM printing, but instead of filaments, it uses pellets.

The difference here is that where filaments have a filament_diameter that is used to calculate the volume of filament ingested, pellets have a particular flow_coefficient that is empirically devised for that particular pellet.

We are translating the flow_coefficient into filament_diameter so that everything works just like it does already with very minor adjustments.

filament_diameter = sqrt( (4 * flow_coefficient) / PI )

sqrt just makes the relationship between flow_coefficient and volume linear.

This will allow a lot of accessibility for an increasing market of pellet 3d printers. Ginger additives, Colossus and CEAD being some of the leading names.

double pellet_flow_coefficient_value = filament->config.opt_float("pellet_flow_coefficient", 0);
double calculated_filament_diamter = Preset::convert_pellet_flow_to_filament_diameter(
pellet_flow_coefficient_value);
filament->config.set_key_value("filament_diameter",
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since there is logic to handle the sync issue in Tab.cpp, is there any reason to have this check here? It's not a desired behavior here

src/libslic3r/PresetBundle.cpp Outdated Show resolved Hide resolved
@SoftFever
Copy link
Owner

Can I check what's the status of this PR?

@vipulrajan
Copy link
Contributor Author

vipulrajan commented Jun 15, 2024

Some more changes are in the works. I have added a printers from the company that hired me to make the changes "Ginger Additive".

Here's our fork: https://github.com/gingeradditive/OrcaSlicer/tree/pellet-printer-implementation-rebased-onto-main

Just going to rebase/merge with the current OrcaSlicer main on Monday. and raise a proper pull request

@vipulrajan vipulrajan marked this pull request as ready for review June 18, 2024 04:47
@vipulrajan vipulrajan requested a review from SoftFever June 27, 2024 05:09
@SoftFever
Copy link
Owner

@analysis230
Thanks.
I have two suggestions/feedbacks:

  1. For the explanation, it's great to have a code comment👍 Could you also add the explanation especially the equation in the tooltip message as well? So that normal users could understand the parameter as well
  2. When I test this PR, I noticed the Orca won't load the Ginger profiles.

@vipulrajan
Copy link
Contributor Author

  1. Added a tooltip with the formula. Also added a page to the Wiki so that normal users can take a look and understand better.
  2. There was a minor problem with the json configs. Just checking the "3.0" variant was importing all configs. Fixed.

Copy link
Owner

@SoftFever SoftFever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good
Thanks

@SoftFever SoftFever merged commit 8ccf0ed into SoftFever:main Jun 29, 2024
13 checks passed
@yw4z
Copy link
Contributor

yw4z commented Jul 21, 2024

@vipulrajan hi, pellets.svg appears which place on UI?

@vipulrajan
Copy link
Contributor Author

vipulrajan commented Jul 24, 2024

@yw4z It's used instead of the filament spool icon on the filament tab when you change to pellet settings. Sorry for the late response, I seem to have missed the notification

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

Successfully merging this pull request may close these issues.

3 participants