To find K40 conversion information use the "INDEX", "SEARCH" or "LABELS" sections in the sidebar.

Sunday, December 18, 2016

K40-S Tool Chain

Design and Fabrication Tool-chain for the K40-S


I am sure that everyone has their view of what CAM can do for their tool chain.
For me the main thing CAM does is take a part drawing developed in CAD and modify it to be fabricated with a CNC machine. In this process the drawing is modified to account for the tools and process that are used to machine the part. Tool paths and changes are created within the capabilities of a particular CNC machine abilities and envelopes.
CAM software creates tool motions/paths such as: outside and inside cuts, plunges, tabs, folds, countersinks, center-lines and pocket faces, etc. It also manages the changing of tools and monitors the operation of the CNC machine within an manufacturing process. Note: many of these are not possible with a K40.
I found this nice guide while doing research:


Please consider donating (button to the right of this post).
Your donations help fund additional research, tools and parts that I will return to the community as information.
For other information on the K40-S build use the  K40-S BUILD INDEX with schematics

Tool chain

My overall goal is to be able to design & fab parts that can be made on any type CNC machine, including a Laser cutter, using the same master CAD design.

My 2017 plan is to add a CNC router to the shop using Sketchup/LaserWeb/Smoothie/ as the tool chain and controller.

I have learned that the variable in this tool chain is the CAM which customizes the CAD parts design to be fabricated on a specific machine. To that end I added SketchUcam to my SketchUp based tool chain with the use of Gcode as the base language. SketchUcam can store machine setup files that can be applied to the same CAD design enabling one to setup the same design for different type of machines.
This is the reason that I have stayed away from CAD output formats like DXF and am trying to get to Gcode based machine interfaces.

I see that LaserWeb is on an impressive journey to get CAM functionality as a front end to a CNC machines interface including engraving.

Now engraving ..... well that's another thing!

My Tool Chain Choices

There are many free and for purchase CAD/CAM programs available that will probably work with the K40-S configuration. I chose to stick with a tool chain with these main components:
  1. CAD: SketchUp and associated plugins for design and drawing
  2. CAM: SketchUCam for fabrication
  3. LaserWeb (LW) to drive the laser unit itself (not LW has many cam-like functions)
  4. Smoothieware as the devices firmware

Getting to know Gcode

Since Gcode is the underlying language for CAM cut files (for mills, lathes and lasers) it is a good foundation to get. It is also useful to set up Gcode tools and reference information so that we can understand, check and troubleshoot the Gcodes that are created during a parts journey through the CAD to CAM process.

I created another post that focuses more on the Gcode language vs the tool-chain, if you are new to Gcode I suggest you start here and then return to this post.

CAD with SketchUp

As indicated above I use SketchUp for mechanical design. The following plugins provide the export functions I need to import to LaserWeb.

STL/DXF plugin: 

This plugin exports STL and DXF files. This is the only plugin that I have found to provide DXF files for the free version of SketchUp that work. It also exports STL files so it is a good single choice for export in this tool chain.
When exporting DXF files directly to LaserWeb for cutting fabrication adjustments (for tools and tool paths) must be already included in those files.

Export Hints:

I spent a ridiculous amount of time to discover that to export DXF files from the plugin above the faces that are being exported must be flat on the X plane. Vertical faces are exported as a line.

Turns out that the object you want to export must be flat on the x axis to export anything but a line (for the x axis).

In this picture the vertical object (even if you select it face on) will not export correctly but both of those on the right will.

CAM: SketchUCam

It took me some prodding to realize what the practical difference between CAD and CAM was as it applies to fabrication on my K40-S, or any of my CNC machines for that matter. Note: There is a CNC mill in my future!
In my case the simple reason for CAM in my tool-chain is that the actual dimensions needed to fabricate a part are different than those designed at the CAD step. The main difference is the change in dimensions needed to account for the tool width and certain operations like drilling or milling. The CAD step creates a design that represents the finished part and the CAM step modifies that design to account for the tools used in its fabrication.
For example: the perimeter of a a 1" x 1" part must be increased by 1/16" (1/2 of the diameter) if a 1/8" diameter cutting tool is used.
This adjustment accounts for the kerf of the tool. Although in the case of laser cutting the kerf is very small (.15mm) it still exists and must be accounted for is parts are to be exactly the right size.
The good news is that CAM tools like SketchUcam will allow you to take a SketchUp design and while in SketchUp, create the Gcode cut file with the CAM related adjustments. That Gcode is then sent to the K40-S via LaserWeb.

SketcUcam plugin download (by Phlatboyz) @:
Instructions for SketchUcam:

SketchUcam Getting Started

I found these to be useful videos to initially learn SketchUcam

SketchUcam Updates:


LaserWeb is the last step in the tool chain before the K40-S controller. I chose LaserWeb because of these functions it supports:
  • Imports: .svg, .dxf, image files, .gcode files
  • Operating system independence: runs in browser
  • Networking: USB, Ethernet and wireless in the future
  • Firmware: Smothieware and GRBL compatible
The community:

Laserweb-Sketchup workflow references:

Operating CAD-CAM using LaserWeb

What I learned in my first serious encounter with LaserWeb v3

I assumed that STL slicing in LW

  • creates a list of slices defined by the slice size through the part and the parts height. 
  • then you can select what slice you want to add to the tool path and then view a single tool path with the "eye" button.

What I found using LW: 

  • I got the STL import to work but only with a 1x1x1 cube. It will not work with a 1x1 cube no matter what plugin I used. Seems other programs have trouble importing 2 dimensional STL files as well but they will error without loading. 
  • Some slices render with open segments
  • The "Preview tool path" button after defining a parameter for a single vector did not seem to do anything. IE: did now show a tool path view.
I found the following things were compounding my understanding of how to import issues for both

Imported DFX and STL files:

  • The tabbed views (All layers, tool paths, gcode view, slicedxxx)  aren't always in sync with changes to objects and sometimes you need to click in and out of them to get them to refresh after making a change in,  for example the TREE tab.
  • The Tab "eyes" don't always enable and disable the tool path views 
  • and you can't tell when an "eye" is selected cause it does not change color...
  • Sometimes one or more of the tab views disappear including the source tab and only reloading everything will get it back.
  • The last Gcode will remain in the Gcode tab even if you remove the object that created it from the pallet. . I.E. if you x out everything from the TREE and open a new file the previous Gcode will remain until you generate a new set of code for the newly loaded object.


The community: 

The firmware in the K40-S, that is the software running on the controller, is Smoothieware. Although this software is buried in the tool chain it is important to understand what G&M codes the Smoothieware understands:

The main page:

Supported Gcodes:

Getting and updating the firmware:

Enjoy and comment,
Maker Don