FullControlXYZ / fullcontrol

Python version of FullControl for toolpath design (and more) - the readme below is best source of information
GNU General Public License v3.0
672 stars 78 forks source link

[FEATURE REQUEST] Scarf seams example/tools #70

Open ES-Alexander opened 8 months ago

ES-Alexander commented 8 months ago

Is your feature request related to a problem? Please describe. Part of FullControl's motivation is to serve as a hot-bed of cutting edge path planning ideas.

While vase mode is useful for seamless profiles of single shapes, it is not usable for designs with discontinuities, including those with multiple shapes, holes, and multiple walls / infilled regions. Typically such designs require visible seams, which may compromise part appearance as well as structural properties.

Describe the solution you'd like A recent development in the seam-reduction space is to use scarf-seams, whereby extrusions can be progressively joined with each other, kind of like a local form of vase mode, taking inspiration from woodworking scarf joints. It would be valuable if FullControl provided an example of achieving such joints with gcode, and ideally a toolset for automatically applying them to path connections.

a woodworking scarf joint

Describe alternatives you've considered We could just not, since this feature is predominantly useful for vertically stacked layer designs like those created by common slicing softwares, but it does still seem like a worthwhile feature to support within FullControl's feature set, as a basic building block that can improve the quality and accuracy of designs.

Additional context I found out about this through Teaching Tech's youtube video on the subject, which provided useful explanations about how they work and some history of the feature's development, along with some promising testing results showing they do seem to have a meaningful impact on at least the appearance side of things.

fullcontrol-xyz commented 8 months ago

Looks v interesting. I think it would be possible to have a relatively simple-to-use function that could take a simple and replace the start/end of it with this kinda thing.

If it becomes commonplace in slicers, I'd say it's worth doing for sure.