Full instructions there. The idea is that we figure out a point some number of millimeters back from the end of a path (just before a de-string) and then stop extruding there. If that point is in the middle of a segment, we use linear interpolation to cut the segment at the correct point, and extrusion stops there. Separate values for normal and prime pillar paths are used because prime pillars are over-extruded by KISSlicer, leading to nasty blobs and filament being dragged all over the place.
EDIT: Multiprocessing support has been added. It is now EXPONENTIALLY faster! Time to process a ~15MB file has been reduced from 6+ minutes to under five seconds on my 2012-era machine.
I got a decent reduction with these settings, and by commenting out the prime command on Select New Ext & Warm:
Code: Select all
./KISSCoast.php --coast=4 --primePillarCoast=6 --file="<FILE>" --overwrite --processes=32
I think there is room to find more improvement by modifying the coast and primePillarCoast values.
I currently have no plans to rewrite this in Perl/LISP/C/whatever you think is cooler than PHP. If you are running Mac OS X, you already have the PHP interpreter installed. Windows, you'll have to find it (see instructions). Linux, if you have PHP installed, you're already good - otherwise, type 'sudo apt-get install php-cli' (you only need the command-line interpreter) or look for 'php-cli' or just 'php' in your package manager. You don't need to have a web server installed.
This is alpha-quality software. I'm looking for feedback from experienced users who are willing to experiment. I have verified that it processes the G-code like it's supposed to, but then again, this is the first day I'm using it.