"Simple DXF" CNC exporter

Continuing the discussion from .dwg export curves are reversed:

I spoke to Gkernan privately about putting this thread together and he agreed with the idea. I hope I haven’t made a pigs ear of it.

Cabmaker32 link for “Simple DXF” https://cabmaker32.com/products/

SketchUcation link for (with video) for “Simple DXF” https://sketchucation.com/plugin/2105-gkware_simple_dxf

It’s difficult where to start this thread as information about the plugin is scattered around the forum in several places. But, I thought it would be an idea to start a thread devoted to it now that the author @gkernan is planning on developing it further. Where users can ask questions and provide feedback and suggestions in one place rather than in the other threads which discuss the problems it solves. Gkernan could also post updates here and tutorials or tips for the plugin.

“Simple DXF” is a DXF exporter for SketchUp that solves the issues of certain users having Arcs mirrored for reasons unknown in their CNC CAM software upon import. It plays nice with CNC CAM software. It were originally brought about from the problems outlined in this thread by several users…

Another user more recently reported the same issue in the first mentioned thread above…

The discussion once again turned to “Simple DXF” being a useful solution posted by myself, then the author Gkernan posted with plans of further development and the topic begins to swing. This discussion is a follow-on from there…


@gkernan The flattening button sounds really useful, I look forward to that.

I mentioned it before but documentation would be good. Videos for more complex scenarios and using layers for operations in your experience would be useful too.

I wonder if you could change the starting point for an operation? Although I could do this in the CAM would that be something worth looking into?

This issue with arcs\cutting direction and g-code has existed as long as cad programs have existed. I first dealt with this issue in version 9 of AutoCAD back in the late 80s and the fix back then was a lisp routine called reverse poly.

There are many details in cad programs that can cause the generation of bad part geometry required by programs that write g-code. Bad arc\circles in some cases is the issue but most of the time it has to do with the creation order of lines and arcs that make up part geometry.

Post processors, (programs that write g-code) get their directionality or what we think of as cutting direction from the order entities are created in the drawings. There are multiple factors that influence entity creation order but now that Garry has written Simple DXF there’s no reason to think about this.

After you create a part dxf with Simple DXF you can re-import it and will see a leader with either CW or CCW to signal the cutting direction. If you need the opposite from what Simple DXF wrote the first time, simply flip the face and then re-export the part and this will reverse the cutting direction.

As I wrote above, I first ran into this issue 30 years ago with AutoCAD. At some point I switched to TurboCAD which also had the same set of issues.

Sketchup with Simple DXF addresses all those many issues that have existed between CAD and CAM programs for years. You get the productivity Sketchup provides and exactly what other software needs to create accurate g-code.

1 Like

@gkernan I’ve been successful with everything I’ve thrown at the exporter so far regarding arcs.

Today while doing a few practises with my CAM, I’m seeing some inconsistency with direction on the current example I’m working with.


Some of the “notes” outside paths have CW direction, but the normal face orientation applied to those should be giving CCW direction as per the others?

I realise that reversing the face will fix it but the others seem to be following the rule ok. I thought I’d share it for your interest. Perhaps it’s just the way I set it up?

I know there is a combination of flip in 2 directions where I am not happy with the cutting direction. And as you say - you can always reverse the face.

I am digging into a number of improvements and might be able to solve this when I revisit it.

For Now I’m looking at:

  1. Start of poly line indicator
  2. Nested components / Groups
  3. A configuration choice if you want the outermost container (group or component) transform to be applied.

I’ve determined that I’m going to have you place a pin where you want to the start of poly line to begin.
At this time you need to apply it to the actual edge. I might be able to dig down and find it - but I’m only going down that strategy if it can be 100% correct.

I like the fact that the DXF output can be imported straight back into the model for inspection and quickly adjusted if needed without the need for any other cad. It’s a nice feature where I can see the direction of everything in advance. Granted, the example I posted is bit more complicated than some examples I’ve seen but the plugin still produces good DXF for everything. I’ll just have to observe the directions and correct them as needed per file. I thought I’d show that happen anyway.

The startpoint addition looks good so far. It doesn’t always matter, but for some shapes (maybe text) it can have an effect on the cutting of the shape itself and have undesired results if a path is started in certain places. Also, with multiple cuts it shortens the amount of travel between cuts if you can place them strategically. I’m just thinking of different scenarios for it to be used.

One obvious place is where you have a straight cut (dado). There is no face - so Start Point becomes extremely important.

1 Like

@gkernan . Ok, so I finally have a moment to test out the DXF exporter on some of the problem files I have. But currently the exporter crashes sketchup every time I press the export button, even just exporting a circle. I must be set up incorrectly. I’m using a trial of v103 on a Mac running Mojave. Am I missing something obvious? (it’s pretty late here).

We can look into this tomorrow. I am currently working on the next version which makes it easier to work with starting points etc.

Have you seen the videos?

1 Like

Thanks, I’m sure there is a simple reason. I was looking for a video for the exporter but didn’t see it, is it there with the others under tutorials? No rush, just still looking for a working pathway to get lines from my screen into a piece of steel of plywood. :smirk:

Could you provide a Sketchup Model that crashes. I’d like to analyze it.

I now have start of cutting path working. Who would like to try it out?

One lab monkey right here :raised_hand:

GKWare_Simple_DXF_v1.0.4.rbz (113.1 KB)

Are you able to assign the Startpoint to a Midpoint of an edge? I am able to get it on any Endpoint, but not Midpoints at present.

Although my newer CAM seems to compensate for the geometry, I think some CAM might have issues like this below. The ability to start the cut at a Midpoint would avoid the problem altogether?

(The radius of the cutter would of course be present in the actual cut piece corners)

Simply break a line into 2 separate lines

Aha yes, good catch. From what I see it seems to be working well here in that case.

I’m sure I’m doing something wrong on my end because it crashes on a single circle as soon as I press the export button. I could not find the tutorial video for DXF exporter on your site, is it included in the other videos? With a link to the setup video the I’m sure I can get it running. I’ll include the file and crash code here in case it’s useful. Thanks.

Circle.skp (1.7 MB)
SK crash.pdf (205.1 KB)

It isn’t set up correctly.

You have raw geometry (circle) in the model.
You must have an empty container that contains each group / component that contains geometry.

All I did was to select your geometry and make it a group named Circle Geometry just for clarity.
Then I used a temporary line so I could select Circle Geometry and the line and make that into a group I name Main Container. Then I deleted the temporary line.

This exports just fine.

Thanks for your help. Hmmm… so the raw geometry needs to contained twice, in other words, nested at least once? So in theory this file should export, but it still crashes.

Circle.skp (1.7 MB)