Here is a guide for using SketchUp with to create dxf files suitable for CNC machine cut path generation.

Recent updates:
-Sketchup plugins suited for CNC drawing quality work.
-Bezier curve info
-Cut techniques
-sketchup warehouse ball end miter cut paths link.

The process guide outlined here combines the fast drawing capabilities of Sketchup with the fast working g-code generation software for Thermwood CNC or similar dxf to g code creation software.
It was written based on experience with a 3 axis Thermwood CNC router. With those CNC machines, you can export a .dxf directly to the machine control cabinet where g code is generated with auto written tool changes, nesting, flip operations, sheet changes, drill operations, pocket operations, pop up pins and other measures that allows start button operation once the g-code compiles. End of this document has typical pencil drawing to parts start cut times for different types of panel board boxes.



Outline:
SKETCHUP TO THERMWOOD CNC (or other dxf to g-code converting program) .
LINES
DRILL HOLES
CIRCLES
ARCS
BEZIER SPLINES
POLYGON
CARVING TEXT, TEXT SHAPES
DXF EXPORT TIPS
DXF DRAWING CHECKING TIPS
CUTTING TECHNIQUES FOR COMPLEX OR SMALL PARTS ON A VACUUM TABLE
DISPLAY WORKSPACE AND EFFICIENCY TIPS
SKECHUP PLUGINS
ADOBE ILLUSTRATOR TO SKETCHUP TO CNC VIA .DXF FILES
SKETCHUP TO MASTERCAM TO CNC VIA .IGES FILES
CLOSING NOTES AND SAMPLE PROCESSING TIMES


##############
SketchUp Pro--->.dxf --> Thermwod CNC For most 2d drawn tool paths.




LINES-
The rules with lines are:
- Lines can be placed on top of one another in the z axis, but two different lines apart of two different groups traveling along the same location of xyz to xyz cannot.
- In sketchup a line carries both its layer name and the layer name of the group of entities it has been grouped together with. Keep the group names all on Layer 0, to avoid the situation of import problems.
- To organize complex cut paths you can lift them up into the z axis, it is ignored on dxf export so long as the top view is active when you do the 3d export to dxf.

DRILL HOLES –
-Draw the desired radius circle off part somewhere, layer name it, Drill z0p486 (example), group it, then move it into position on the desired surface.
- Remember that if you hover over an edge of the circle, the auto snap will activate the center of the circle.
- A circle drawn in Sketchup Pro will export as a true equation of a circle so long as it is not stretched into an oval or exploded or drawn in such a way that one of its edges touches a geometry.
- Just like any other group, a circle turned into a group can be turned then into a component. Once a component it can be copied and any changes to any of the copies or the original updates across similar components.


CIRCLES-
-Advanced circle tools are available from other plugins. This advice is for the native shape generation:
- A circle exported with Sketchup Pro as a .dxf export as true equations of a circle and so will cut as an equation in the G-code. The circle can intersect other geometry making it a curve of constant radius (see arcs below).
-Right after you select to draw a circle, the number of segments desired will be in the lower left of the screen. If you plan on keeping the circle intact (not scaling, or making it intersect a line) this can be ignored. This value will be remembered and come up as a changeable default every time you draw a circle.
-you can change the resolution of the circle by simply clicking ENTITY INFO.
-If you plan on exploding the circle into individual segments, scalling or distorting the circle you will need to increase its segment count to represent the curve in the g-code with adequate resolution.
- You can increase the circles’ segments until the individual segment length is low (0.06), then explode. The resulting high number of segments in the shape of a circle (100 for about 3” diameter, 600 for about 30” diameter) will cut smoothly with little distortion.


ARCS-
- Arcs as simply drawn in Sketchup’s abbreviated polygon fashion will leave a large segmented appearance and will cut on the machine that way.
To make a smoother cutting arc, select entity info and increase the number of segments until each segment length is about .06 . It takes some experimentation but generally circles 3 foot in diameter need about 500 segments. This works with all the layer naming systems. The g-code generated will consist of many lines but the router bit will not stop and start on each tiny segment and will instead travel with a smooth consistent speed about the part.
- Explode all arcs before exporting a dxf.
- There is a shape translation bug between SketchUp and the Thermwood machine regarding certain arcs or curves with the “chain compin” and “chain compout” layer names. The work around is to simply offset a parallel curve and use the ‘centerline’ layer to represent the center line travel path of the cutting bit.

BEZIER SPLINES-
-Fredo6 BEZIER plugin is amazing and youtube videos can be seen to illustrate its use.
-Basically with this plugin you can take any jumble of lines, turn them into a polyline, and smooth them out along various mathematical curve fits of either the same number of elements or an increased number of segments.
-The Bezier curve function native to Sketchup, like circles, has a number of segments option right when you select the tool. 3-400 element Bezier curves that exist as 2foot long curves seem to cut well.

POLYGONS-
-If the polygon draw tool is used to draw a triangle, any element or line that touches it must have explode curve action done to it. Even if you started drawing your buckyball 6 hours ago with only one polygon used, it still exists in the model as some type of hydra triangle/hexagon in the eyes of the dxf interpreting software. Explode curve these shapes.

CARVING TEXT, TEXT SHAPES____________________________________________ _
Sketchup 3d text as it appears on the screen is segmented and needs some of the curves of the text fixed to be a higher resolution of points.
Go to isometric view to be sure of what you are selecting and select one low res segmented curve. Right click to get to the BZ-CONVERT plugin and select CONVERT TO CATMULL SPLINE. The curve will turn high resolution. This technique also works for cleaning up bad Illustrator fonts. You will have to check each curve of the text at a time.
If you have access to Illustrator there is a faster way but the downside is that the file size increases:
In Illustrator: (This is a modified procedure from (Help) EPS to SketchUp ? SketchUcation Community Forums)
1. First go to object-path-simplify measure. Make sure straight lines starts off unchecked
2. Select all
3. Go to Type-Create Outline
4. Select all
5. Go go Object – Path –add anchor points
Do step #5 multiple times to divide and subdivide the curves. For 3” text = 4 repeats of step #5, For 10” tall text needs about 6 or 8 repeats of step #5.
6. Select all
7. Object-Path-Simplify check the straight lines box, make sure angle threshold is at 0
8. Export dxf

This should bring into Sketch up pro a very dense drawing with many many line segments. The curves will come out well. Remember that line segments below 0.060 inch cut smoothly and 0.100 segmented curve lengths tend not to dependent on some machine acceleration settings.

It is often the case where multiple passes with different bits are desired especially when the text is small and a 1/8" bit is needed. To command the machine to do exactly the type of pass you want use the centerline d0p### z0p### layer applied to a offset line.
The plug in that works far better than the stock SketchUp offset line tool is
the TIG-Smart_offset plugin. It produces clean lines with no line mess near tight corners.
[Plugin] TIG-Smart_offset v2.1 20121231 ? SketchUcation Community Forums


DXF EXPORT TIPS:
-Export dxf only with top view, camera parallel projection mode. ALWAYS (sorry for the caps but yea…) All parts on x,y plane clearly separated for easy hide, unhide for individual part export.
-Always have the layer list open, and the layer name selection box on the toolbar available. Cycle through individual layer names to hide them to check to see that you have given all the cut paths the correct layer name and thereby cut depth and tool.
- To break up a multipart drawing space, I used hide, make hidden hot keys to toggle between parts prior to exporting the dxf. I hide all, then unhide one part at a time, zoom extents, then export. This has the following advantages to workflow: the zoom extents checks for window problems of stray lines/unhidden undesired parts, each part gets its own exported name for use by the nesting software and essential for troubleshooting, only the unhidden parts/lines are used in the g code for that part, since sketchup filesize is quite low the unused excess hidden entities on all those drawing file exports act as an emergency backup should you need to see the state at the time of export for the entire project at the time of export. It is a little like a dumb time machine.
-When exporting .dxf using the SketchUp Pro export option found under File -->Export -->3d model. Entities, surfaces, and their layer names are exported using only the 3d export option, the 2d export option seems to abbreviate the model layers in a way where the CNC machine cannot interpret the file. There are free work-arounds for this but I do not know.
-Groups have a layer name just like entities do, when they have a layer name “Layer 0” they do not cause problems, so use Layer 0 for all your group names. When groups have a layer name that corresponds to an action like, centerline5 d0p375 z0p300, it can lead to odd problems or the entities of that group ignored, or even every entity in that group given a g- code action.
-The axis that exists within a group is ignored. The larger axis is used as the part reference axis for the file export is the one seen by the machine. If you change the main axis while drawing, the drawing always remembers the original xyz, just click on the “rooftop” view in the standard views. If you loose that, just open a fresh file, draw a box and cut an paste the box into your problem drawing, its orientation will correspond to the true axis, so just realign the axis to that box.
-Auxiliary layer names that are g-code action names for the dxf to cnc g code software listed in the layer name index but correspond to lines hidden on the drawing are ignored. So you can have multiple parts with each their own names “outline z0p471” “outline z0p236” on the same SketchUp file. Hidden lines and layer names not used among the un-hidden exported entities does not matter.
-Hidden entities travel with the dxf. Export and you can re-import the entire drawing back into sketchup hidden and not hidden all together.
-In sketchup both lines and groups (of lines) can be hidden. Groups take the priority, so if you hide some lines and not others in a group, nothing will show if the group those lines belong to is hidden. Remember the view/hidden shortcut key.
-Zero, zero on the drawing is used but behind the scenes, for our activities it is largely ignored, the axis orientation is not ignored. Remember RGB=xyz
-The outline layer name is what control nesting uses to locate parts on the table, not the absolute drawing xy axis. This is also what part spacing is based off of. On Master Cam import of parts from sketchup, the absolute xyz is used for part location.
-The lines of the outline layer (outline z0p455) can be larger or smaller than the part, but if cut out entities go beyond the outline layer (as seen from top view) you will have to increase your part clearance to keep other parts safe from gouge by their neighbors in a nested part sheet.
-Clearances: 0.007 to .015 is fit clearance between most surfaces of parts (this number is a blanket value to deal with bit scallop and other factors).
-Clearance for slide-in drawer style assembly: 0.020 – 0.030.
-You can have both the disassembled or cut path view and the assembled object on the same Sketchup drawing. It requires that each part of the assembly is its own grouped component. This is useful. This is particularity useful for complex joints.
-Remember that the copy, paste, then scale= -1.00 is your friend for making quick mirror copies and quickly duplicating complex cut paths on objects with a symmetry left/right etc.
-Error messages that say there is a problems with outline = there is a problem with one of the chain compout layers or the actual outline layer involving stray lines or incomplete entities not forming a loop of some kind.
-Upon control nesting a drawing if there is a problem with the outline layer it will not load and the outline layer thickness will be called =0.000.
-Error messages that say the drawing has a part thickness of 0.000 = outline layer has problems either it is not existing on the exported dxf, it is hidden, or it is not a complete loop, or as a stray line intersecting the entities on the outline layer. Check the outline layer or anything on the chain comp layers for stray lines by using either the offset tool to see where it doesn't want to work, or by taking the looped entities aside, push/pull them then taking a slice out of the push pull as your new clean loop.
- Chain compout and chain compin, layers are affected by leave skin amounts.
- If a layer depth exceeds the outline layer depth, that layer will receive added values from the cutting depth in control nesting
-Thermwood Specific Note: The workflow organization that works for me is that each tool on the tool setup window has its own unique diameter Tool #1 is a 0.25 single flute straight bit is given the diameter of 0.249 Tool #2 is a 0.25 double flute helix is given the diameter 0.25. This is so that in a .dxf exported drawing the layer names when a line is called “centerline d0p249 z0p341” Tool #1 will be used for that line, and conversely, lines with “centerline d0p25 z0p221” tool number 2 will be used for those lines. This allows for very unique cutting techniques with specific toolpath lines drawn in sketchup dictating the specific tool used in the gcode

SKETCHUP DRAWING CHECKING SUGGESTIONS_______________________________________
-layer name spelling (do not use my forum post as a guide for good spelling)
-Use the offset tool on any chain of entities you want to check for 1. Consistency, 2. Connection, and 3. Stray lines that intersect the loop that shouldn’t. The offset tool will fail on any shape that has stray single lines jutting out at an edge. This is useful as a check for instances where the machine does not accept a dxf when there is spotty geometry on the critical outline layer entities.
-Use the layer visibility to check that proper layer names are applied to the right entities. Again, groups should always be called Layer 0 so the entities within can be tested using this method.
-Use the fact that S.U. auto surfaces any looped line segments to check for a tiny break in a surface by subdividing by crossed lines, the open spaces will point the part of the geometry with problems. There is a plugin for this, I can't remember what it is.
-Using the styles, architect view for a drawing allows you to see segment ends easier.
-If a dramatic outline shape refuses to cut because of some feature error, go back to S.U. and take the 2d shape and push/pull it into a 3d shape. Group it (important) Make a giant rectangle in the xy plane, group it, and intersect it with the problem shape halfway up its newly extruded height. Intersect one of them, and delete both the giant rectangle and the extruded shape, you'll get a nice outline that should be without stray lines. This is a cheap and easy way to force a very complex geometry to be a closed loop of entities.
-you can check any open loop of entities if they are truly connect all around by drawing any little line along an edge (be sure to rename this the appropriate layer).
-if you need a way to get a side of a shape to lay flat, use the unfold plugin tool, or there is a way to apply the rotate tool (not the group move handle plus marks) to any axis. There are tutorials on this on the web.
-On the cnc machine control nesting plot of what will be cut, zoom in (Control +) on the part areas to see where the dxf drawing is having accuracy problems. This is the easiest way to find out what entities are not drawn in a way the machine can understand.



CUTTING OF SMALL PARTS AND COMPLEX PART SUGGESTIONS:
LDF –Clean edges, 0.375 helix rough leaving 0.015 on walls and 0.025 on floor, 0.25 straight single flute finish pass and freeing part pass makes a nice looking circular saw quality clean edge.
LDF tiny parts (smallest I have ever cut was 1”x1” square out of 0.75 thick porus LDF on a vacuum table) All cuts done down to 0.030 skin, final part free cut done with 0.125 two flute straight bit as the cutting forces are very low.
Finish laminate or finish sanded Maple board. All penetrating passes with 0.375 helix up cut are preceded with a 0.125 2 flute straight pass at 0.035 depth. The tiny 1/ 8” bit has next to no cutting forces to tear or rip up the material so using it first on outer part edges is great. This method works for all laminates where tear out is a concern typically a compression bit would work well but a chip clearance pass seems out of the question.
Open frames on vacuum tables where there is next to no surface area to hold parts. Cut order that works well:
1. All non-penetrating surface detail (dados, blind holes, text carve etc)
2. All drills down to 0.035
3. All inside loops down to 0.035
4. All outside loops down to 0.025
5. All through holes to table
6. All inside loops to table
7. All outside loops to table. (part is free)



DISPLAY WORK SPACE AND EFFICIENCY SUGGESTIONS__________________________________
Have the following toolbars visible: (go to view, toolbars to activate)
-edit, fredo6 tools, layers, measurements, principal, bz_toolbar, views, Tig.smart offset, round corner
Have the layers list open, keep layer 0 as your active layer, check mark hidden layers as needed
Keep your non-mouse using hand on the keyboard and make shortcuts for all the keys it can reach easily. So one hand is the drawing input, and the other is the task/operation input. As your non-mouse hand learns the keys you will be able to draw like a Boss!
The following hotkeys work for a left hand on the keyboard (go to model, preferences, shortcuts to program them in by typing in the search term, then pressing the key and clicking on the plus symbol to add it)
c for draw/shapes/circle
h for view/hidden geometry
k for view/edge style/back edges
w for camera/zoom extents
f2 for tools/push/pull
f3 for tools/rotate
f5 for tools/scale
f6 for tools/offset
f7 for file/export 3d model (dxf option that is best for exporting to cnc software)
a for draw/arc
b for draw/bezier curve
-Use camera, parallel projection mode when drawing as it helps in showing what the top view (along blue axis looking down to xy red/green) contains.
-Depending on your drawing style, I find it easiest to work with 'Layer 0' as the active layer and draw everything at one layer 0, then selectively apply layer names to very specific lines to title the cut paths.


IMPORTANT SKETCHUP PLUGINS
There are more to be found on line, but here are my favorite and most used:
Important Plugins: (download the Sketchucation plugin first, it requires registration and allows access to one button click download of plugins)
FREDO6 BEZIER SPLINE (Amazing Illustrator level curve line management tools including the BZ-convert to Catmull spline and the polyline segmentor increase tool, provides the opposite to explode curve)
ROUND CORNER (makes square edges round)
SELECTION TOY (can select a large network of lines or faces)
TIG SMART OUTLINE (smart offset line tool, can do multiple shapes at once so that one cutpath can be distributed among many parts at once)
EXPORT STL (good for 3d printing and export to mastercam)
EXPORT IGES (good for exporting 3d carving surfaces to mastercam)

For more complex 3d sculpting:
Slicer (good for aircraft style frame design and building)
CURVILOFT (drafts 3d skins between multiple shapes with a selection of math curve fit profiles)
FREDO6 JOINT PUSH PULL ( Allows shell creation and complex TIN manipulation)
FREDO6 FREDO SCALE (Allows scaling skews, sheer shifts, 3d part twisting/licorice twists of shapes, and full shape bends)


#######################
SketchUp --->.iges-->Mastercam For 3d carved surfaces
Procedure:

In SketchUp: (not sure if Pro is required for this?)
Explode all surfaces, no groups, no reversed surfaces (in SketchUp vew style should be default to see reversed surfaces as blue), no surfaces inside shapes, no stray non-surfaced lines hanging out. Any drills should be unexploded circles extruded into material with no tops.
standard axis orientation with big parts setting with their long axis on the x axis (10 foot tables).
To make it easy on the offsets to keep track of, place the part as if it is on a table where 0,0,0 on screen= the cnc table 0,0,0. See the Thermwood CNC manual for details on the table size.
You can export more than one part from S.U to Mastercam at a time, as long as they are on same xy plane.
Using the SketchUp export with tools-'IGES EXPORT' plugin:

iges_export V0.7
[Plugin] IGES Export - 27 February 2012 ? SketchUcation Community Forums

it will produce a file without a .type naming convention, open the folder where it is located and manually rename it with a “.iges” ending.

In Mastercam:
-open up Mastercam normally,
file, file merge pattern, (select your newly renamed ###.iges file)
Pop up: "Scale current part to metric?" -no
Alt-f8, at bottom "current:" select default from pull down, it will "scale current part to english" -yes The part should appear, check to see that the origin is correct. Check the dims of the part by going to stock setup and select bounding box. The origin that appears on the screen will be the default machine table origin unless offsets are applied in mastercam or at the machine offset table at the cnc console.

Here the curved (albeit) polygon meshes import as carve-able surfaces by any of the many 3d contour, rough, finish and high speed toolpaths.

For future shapes where you like the same cut paths but need them applied to a different geometry you can save as, delete all the geometry on the screen (your cut paths will get red error symbols) Then file, file merge pattern, follow the earlier steps for bringing in a geometry(this allows the lifting of already developed cut paths to transfer to a new part if you already have some cut paths on your screen that you like the settings on)
Notes:
-The rough or finish contour cut path is useful for basic quick machining.


At the Thermwood CNC console: (very dependent on your Mastercam post-processor)
Edit G code watching for Z SHIFT = your material thickness or zero, depending on your post processor. Run a ghost pass always to check for problems as well as a block step for difficult areas.
Manual substitute the G2L2 to position the part where on the table you want. I often draw out the physical part on sketchup, located exactly where I want it to cut on the table. There are other ways to do this by updating offset tables anywhere along the way but meh..

##########################
Adobe Illustrator --> Sketchup --> Thermwood CNC router
I use this procedure for text importing of Adobe Illustraitor into Sketch Up to make densely segmented curves for smooth CNC cutting.

In Illustrator: (This is a modified procedure from (Help) EPS to SketchUp ? SketchUcation Community Forums)
1. First check if object-path-simplify measure Make sure straight lines starts off unchecked
2. Select all
3. Go to Type-Create Outline
4. Select all
5. Go go Object – Path –add anchor points

Do step #5 multiple times for 3” text = 4 repeats of step #5, For 10” tall text needs about 6 or 8 repeats of step #5). Do more of these as needed to increase the segments aka reduce segment size so the cnc machine can interpolate between the points.

6. Select all
7. Object-Path-Simplify check the straight lines box, make sure angle threshold is at 0
8. Export dxf

This should bring into Sketch up pro a very dense drawing with many many line segments. The downside of this is that Text fonts with very simple lines have hundreds, but curves come out well. Remember that line segments below 0.060 inch cut smoothly and 0.100 segmented curve lengths tend not to.

CLOSING NOTES AND SAMPLE DRAWING PROCESSING TIMES:

Please feel free to critique the process. It is set up to combine the fastest drawing utilities in Sketchup with the fastest dxf file conversion with Thermwood CNC to produce finished and working g code for panel board products and box/shape construction.

The following are sample times for creating a dxf from pencil sketch or jpg of image to the start of g-code working on the machine.
30 letters of cut out text acrylic: 2-3 hours file processing time,
30 letters of cut out text sanded maple ply: 3.5 to 4 hours.
Acrylic box with dado miters 10min,
MDF mitered box 15 min with use of 3d warehouse file of all ball end miter depths of cut grouped per miter box surface angle ready to be placed at 2d part edge, all done in the Sketchup file.
https://3dwarehouse.sketchup.com/mod...ac8f193878e4bc
Maple 2d calligraphy engrave from jpg (mostly curve cleaning time): 3-4 hours
Buckyball shape or other irregular box with similar angles: 1 hour.
Irregular box with no right angles or repeated parts: 2 hours.
Box with clean mitered edges and lock together hidden finger joints: 2.5 hours.
Large irregular wall construction shape with dado locking ribs: 4 hours.

If you need help with any S.U. terminology, please see some of the hundreds of Youtube videos detailing all of Sketchup drawing functions. The user base of Sketchup is in the 100k amount with several hundred logged into Sketchucation.com forums every day.
Sketchup Make is a free 3d drawing program that is VASTLY expandable with the use of user written plugins that add buttons to the toolbar. You may be able to get a .dxf plugin exporter but I am not sure. I know and use a .stl file exporter for 3d printing now. I know there are several folks working on a direct G code exporter plugin. The Pro version of sketchup that costs, comes with the required shape join and difference tool functionality as well as the .dxf export option. There are user community created plugins for just about everything the Free Sketchup Make does not do.


Cautionary note:

All of this information is based on internet research, testing, my version of software, and my general ignorance; which are all important factors in its accuracy and error. Real testing with your particular situation and ample professional caution is the only way to avoid injury to yourself and your machine. The obvious is obvious but problems with drawings are not.



End