Easy Zank Toolpath Maker

This forum is for users to submit their own gadgets to the community
User avatar
adze_cnc
Vectric Apprentice
Posts: 1994
Joined: Sat Jul 27, 2013 10:08 pm
Model of CNC Machine: AXYZ 4008
Location: Vancouver, BC, Canada

Re: Easy Zank Toolpath Maker

Post by adze_cnc »

Hello Jim,

Here's some observation on the "Easy Zank Toolpath Maker" gadget.

It asks for too many things. Perhaps this was because the gadget was to be used to make toolpaths for both halves of the tapered inlay process (the inlay and the base).

The "Base Depth (B)" and "Glue Gap (C)" have no bearing on the final cutting of the Inlay plug. It might be nice to use them as a check to see if the Inlay will fit ( i.e. if D-A >= B-C ) but not strictly necessary—more on this in the suggestion below.

The value of Inlay Thickness (D) doesn't really need to be input as it is not used to create a Profile toolpath and D should be the material thickness of the job (v10.x) or the current sheet (v11.x).

The code in "EasyZankTool0Ver3.5.xlua" reads the material thickness:

Code: Select all

function GetMaterialSettings()
  local MaterialBlock = MaterialBlock()
  Milling.MaterialBlockThickness = MaterialBlock.Thickness
but never does anything with it.

For the following see the attached image:

--
tapered-inlay.jpg
--

My suggestion is to input only four things:
  • Carving V-Bit
  • Clearance Tool
  • A = Material to Inlay into Base (this is the "Start Depth" of the normal toolpath we're replacing)
  • B = Air gap between Inlay and Base (for bandsaw, to prevent binding, etc.)—this corresponds to your current "Inlay Waste Amount (A)" (this is the "Flat Depth" of the normal toolpath we're replacing)
That's it. The first two exist on the current form.

There could be an information area that might display things like (for these examples I will presume A=0.18; B=0.08; MillingThickness=0.50; v-bit angle=60):
  • If A+B >= Milling.MaterialBlockThickness (i.e. if 0.26 >= 0.50) then warn them that they need to make the material thicker.
  • Remind them that the Base Depth needs to be at least "A" deep and if possible "A" plus glue gap. e.g. "Base Depth cut-out needs to be at least 0.18 plus a small glue squeeze-out gap"
  • Remind them that the v-bit used to create the Base needs to have the same angle. e.g. "Remember to use a 60-degree v-bit for the 'V-Carve / Engraving' toolpath used cut out the base."
For the text messages (e.g. the v-bit warning) the numbers will be taken from variables within the LUA script and are not hard-coded.

I'm sure there's something I've forgotten but I'll pass it along if/when I think of it.

Thanks for all your work on this. It'll be great when the API properly creates the clearance toolpaths

Steven

User avatar
jimandi5000
Vectric Wizard
Posts: 728
Joined: Wed Mar 11, 2015 6:50 pm
Model of CNC Machine: Home Made 60 x 120
Location: North Houston Tx.

Re: Easy Zank Toolpath Maker

Post by jimandi5000 »

Hi Steven,

Just found this.

Let me get to work on it.
Thanks,
Jim

User avatar
jimandi5000
Vectric Wizard
Posts: 728
Joined: Wed Mar 11, 2015 6:50 pm
Model of CNC Machine: Home Made 60 x 120
Location: North Houston Tx.

Re: Easy Zank Toolpath Maker

Post by jimandi5000 »

Hello everyone,

I hope you're enjoying this great day as much as I am. (My wife is was out of town) :lol:

I'm looking for a tester or two... I have made changes to the gadget and would appreciate your feedback and/or suggestions.

Special note: The gadget now creates the clearing tool paths (Thank you Vectric Support Team!!!)

Supports: Vectric 10+

Have a look and let me know if you have any suggestions.
Attachments
EasyZankMakerVer4.0.zip
Rename to: EasyZankMakerVer4.0.vgadget
(39.46 KiB) Downloaded 13 times
40.jpg
Thanks,
Jim

User avatar
adze_cnc
Vectric Apprentice
Posts: 1994
Joined: Sat Jul 27, 2013 10:08 pm
Model of CNC Machine: AXYZ 4008
Location: Vancouver, BC, Canada

Re: Easy Zank Toolpath Maker

Post by adze_cnc »

Hello Jim,

Thanks for the redesign. It looks great and input is much easier.

I gave it a try on an existing file and came up with the following oddness:

--
Material setup for the job. Note Z1, Z2, and Z gap above material
Material setup for the job. Note Z1, Z2, and Z gap above material
My original toolpaths. Note the travel lines above the material are just right and match the material setup
My original toolpaths. Note the travel lines above the material are just right and match the material setup
Toolpaths created by gadget. Travel lines above material 20 or so times what they should be
Toolpaths created by gadget. Travel lines above material 20 or so times what they should be

--
I'm going to have a look at the source code but I thought I'd get this out right away.

Steven
Last edited by adze_cnc on Sun Oct 24, 2021 10:03 pm, edited 1 time in total.

User avatar
adze_cnc
Vectric Apprentice
Posts: 1994
Joined: Sat Jul 27, 2013 10:08 pm
Model of CNC Machine: AXYZ 4008
Location: Vancouver, BC, Canada

Re: Easy Zank Toolpath Maker

Post by adze_cnc »

One other thing. Gadget does not seem to copy over the v-bit's "Final Pass Stepover" but uses the tool's diameter (?) instead:

--
Gadget v-bit selection screen
Gadget v-bit selection screen
Gadget created toolpath edit screen
Gadget created toolpath edit screen

User avatar
jimandi5000
Vectric Wizard
Posts: 728
Joined: Wed Mar 11, 2015 6:50 pm
Model of CNC Machine: Home Made 60 x 120
Location: North Houston Tx.

Re: Easy Zank Toolpath Maker

Post by jimandi5000 »

Hello All,

Thanks Steven for catching that error.

Here is Version 4.1 of the Easy Zank Toolpath Maker Gadget.

Supports: Vectric 10+

Please let me know if you see any issues.
Attachments
EasyZankMakerVer4.1.zip
Rename to: EasyZankMakerVer4.1.vgadget
(39.47 KiB) Downloaded 24 times
Thanks,
Jim

User avatar
jimwill2
Vectric Wizard
Posts: 603
Joined: Tue Aug 31, 2010 1:48 am
Model of CNC Machine: CaMaster Stinger w/recoil, FTC
Location: Parkville, Missouri

Re: Easy Zank Toolpath Maker

Post by jimwill2 »

Thanks for sharing! I'm new to the Zank inlay method, I've been wanting to try it but haven't gotten around to it.

When I ran the gadget it created five versions of the same toolpath. The help menu refers a cabinet gadget (I think.)
Jim Williams

User avatar
adze_cnc
Vectric Apprentice
Posts: 1994
Joined: Sat Jul 27, 2013 10:08 pm
Model of CNC Machine: AXYZ 4008
Location: Vancouver, BC, Canada

Re: Easy Zank Toolpath Maker

Post by adze_cnc »

jimwill2 wrote:
Mon Oct 25, 2021 5:05 pm
When I ran the gadget it created five versions of the same toolpath.
That's actually the point of the gadget. They are not the same as each other but are progressively deeper. The genesis of the gadget was this post: viewtopic.php?p=277751#p277751

User avatar
jimwill2
Vectric Wizard
Posts: 603
Joined: Tue Aug 31, 2010 1:48 am
Model of CNC Machine: CaMaster Stinger w/recoil, FTC
Location: Parkville, Missouri

Re: Easy Zank Toolpath Maker

Post by jimwill2 »

My bad! I haven't been following the posts.
Jim Williams

User avatar
adze_cnc
Vectric Apprentice
Posts: 1994
Joined: Sat Jul 27, 2013 10:08 pm
Model of CNC Machine: AXYZ 4008
Location: Vancouver, BC, Canada

Re: Easy Zank Toolpath Maker

Post by adze_cnc »

I don't know if it's my system or not but the Z1, Z2, and Z Gap issue above is still there.

In the following image the material thickness is 0.47 inches (12mm) and the Z1, Z2 settings are 0.2 inches (about 5mm).
Attachments
too high.jpg

User avatar
jimandi5000
Vectric Wizard
Posts: 728
Joined: Wed Mar 11, 2015 6:50 pm
Model of CNC Machine: Home Made 60 x 120
Location: North Houston Tx.

Re: Easy Zank Toolpath Maker

Post by jimandi5000 »

adze_cnc wrote:
Mon Oct 25, 2021 5:57 pm
I don't know if it's my system or not but the Z1, Z2, and Z Gap issue above is still there.

In the following image the material thickness is 0.47 inches (12mm) and the Z1, Z2 settings are 0.2 inches (about 5mm).
Hi Steven,

I did some research and I do not see any API function to pull the "Rapid Z Gaps above Material" values from the Drawing. I do find the values stored in the Windows Registry. Also, if you Recalculate the toolpaths it will reset the safe Z values.

Let me see if I can pull the values from the Windows Registry and if that fails, I will need to add the following items to the user interface:
- Rapid Z Gaps above Material -
Enter the Z Axis Rapid Clearance amount
Enter the Z Axis Plunge value
Thanks,
Jim

User avatar
jimandi5000
Vectric Wizard
Posts: 728
Joined: Wed Mar 11, 2015 6:50 pm
Model of CNC Machine: Home Made 60 x 120
Location: North Houston Tx.

Re: Easy Zank Toolpath Maker

Post by jimandi5000 »

Hello All,

Thanks Steven for doing the testing and catching all of the errors.

Here is Version 4.2 of the Easy Zank Toolpath Maker Gadget.

Supports: Vectric 10+

Please let me know if you see any issues.

I am able to get the values for the Home X, Y and Safe Z and the Rapids value from the Registry.
Attachments
EasyZankMakerVer4.2.zip
Rename to: EasyZankMakerVer4.2.vgadget
(39.64 KiB) Downloaded 28 times
Thanks,
Jim

User avatar
adze_cnc
Vectric Apprentice
Posts: 1994
Joined: Sat Jul 27, 2013 10:08 pm
Model of CNC Machine: AXYZ 4008
Location: Vancouver, BC, Canada

Re: Easy Zank Toolpath Maker

Post by adze_cnc »

I've found a couple of things. I'll present one now as the second will take me a bit to describe.

If the paramters (pass depth, speeds, etc.) are changed for one or both of the stored router bits since the last time the gadget was run those changes will not be used the next time the gadget is run.

For example:
  • edit a 1/4" straight bit to have 0.1875" pass depth
  • run gadget using that 1/4" straight bit (toopaths will have 0.1875" pass depth)
  • edit the 1/4" straight bit to have 0.125" pass depth
  • run gadget using the stored default bit (toolpaths will have 0.1875" pass depth as that was stored in the registry and not our changed 0.125" pass depth)
Rather than storing the tool parameters (pass depth, speeds, etc.) into the registry can the tools be remembered by ToolDBId so that the database could be re-queried for the current values (pass depth, speeds, etc.) when creating the toolpaths?

Storing ToolDBId could be useful if one or both of the tools were deleted since the last time the gadget is run. If we query the database to see if the last used tools are still in the database and one or both are not there were can blank out the default field to force choosing a new tool.

User avatar
adze_cnc
Vectric Apprentice
Posts: 1994
Joined: Sat Jul 27, 2013 10:08 pm
Model of CNC Machine: AXYZ 4008
Location: Vancouver, BC, Canada

Re: Easy Zank Toolpath Maker

Post by adze_cnc »

Note: SD = Start Depth and FD = Flat Depth (what VCarve calls D & F on the toolpath screen).

I did a test run and came up with some observations on what toolpaths need to be created versus those that were created.

Router bits and inlay parameter used:
  • 1/8" straight: pass depth 0.125
  • 60 deg v: pass depth 0.08
  • material to inlay into base (A) is 0.1875"
  • air gap between inlay and base (B) is 0.0625"
The toolpaths created were:
  • ZI 1: SD = 0 ; FD = 0.125
  • ZI 2: SD = 0.125 ; FD = 0.125
Which does equal (A) + (B) but is not quite how the gadget should work.

There are two steps needed.
  1. "Roughing" toolpaths successively remove material above our true starting point for the inlay down to a depth of (A)
  2. "Finishing" toolpath cuts our inlay using SD = (A) and FD = (B)
What I expected were the following three toolpaths (note there are described two types of roughing toolpaths. The first is programmatically the easiest but the second could work too):

Roughing:
  • SD: 0.000 ; FD: 0.125
  • SD: 0.125 ; FD: 0.0625
or Roughing:
  • SD: 0.000 ; FD: 0.09375
  • SD: 0.09375 ; FD: 0.09375
either of these sets will clear the material above my inlay's "real" (Finishing) toolpath's SD which is 0.1875.

Finishing:
  • SD: 0.1875 ; FD: 0.0625
Pseudo code for how I would expect to toolpath creation to go (yeah, GOTO statements are bad but they can be avoided when writing the real program):

Code: Select all

// double slash signifies a comment
//
// A = material to inlay into base
// B = air gap between inlay and base
//
// A and B are taken from the gadget form
//

get vbpd // vbit pass depth
get sbpd // straight bit pass depth

min_pass = smaller of either vbpd or sbpd
max_pass = larger of either vbpd or sbpd

if min_pass >= A + B
	call create_finish_pass; // this will rarely be true
	go to ending

current_SD = 0
max_FD = A

passes:
if max_pass >= max_FD
	call create_rough_pass (current_SD, max_FD);
	call create_finish_pass;
	go to ending
	
call create_rough_pass (current_SD, max_pass)

max_FD = max_FD - max_pass
current_SD = current_SD + max_pass

go to passes


// called routines

// ------------
create_rough_pass(SD, FD):

create toolpath with start depth = SD ; flat depth = FD

// ------------
create_finish_pass:

create toolpath with start depth = A ; flat depth = B
return

// ------------
ending:

perform clean up tasks and exit gadget

User avatar
jimandi5000
Vectric Wizard
Posts: 728
Joined: Wed Mar 11, 2015 6:50 pm
Model of CNC Machine: Home Made 60 x 120
Location: North Houston Tx.

Re: Easy Zank Toolpath Maker

Post by jimandi5000 »

adze_cnc wrote:
Tue Oct 26, 2021 7:56 pm
I've found a couple of things. I'll present one now as the second will take me a bit to describe.

If the paramters (pass depth, speeds, etc.) are changed for one or both of the stored router bits since the last time the gadget was run those changes will not be used the next time the gadget is run.

For example:
  • edit a 1/4" straight bit to have 0.1875" pass depth
  • run gadget using that 1/4" straight bit (toopaths will have 0.1875" pass depth)
  • edit the 1/4" straight bit to have 0.125" pass depth
  • run gadget using the stored default bit (toolpaths will have 0.1875" pass depth as that was stored in the registry and not our changed 0.125" pass depth)
Rather than storing the tool parameters (pass depth, speeds, etc.) into the registry can the tools be remembered by ToolDBId so that the database could be re-queried for the current values (pass depth, speeds, etc.) when creating the toolpaths?

Storing ToolDBId could be useful if one or both of the tools were deleted since the last time the gadget is run. If we query the database to see if the last used tools are still in the database and one or both are not there were can blank out the default field to force choosing a new tool.
I will look to see what I need to do to make this change.
Thanks,
Jim

Post Reply