I purchased a Donek D4 drag knife for use with my X-Carve. It’s a great tool, but I had a very difficult time determining how to calibrate the offset (as did others in a variety of GRBL, Donek, SheetCam, Inventables and other forums.) I’ve figured out a process for this calibration and wanted to document it for the community.
The Donek dragknife uses standard trapezoidal utility blades. The blade is mounted so that the tip is offset from the center of the tool position. This is required so that, as the tool makes turns, the blade will ‘drag’ and turn appropriately. This offset must be accounted for in the toolpath so that, at corners, the tool executes additional movements to reposition the knife. VCarve and SheetCam understand this and add the compensations, Donek also offers an Excel spreadsheet that will add them to standard G-code files.
If the offset is too large or too small, the knife over or undercuts on the turn. Calibrating the offset is necessary for the initial use of the knife and for any blade changes. Donek recommends a procedure that involves cutting a circle with a radius equivalent to the offset. If the blade ends up oriented in the same direction as it started, the offset is correct. They recommend a ShopBot CC command for this, but no standard G-code equivalent.
G-code offers the G02 (CW) and G03 (CCW) commands for cutting arcs, but they are inconsistently supported among G-code variants. GRBL supports Arc cutting, but does not allow exclusion of the X and Y values (end position) or the use of the P value (repetitions.)
Here is the process I’m now using successfully on the X-Carve (X-Controller). I’m using mm, but you can change the G21 value to G20 and substitute inches everywhere else if desired.
Step 1. Orient the blade - The starting position of the blade is critical since it is how the tip gets positioned in the center of the circle. For the G02 (CW) command and X-offset defined circle, this position must be so that the knife is facing as if it were going to gut in the X- direction.
To accomplish this, I zeroed the Z axis against the surface of my spoilboard. I then taped down some 2mm craft foam and positioned the blade over the center.
N01 G21
N10 G90
N20 G0 Z5
N30 G92 X10 Y0
N40 G0 Z1.75
N50 G0 X-10
line 01: set to mm
line 10: sets to absolute positioning
line 20: move the Z axis to 5mm above spoilboard
line 30: set the current position to X10 Y0
line 40: move the Z axis to 1.75 so that the tip is just touching the foam
line 50: move the blade in the X- direction to set the rotation such that the blade is true to the X axis
Step 2. Mark the current blade orientation
Before I start making my circle, I needed some way, better than the MK1 eyeball, to determine if the blade ends up in the same orientation. I decided to use a Harbor Freight laser maker (part number 93242 http://www.harborfreight.com/laser-marker-93242.html). I positioned it so that it reflected off the blade sending lines at an angle back towards the laser. I placed a piece of tape along the line to save its position.
Step 3. Execute a full circle with radius equivalent to offset
I then executed:
N100 G02 X0 Y0 I4.5212 J0 F300
line 100: execute a CW arc starting at the current position (X0 Y0) and ending at X0 Y0 with the center offset 4.5212mm in the X+ direction.
If the start (current) and end (the X,Y params in the G02 command) positions are the same, a full circle will be executed. The I parameter defines the X offset for the center and the J parameter defines the Y offset.
Step 4. Check current blade orientation against starting orientation
At the end, the laser reflection will either end up ahead, on or behind the marked line. If it’s ahead, reduce the offset (the I value). If behind, increase it.
Good luck!