prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.52k stars 1.9k forks source link

[REQUEST] Add % shrinkage compensation to filaments tab #11183

Open MarkoAnte opened 10 months ago

MarkoAnte commented 10 months ago

Hi!

Is your feature request related to a problem? Please describe. Problem I'm facing daily. I run a print farm. I have prusas and vorons. Lets say a client sends a box of 200x200 mm if I print this box as is, after cooling it turns out 199x199 mm if printed in ABS and about 199.4 if printed in PLA. For smaller items this is not a problem, but for e.g. larger electronics box, now screws don't fit into pcb etc. When getting into larger print parts like the vorons or prusa XL support, the error due to material temperature shrinkage can be in multiple mm range.

Describe the solution you'd like I would like to have a per filament x/y shrinkage compensation, that scales the x/y dimensions automatically.

Describe how it would work After doing a test print, you can do a actual_dimension / wanted_dimension and get some number. Tho the factor changes with infill, speed, temp it will be in the sameish ball part for the same material. E.g. ABS at 99.4%, PLA 99.6% PA12 99%

This is not x/y compensation where it adds extra wall thickness, just pure % scaling.

Describe alternatives you've considered When I was using PrusaSlicer I used to select the part, deselect scale uniformly and scale the part to e.g. 100.6%. I would often forget to to this. I have switched to SS for primarily this reason, but its development seamed to have stopped.

Please prusa team, make getting more accurate dimensions easier.

5jvm0u4 commented 8 months ago

Same request here, when printing ABS and PC, I always find it shrinks noticeably. I'm now adding compensation manually, but it is sometimes annoying, and the value needed differs between each filament, so I also think that adding this to the filament tab will be very useful. I also wish that a general shrinking compensation value(in mm) could be set in printer setting because I observe a constant shrink value of 0.2mm of all my print with any size at any location.

Phil1988 commented 3 months ago

SuperSlicer introduced this like 4 years ago as "filament_shrink" parameter in the Filament section: (https://github.com/supermerill/SuperSlicer/issues/287).

I honestly dont understand, why Prusa avoids it so hard to implement this, because it is very handy and I use it on a daily basis. It works very well in X-Y axis and also if its not perfect (because it doesnt take the z-axis into account) the alternative not having anything is just a huge drawback against all the other slicers. You need this at least for ABS, ASA and Nylon (PA6/12)

SuperSlicer has it. Bambu Studio took it from SuperSlicer, so its having this. Orca Slicer also took it from SuperSlicer, so its having this.

Also +1 for this.

Xing777 commented 2 months ago

I would like this feature for certain filaments as well (ABS, Nylon, PC etc.), it needs to be in the filament settings.

HonzaJaros commented 2 months ago

Is this happenin??

MarkoAnte commented 2 months ago

Is this happenin??

You see how old this thread is right :)

I don't think so. I think prusas mentality is "Our printers print perfect and are on size" I saw a FB post in their group of somebody asking how to shrinkage compensation and he was chewed up that prusas print ON SIZE.

Super Slicer is back to being updated and worked on. Check it out.

Phil1988 commented 2 months ago

SuperSlicer is still far behind because supermerill was gone for about a year. the development is now not as free as before, as he develops things for a company first and 1.6k issues open.

Prusas view in this regard is not understandable. I loved the company, but not only the printers lost track to the standard but their slicer also is missing important settings they could easily include because ist already done.

looks like they got too big and dont care anymore for the community.

MarkoAnte commented 2 months ago

SuperSlicer is still far behind because supermerill was gone for about a year. the development is now not as free as before, as he develops things for a company first and 1.6k issues open.

Prusas view in this regard is not understandable. I loved the company, but not only the printers lost track to the standard but their slicer also is missing important settings they could easily include because ist already done.

looks like they got too big and dont care anymore for the community.

Maybe SS is behind, but the options that are missing are wayyyy less needed than shrinkage compensation IMO. The releases started again. It would be great if he did full time only slicer development for us, but what can you do :)

The most needed (in my work flow) addition would be the .step import and the object cutting/slicing with e.g. pegs. But I can do that and just export .3mf to SS and continue the work flow :)

Also the bamboo/orka slicer option to put multiple build plates and calculate print time and material for all of them together would also be nice.

But like you said, the shrinkage could be implemented in a matter of hours by the pros at prusa slicer team. But they dont want to :(

HonzaJaros commented 2 months ago

I wonder if someone from community can do it and let them review and implement, isn’t it GitHub open source just for that?

Phil1988 commented 2 months ago

Its more like a matter of minutes. The basis is identical so its really copy and paste for that code snippets.

@HonzaJaros This would only make sense if someone forks it and maintain it. No one is doing a pull request, because they would deny it. If they wanted this feature, they included it years ago in a couple of minutes.

HonzaJaros commented 2 months ago

Oh no, that’s sad, isn’t it. If it is that easy… 🤦🏻‍♂️

gsasha commented 3 weeks ago

This is the primary feature that makes me use Orca Slicer, while I'd very much prefer Prusa Slicer.

I wonder if someone from community can do it and let them review and implement, isn’t it GitHub open source just for that?

There is already a pull request that implements it: https://github.com/prusa3d/PrusaSlicer/pull/11549

HonzaJaros commented 3 weeks ago

It’s in the new alpha