supermerill / SuperSlicer

G-code generator for 3D printers (Prusa, Voron, Creality, etc.)
4.04k stars 515 forks source link

Add perimeter alternating direction #4211

Open Gaulishdance-fablab opened 2 months ago

Gaulishdance-fablab commented 2 months ago

I am trying to print metal filament like this one: https://www.matterhackers.com/store/l/basf-ultrafuse-316l-metal-composite-3d-printing-filament-175mm/sk/MCEHHUD4

The normal behavior of the slicer is to always print the perimeter in the same direction layer on layer. The problem is that during the mandatory debinding/sintering process of metal filament, printing every layer in the same direction will lead to part deformation.

From Matterhacker: When using Ultrafuse Meta Filaments, an uncommon feature must be used in the slicer. The printing history of the individual layers leaves an invisible internal tension in the green part. This is especially true for contour-following lines as they introduce a spring-like tension that follows the thermal history of the extruded line. Parts with thin features or many contour lines suffer the most from deformation during the sintering process (Figure 2). The trick is to print the contours with alternating directions. This compensates the for the tension, and the parts are not deformed after sintering. (https://www.matterhackers.com/articles/basf-forward-am-ultrafuse-metal-tips-and-tricks-on-how-to-be-successful)

I can confirm after testing that this 'twisting' effect is huge, even for small parts. (I can add picture of the effect it had on my parts if it would be useful).

Adding a parameter that would alternate the printing direction of the perimeters every layer would greatly improve the results. It would need testing, but if it makes it easier, it would already help quit a lot even if it was only applied for outer side external and internal perimeters (inner side external and internal perimeters probably have a lot less impact on the potential part deformations).

Adding this feature would be incredibly useful for anyone who want to print this type of material (which is becoming more and more accessible).

Cura and IdeaMaker have this option (in theory) but from what I saw, it is not straight forward. Also, both slicer lack a good support for a lot of necessary features that are really useful to print metal filament (which superslicer already have).

wishborn79 commented 2 months ago

I also want this option. I use a robot welder setup. In waam setup you need to be able to reverse the direction to zero out the effect of start and stop welding on single free standing walls. In a closed loop it does not matter so much, but it is crucial to be able to use the slicer for welding thin free standing walls. As of now only cura and ideaslicer has this option, whereas easy modification to a lot of parameters keeps me from using cura, ideaslicer does not support M101 - M103 to turn on and off a welder and is not able to work at all for a waam machine.