billt писал(а):Nick -
Great program!
Would you be willing to add a drag-knife feature as well?
The purpose is similar to the tangential knife that you already have available, however the cutting tool rotation is not powered, it swivels on bearings within the tool holder and the knife tip is offset from the tool centerline which "drags" behind the machine path. This type of tool cuts sign vinyl, cardboard, wood veneer, ...
A lot of information and videos can be found at
http://www.donektools.com.
Without compensation, sharp corners are rounded due to the drag-knife tip offset.
"Corner features" can be added for an overcut and swivel arc to the next cut segment.
Also a "retract" feature at the corners which retracts during the swivel motion for thick materials.
Note, the blade must first be oriented toward the +X direction which allows the first point to be precisely located.
I have written a python script for CamBam which creates these features.
Hopefully it can be incorporated into your GCodeTools fairly easily.
The script also includes calculations for the knife tip to exactly follow arc paths.
The concept is based on bicycle front/rear wheel paths.
The "front wheel" is driven by the machine engrave path, and the knife tip is the "rear wheel".
The tool offset (distance from the tool centerline to knife tip) correlates to the bike wheelbase.
Basic gormulas for bike wheel path are found at:
http://math.ucsd.edu/~ebender/87/bicycle.pdf
CamBam uses "Polylines" which are composed of two end points and a "Bulge"
Bulge is defined as tan(sweep angle/4) for arc segments, so bulge=0 produces a straight line.
My script uses the Bulge quantity, so a bit of tweaking might be necessary to work with biarc segments (3 points?).
I can of course help with modifying the script if I can get a bit of help on your functions and variables.
Thanks! BillT