VCarve Inlay Plugin for Autodesk® Fusion®
Video References
- VCarve Inlays with Autodesk Fusion (2D) – the basic primer on how to do it all.
- 3D Curved VCarve Inlays – The extra details on how to do curved inlays
- 3D Carving Process – via Erickson Design & Woodworking
Download & Install
- Get the latest version: VCarve Inlay Plugin
- Unzip the folder somewhere (ideally your AddIns folder on Fusion)
- In Fusion, click Utilities -> Add-Ins -> Scripts and Add-Ins.
- Alternative: Use the keyboard shortcut: Shift-S
- Click the plus icon, and select “Script or Add-In from device”
- Select the folder that you unzipped
- Click the Run button, and optionally set it to Run on Startup
- For more information, see Autodesk’s How to install an add-in or script in Autodesk Fusion
License
This software is shareware! If you find it useful and it saved you some time, please purchase a license for $5. The license is a lifetime license for the individual who purchased it. All updates are free.
Terminology
Inlay: The part that fits into the pocket and is at the finished size. In the picture on the right, the inlay is the dark walnut wood. Generally, this is just for looks, and isn’t used for manufacturing.
Female Pocket: The part that the inlay does into, with a pocket v-carved out. The light cherry wood.
Male Plug: The complete male plug that will fit into the inlay when you are constructing it. This includes a backing, the Base Plug Thickness. It is the gray part in the image.

The Inlay Depth is how deep the inlay will go into the Female Pocket. The Male Plug will have a Plug Base Thickness to hold it all together, which you will remove after the inlay glue has dried. The Inlay Surface Gap is the space between the base and the top of the inlay. The Plug Stock is additional material not in the design, but in the stock that allows the inlay to seat correctly (this will be explained more later).

The Fit Adjustment is the only parameter you will modify to get the inlay to fit properly. There is no glue gap! Simply changing the Fit Adjustment will make the fit better, as described later. The Fit Adjustment only affects the plug. You do not have to change the Inlay Surface Gap to get a better fit; pick some value and stick with it, unless you find you need more or less space for some other reason.

Creating Features / Inlay
In the Design Workspace, in the Solid environment, click Create -> Inlay / VCarve to bring up the primary command.


- Name: The name of your inlay; generated component names are based on this name.
- New Component: The plugin will always create new Components for: the Inlay, the Plug, and the Plug Stock. It will also create a new component for the target body if New Component is checked. If it is not checked, the target body will be directly modified. See Organization Recommendations for more details.
- Profiles: The closed profile shapes for the inlay. You can select Texts, Sketches, and Profiles. The sketch entities MUST be “on or above” your Target face or body, and should all be co-planar. The inlay is created by projecting “down” to the shape (ie: the perpendicular normal from the Sketch’s X/Y plane). To create a sketch “above” a 3D design, right click on the X/Y Plane and select Offset Plane. Offset the plane until it is above your main 3D body, and then create a sketch at this location. Note that the profile and Sketch do NOT have to be in the X/Y plane, and can be on any face or in any orientation. Note that “Text” objects sometimes fail with “2 : InternalValidationError : face” – if that is the case, you have to explode the text (this is a Fusion Bug).
- Target planar face (2D): Selecting a single planar face will generate a 2D / flat inlay, and toolpaths geared towards 2D shapes.
- Target body (3D): Selecting an entire body will generate a 3D inlay, and toolpaths better for 3D machining. Currently only one body can be selected at a time.
- Inlay Depth: How deep the inlay should be. I’d recommend 0.100″ for superficial inlays — although, that is the depth I use for my kitchen utensils, and they get regularly used and washed, and I haven’t ever had an issue with the inlay over the past several years. Use 0.230″ (6mm) for a deep inlay that needs more strength: something like a cutting board. The Inlay Depth is a constant; you do not need to change it to affect how well the plug fits into it. This value can later be customized after the inlay is created via the inlay_depth User Parameter. See Parameters for more information.
- Create Plug: Optionally create a Male Plug, and the associated Male Plug Stock that will fit into the inlay pocket.
- Inlay Surface Gap: The gap that will be above the inlay before the Plug Base Thickness. Keep it small to avoid having to do a deep inlay. I find 0.050″ works well. This value is a constant; once you pick a surface gap you don’t need to change it to adjust the fit, unless you find you need more or less clearance for some other reason. This value can later be customized after the inlay is created via the inlay_surface_gap User Parameter. See Parameters for more information.
- Plug Base Thickness: How thick the backing of the plug will be to hold it together. You probably want at least 0.25″.
- Flip Plug: The plug is created right above the female pocket. If Flip Plug is checked, the plugin will flip the plug “upright”. This is a component move at the root level, and you will have to hit Capture Position to save that position.
Creating Toolpaths / CAM
The Toolpaths Tab:
- Create Pocket Setup & Create Plug Setup: If checked, the plugin will generate a Manufacturing Setup for the selected options, and pre-populate the correct toolpaths to machine it. The toolpaths will vary depending on if you targeted a Planar Face (2D) or a Solid Body (3D).
- Bit Selection: The drop down list will show acceptable v-bits and flat bits that are currently in your document. You can add bits to your document by going to the Manufacturing workspace, click Tool Library, and drag tools into the current document. You can also select these later, but if you select them later you need to ensure you keep the “Tool Angle” and “Bit Diameter” in sync via Parameters listed below. NOTE: Currently the drop down is broken in Fusion v 2605.1.18. The API changed or broke in some way.

Unfortunately, Fusion doesn’t currently have an API to show the standard “tool selection” dialog you normally see when creating toolpaths.
If you did not pre-select tools, the toolpaths created by the plugin will show up with a red exclamation point and be invalid. If this is the case, you can double click on an operation and manually select the correct tool you want to use. Ensure the tool’s bit angle matches the inlay_bit_angle Parameter. Otherwise, some machining offsets will be incorrect.

Design: Inlay Plugin Generated Components
The plugin creates up to four new components under the currently active component (see Organization Recommendations).
- Name Pocket – A copy of the target body with the inlay pocket cut into it to the inlay depth. Only created if you checked “New Component”.
- Name Inlay – The actual finished inlay. This is mainly for a visual representation of the inlay and internal computations, and isn’t used for machining.
- Name Plug – The plug that fits into the inlay.
- Name Plug Stock – The “Stock Body” for the Plug when machining. This is a specific height above the plug to allow it to go “deeper” into the inlay. The height above is controlled by the inlay_fit_adjustment parameter.

Manufacturing: Inlay Plugin Generated Setups
Two setups are (optionally) created in the Manufacturing Workspace, each with three basic toolpaths to do a VCarve.
Setup: Name Inlay Pocket
The Setup has the following customizations by default:
The WCS Origin is set to “Stock Box Point”, and the Stock Point is pre-selected to be the “Front Bottom Left” corner. This means the Z-zero is the bottom of the project, ie: the spoilboard. You can change this if you like.
The Stock is set to “From solid” and the original Target Body is selected. For basic planar “2D” inlays, you can set it to “Relative Size Box” and change it to your liking.


3D/Curved Inlays: This means when you are doing a 3D / Curved inlay, your “starting stock” should be the already carved 3D shape. You should have some other Setups that carve your shape before doing the Inlay Pocket. As an example, my Spatula project firsts machine the shape to the right in a prior Setup. After this setup complete you are ready to run the Inlay Pocket. You can simply take the toolpaths generated and move them to your previous Setup.

2D/Flat Inlays: I highly recommend adding a facing operation as your first toolpath! Face “to top of stock ” or “top of model”. I generally start with stock *slightly* thicker than what my model says and face it off.
Toolpaths: Name Inlay Pocket
Three toolpaths are created, using the selected bits. Feeds and speeds are your own responsibility for your particular machine.
Lead in/Lead out: Currently all toolpaths have them set to zero/none. This is essential for the V-bits. For clearance ops, you might want to try a lead in, but it may cause issues with the toolpath computing correctly.
1. VCarve Outline: A 3D Pencil operation – this is what does the main VCarving of the design. The Geometry has the Machining Boundary set to Selection, and is set to a Sketch Profile. The Sketch Profile is set to a Sketch named “Machining Boundary” found under the Inlay Pocket Component. This sketch is auto-created by projecting the inlay component. The Tool Containment is set to “Tool Center on Boundary”, and this is what allows the V-bit to come to a sharp point. Additional Offset must be 0, and Contact Point Boundary / Contact Only should both be checked (on).


2. Clearance: For 3D shapes, the default is Scallop. For 2D/Planer, the default is Flat. Like the prior toolpath, the Machining Boundary is restricted in the same way, but the Tool Containment is Tool Inside Boundary and the Additional Offset is a specific value based on the prior bit angle used.
This is an expression. You can click the three dots to the right of the Value Input and select Edit Expression.
The Expression is set to “pocket_stock_to_leave” which is a Parameter that the plugin adds. If you look at the Parameter, you will see its value is set to: tan(inlay_bit_angle / 2.0) * inlay_depth – this is some basic math that keeps the clearance operation away from the edges of the inlay by the exact amount that the v-bit leaves behind. This one of the main tricks for VCarve Inlay Pockets.
For Scallop, the Machine Areas Using Boundary is checked, and Boundary Overlap is set to a small value (0.001″), as that seemed to work best in my simulations and actual carvings.
Alternatives: You can choose another Clearance operation by right clicking on the toolpath, Create Derived Operation -> 3D Milling -> and picking something else. Most the settings are transferred over, but ensure the Tool Containment is set to “inside”, as sometimes that gets reset. Morphed Spiral is a good alternative for 3D shapes.




Clearance Op notes: For 2D/Planer — sometimes the “Flat” toolpath fails to generate a result due to a Fusion bug. If that happens, try a derived operation of Scallop, as noted above. Scallop will sometimes miss parts; if it does, change the stepover to be smaller until it gets everything. You can use 2D Pocket for clearance.
Empty Clearance: Sometimes, the clearance toolpath will be empty because the bit is too large; try a smaller bit, or just use the v-bit (step 3).
3. V-bit Rest: The clearance bit will not likely get everything, and the v-bit needs to be used to finish off the rest. “Scallop” is the default op, for both 2D/Planar and 3D inlays. Since it is a V-bit, we want it to go right to the edge of the design, so the “Tool Containment” is set to “Tool Center on Boundary“, just like step #1’s Pencil operation. But the Pencil did the main carve, so we need to stay away from the edge by the same Additional Offset — an expression set to “pocket_stock_to_leave”. Note that it is negative and this is because “Tool Center on Boundary” needs a negative value to stay further on the inside. A positive value would extend it outside the center line.
Rest Machining is turned on, set to ignore stock less than 0.001″. This is what causes the v-bit to only get the areas that the Clearance operation missed. This means this operation has to be last for the rest machining to calculate correctly.


Reordering Toolpaths
The default order would be: V-bit, Clearance Bit, V-bit. This causes an unnecessary tool change back to the V-bit at the end. However, moving the last “V-bit Rest” operation above the Clearance operation will cause it to re-calculate and not be correct (it’d try to remove everything the clearance should be doing). To solve this, you can right click on the V-bit Rest operation and check Protect. It will show “Protected” via a lock icon. You can then drag the protected toolpath above the Clearance operation. NOTE: if you do this, and you change something that makes the toolpaths need recalculation, you will have to move it back and unprotect it.


V-bit First or Clearance First
I prefer to do the v-bit portion first, and finish with the clearance bit. Some people prefer to do the Clearance operation first. If you want to do this, you can just drag the clearance operation before the VCarve Outline. If you do that, you won’t have to Protect the V-bit Rest.
Machining with Multiple Depths / Stepdown: Most toolpaths have “Multiple Depths”, but Pencil does not. To work around this, right click on the Pencil toolpath and select “Duplicate”. Rename the first one “VCarve Rough”. Double click on it to edit it. On the Passes tab, check Stock to Leave and set the Axial Stock to Leave to be half your inlay depth. IE: if your depth is 0.200″, set it to 0.100″.

Doing this will generate a light first cut. The plug generally cuts deeper, and you may need to do two rouging passes with varying stock to leave.
************ Face Operation First *************
For flat/2d inlays, I highly recommend adding a facing operation as the very first thing you do that faces “to top of stock”. This ensures your model is the correct height, and the inlay depth will be exactly what you expect. Eventually I’ll add an option to add this toolpath in.
Setup: Name Inlay Plug
The Setup for the Inlay Plug is similar to the Inlay Pocket, but the Stock different. The Stock Solid is set to the “Plug Stock” that was created by the plugin.

This is the main trick for a plug to seat deeper in the inlay. The stock is intentionally higher than the model; specifically, it is higher by the “inlay_depth minus inlay_fit_adjustment”. This can be seen in the images below from the side; the one on the left shows the stock (in translucent yellow) above the design (in gray). The image on the right is after the last toolpath runs, showing the v-carved edges and the inlay going “deeper” (higher) due to the extra stock.


This amount could be the full “inlay_depth” if you set the “inlay_fit_adjustment” to be zero. That would be a perfect inlay, but that never happens in the real world, and in reality it will be gappy on the top because it prematurely bottoms out.
3D/Curved Inlays: Similar to the pocket, you should add another Setup to machine the “Plug Stock” as your starting point for machining the Plug. Consider the three images below: The first one shows the new Setup I created to machine the “Plug Stock”. The second image is the result of machining the “Plug Stock”. The final image is the result of running the “Hibiscus Plug” toolpaths to generate the plug. There is a way to combine all these into to one Setup, but I wanted to make it simple.



2D/Flat Inlays: Similar to the pocket, I highly recommend starting with a facing operation, and face to “Top of Stock“. Do not face to “Top of Model”, which is the default setting for a facing operation. If you do that, the plug may still fit (it is surprising), but it will definitely be gappy at the bottom of the plug when you cut it in half. This is essentially what would happen if you set inlay_fit_adjustment to the inlay_depth; if they are equal, there will be no extra part to fit into the plug (but despite that, wood moves, and it may go in when using sharp angled v-bits).
Toolpaths: Name Inlay Plug
The toolpaths are virtually identical to the Inlay Pocket Toolpaths. I will only cover the differences:
1. VCarve Outline: The Machining Boundary Selection is set to the “Machining Boundary” Sketch found under the Plug component.
As noted in Multiple Depths, the VCarve Outline for the plug in particular may need to cut really deep (inlay depth plus the surface gap), and setting up multiple depths by duplicating this toolpath may be necessary for your machine!
2. Clearance: The Machining Boundary Selection is set to the “Clearance Machining Boundary” Sketch found under the Plug component. This sketch has the bounds of the plug slightly offset by the radius of the cutter to allow it to stay entirely within the plug bounds (ie: not get the sides) and machine all areas. The amount it is inset is the: “plug_stock_to_leave”.
3. V-bit Rest: The Machining Boundary Selection is set to the “Machining Boundary” Sketch found under the Plug component and the amount inset is “-plug_stock_to_leave” being on center to the sketch.
These are the main differences from the Pocket Setup and toolpaths.
Parameters
Inlays can be customized after creation by modifying Parameters. Parameters are global and affect all inlays in the document. I would like to change this at some point to have different inlays with different parameters, but for now, this is how it works.
****** For known parameters that work with specific bits, see the VCarve Inlay Parameter List
In the Design Workspace, Solid Tab, click Modify -> Change Parameters to bring up the dialog:

The parameters have a detailed comment that describes what they do. Be sure to keep the inlay_bit_angle in sync with the actual V-bit you are using, and ensure you put in the Inclusive Angle as discussed in the bits section.
The only parameter that you may have to adjust for your particular inlay fit is the inlay_fit_adjustment, which will be discussed next.
Finding the Perfect Inlay Fit
The fit of the inlay is controlled by the inlay_fit_adjustment Parameter. If you find a good value that works for a particular bit, inlay, and wood species, let me know! inlay_fit_adjustment can be from 0 to inlay_depth. A value of 0 is a “perfect” inlay, where your inlay plug would be exactly the depth of your inlay pocket. However, that usually gives a gap on the top, and wood will move and squish a bit when you glue and clamp. I use 0.060″ to 0.070″ for an end grain inlay that is 0.100″ deep with a 15 degree v-bit. It’s a surprisingly high value!
There are two main things that can go wrong when you fit an inlay:
1. Gaps on the top
If you create an inlay, and it has visible gaps on the top, adjust the inlay_fit_adjustment to be larger (probably by 0.010″ increments) and try again. The issue is the inlay is bottoming out, preventing it from closing the gaps on the top.

2. Inlay doesn’t go deep enough
If you create an inlay, and you have trouble fitting it in, or it does fit in with no visible gaps on top, cut it in half, and make sure it doesn’t have gaps underneath the inlay. If it does, adjust the inlay_fit_adjustment to be smaller until it no longer has a gap at the bottom or goes in as deep as you’d like (yeah, some people leave a glue gap). The issue is the inlay is not “steep” enough, and needs to have a deeper plug part.

3. Other issues
If you see gaps on the top of the inlay and underneath the inlay when you cut it in half, then you likely have an issue with your machine or the design itself:
- Design issues: The design may have parts that are chipping off during machining and the design has to be adjusted a bit to avoid this.
- Machine Squareness: Ensure you can cut a 5″x5″ square and that it actually measured 5″x5″ with calipers.
- Machine Tram: Ensure that your machine is trammed correctly.
- Feeds and Speeds: Incorrect feeds and speeds can cause jerkiness in CNC movement that will break off bits of the inlay. Dialing in your feeds and speeds is the only way to fix this.
- Machine Acceleration: Turning down your machine’s acceleration settings can greatly improve inlays.
- Clamping/press: Proper clamping with a press is generally required to get a really uniform inlay. I have only done small inlays, and use clamps. Eventually I’ll do some larger ones and discuss ways to make a press.
Organization Recommendations
The current active component will become the parent for all the sub-components the plugin creates (Pocket, Inlay, Plug and Plug Stock). In general, before I run the plugin I will create a new empty component to contain all the relative sub-components, as they are all related. I also find this a good place to put my design sketch. This is good for a one-to-many relationship: you have one primary CAD shape, and you want to have a lot of different variations of inlays you can do on the main shape.
The example on the right illustrates this. I like to have a lot of different designs for my spatula inlay. I created a new empty component named “Hibiscus Design” and activated it. I created a Sketch in that component for my design. I then ran the plugin while the Hibiscus Design component as active, and it generated all the related components in one group. This makes it easy to hide or show the entire group.

When to NOT use “New Component”: In general, if you want to have a bunch of inlays targeting one particular body, I recommend unchecking “New Component”. This is generally only useful for flat 2D inlays. For 3D shaped inlays, you will likely need to machine your basic shape before actually machining the inlay pocket, so you need a copy of the basic shape without the inlay pocket to get it done correctly.
V-bit Tool Selection
Bits that work with this technique are “Engrave/Chamfer mills” and “Tapered Mills“. v1.0 doesn’t show Tapered Mills in the filtered list, but they will work if you manually set them!
I prefer fine detailed inlays, and use a 15 degree v-bit: Amana 15-degree v-bit. This bit has a 15 degree inclusive angle (the total angle).
Bits are usually (but not always) named and sold by the Inclusive Angle, which is the total angle. The Taper Angle is half the inclusive angle, as shown to the right. Fusion will name bits based on the Taper Angle — so if you see it named as a 30 degree bit in Fusion, don’t get confused and put 30 degrees as the Parameter when it is really 60; things won’t work right!

However, some Tapered Ball Mills, such as Freud 72-400 5.4° x 1/16″ Tapered Ball Tip, are listed and sold by the taper angle! You will need to input the inclusive angle: 5.4°x2=10.8°. Just be aware of this, as it is important if you manually input the bit angle.
IMPORTANT: Pure V-bits, like shown below, will not work with the Pencil op (toolpath generation will fail on the V-bit pass) unless you set a Tip Diameter. You can use a really small Tip Diameter, like 0.001″, to get it to work, and it shouldn’t affect the inlay. If you are using metric, type in exactly 0.001″ and hit enter, and it will convert it to 0.0254mm.

Some people have their v-bits as a Spot Drill – you will have to re-create the bit as a Engrave/Chamfer Mill.
3D Inlays / Extreme Angles / Machinability
Note some potential issues when you create a plug that approaches the vertical edge of a piece. The curved inlay (Hibiscus Flower) on this handle is very close to the edge of the handle, and the handle isn’t very thick.

The resulting plug is shown to the right. It has two problems for machinability: the edges are past vertical and overhanging, which is impossible for a bit to machine. The curved edges are also too close to the edge of the inlay plug; another thing that a bit can’t get into.


Machining this shape will result in a plug that won’t fully seat, and it will be gappy. (I know, because I accidentally did this!). The easy fix: select the top planar edges (shown in blue) and do a “Move”, and move them down until they no longer would cause a problem.


Issues / Bugs / Limitations
Empty CAM Browser
Sometimes the CAM workspace browser shows up empty, as shown to the right. Clicking the Show/Hide icon doesn’t help. You have to close the project and reopen it to get it to show up.


Toolpath: Failed to Generate Pass
If the Pencil operation fails to generate a pass you may have a pure v-bit with no tip diameter. Try setting a small tip diameter, as discussed in v-bit selection.

Complex Vector Fails/Hangs generating a 2D Inlay & Toolpaths
Unfortunately, sometimes Fusion hangs on complex designs. Trying a 3D target, even for a 2D face, will sometimes work around this issue.
The toolpath generation will sometimes fail to fully create, or the areas it machines will be incorrect. This seems to be due to the vectors in the Sketch. Sometimes you can trick Fusion into working with various tricks without using the Sketch:
- Removing the Sketch Limits for the Pencil toolpath for the first VCarve – this will machine all small areas
- Using a “3D Flat” toolpath for clearance, don’t use any sketch confinement; use the Silhouette as the boundary. Set the Stock To Leave to be “pocket_stock_to_leave”. Set the Top Height to be “Model Top” minus a small amount of(ie: 0.01″) to avoid machining the flat top.
- Do the same for the “V-bit Rest”


2 : InternalValidationError : face
This seems to be a bug in Fusion 360 caused by SketchText objects. In your Sketch, Right Click on the text and “Explode Text”. Then try again with the exploded text.
Jerkiness in CNC Machine Movement
Possibly too dense of a Gcode file. Increasing the Smoothing value may help to reduce the size of your GCode file.
Updating Text After Generation
You can select text profiles in a Sketch, but editing it after the inlay was generated will likely not work. There is no way for me to keep track of the bodies changing. You could manually fix it up, but it is probably easier to just run the plugin again when you change the text.
Flat 2D Inlays – CAM/Toolpath Flat does not generate
Sometimes the “flat” 3D toolpath operation will not generate. You can right click on it and select a derived toolpath to try another strategy. Be sure to keep the machining boundary the same! Sometimes Fusion resets it when you create a derived operation. Spiral and Morphed Spiral are good alternatives, and Parallel will always work, but might generate poor toolpaths that might not machine well.
Plug: Machining Boundary / Clearance Machining Boundary Sketch Error
The plugin attempts to outset the shape of the plug by a specific amount. Sometimes fusion incorrectly insets it. If you see your plug not machining the edges, then this is likely the problem. Edit the Sketch and change the outside of the outer shape to be negative to go the correct direction. I’m not sure why this happens; I think I fixed it in v2 of the plugin.
Feature request: Allow multiple “Target Body” for 3D Inlays
It would be nice to allow multiple bodies to be selected; currently you can only select one.
Feature request: Allow different parameters per-inlay
Moving to a single “custom feature” in the timeline would allow this. The API is in beta for Fusion, and it will take a lot of work to re-write it to support it.