Detail loss exporting to DWG

I am trying to export curves to DWG. These curves are generated in grasshopper with interpcrv through many closely spaced points. When I export them to DWG, some of these curves are simplified. How can I get the DWG to be as accurate as possible? This DWG will be imported into Fusion360

Rhino curves:

DWG curves from export:

Settings used:

160620 DWG Curves_1.dwg (125.4 KB)
160620 Rhino Curve_1.3dm (329.1 KB)

Uncheck the chord height and adjust if necessary… that will give you the accuracy.

I tried setting both the maximum angle and the chord height options to a very small number but neither had any affect. What did work was converting the model to mm and then exporting it. That got me thinking and I tried setting the model tolerances to a very small number, but it did not remedy my problem.

The basic issue here is your Rhino curves are NURBS curves and AutoCAD does not support the entity type.
The Rhino curves must be translated into some object type that AutoCAD supports.

I don’t think you’re going to get an accurate translation using any of the export settings.

Instead, in Rhino, I would use the Convert command to replace the NURBS curves with chains of Arcs, which AutoCAD does support.

Use these command option settings:
Tolerance=0.01mm or 0.002"

The tolerance controls how far the arcs will pull away from your NURBS curves. Your machining process and project will determine how much is OK. The distance is in current model units.

Then when you Export to DXF, use the “CAM Imperial” export scheme for inches and “CAM Metric” for millimeters.

Always check your DXF file by opening it in Rhino before you send it for cutting to make sure it looks good.

Here’s a link to the settings I’ve found work well. Note Explode Polycurves and Split At Kinks are checked.


Edit, I see the setting I linked above doesn’t work with these curves. Tried a few things but no luck yet.

Your curves have control points every 0.008" apart.
Why do they have so many points?

I’d suggest using RebuildNonUniform with a tolerance of 0.002" to dramatically reduce the excessive number of points in the curves.

Using that, I rebuilt one curve from having 375 points down to 40.

@Hughes_Tooling, thanks for the response. We just had this conversation on the Fusion360 forum the other week. I’m trying to do v-groove milling, so I don’t want my curves to split up any more. There are already hundreds of them and I am not able to window-select my geometry in CAM mode for some reason, so I have to click each one individually.

@John_Brock, These are toolpaths that are used for milling hatches of a very specific variable width. I might try turning them into polylines instead since they are so close together. They are generated in grasshopper.

Then the arc fitting is the best approach since G-Code support lines, and arcs. Maybe set your conversion tolerance to 0.001" so any deviation is lost in the spindle runout and stepper slop.

Ir it’s going straight to toolpath generation, try using IGES instead of DXF so you don’t have to do the conversion manually in Rhino to accommodate the limited data types imposed by the DXF file format.
IGES has been the standard to G-Code for a long time.

Unfortunately, curves exported in IGES files are not recognized in Fusion360.

What a mess.
DXF it is then.
Do the Arc conversion as I described earlier with the tight tolerance and you’ll get good arcs that will make good g-code toolpaths.

Actually, DWGs seem to work the best. When I converted my model from inches to mm, the curves seemed to export properly. It may have been that the values I was working with was too small (mm does mean x25.4). I don’t think Fusion 360 is liking my polylines- import is taking forever (not sure if its a symptom of having to sync to the cloud (only 2.5mb though) or the fact that Fusion needs to convert the polylines to it’s own format).

I tried your convert method and it seems to work- I just have to make the tolerance .0001. The result does have noticeable differences from the original (very small at stiff bends). The inch to mm scale change method I did before produces what looks like 100% accurate curves.

I just tried exporting to Bobcad as igs then exporting as DWG from Bobcad, the DWG imports into Rhino and seems identical to the original, when I import into Fusion there are still problems though. I’ve attached the DWG.

You might find Fusion will be very slow if you convert to polylines, because it parametric it’s scanning all the time looking for mouse movement over points and looking for snap points etc. and things get real slow with too much information in a sketch.


Edit forgot the DWG
temp.DWG (284.4 KB)

Have you seen this on getting g code output from Grasshopper.


Here is a 3dm file after doing the convert to arcs I described and also a DXF exported using the CAM Imperial settings.

See if this holds the accuracy you need.
160620 Rhino Arcs.dxf (210.8 KB)

160620 Rhino Arcs.3dm (335.2 KB)

@Hughes_Tooling - I think I’ll stay with Fusion for CAM since it is a more complete package. Plus I would not know how to edit the G code so that it works with my machine anyway, and Fusion has a post for my machine.

@John_Brock - I agree that converting to arcs does get me very close to where I need to be, but I am curious to know what it is about changing the model units that allowed me to export the interpolated curves with no distortion. I tried changing all the tolerances to very small numbers (more than 25.4 time smaller) but exporting would not work. Side note: I tried importing your DXF into Fusion and it did not work properly- I think we ought to stick to DWG.

Larger units make for more polyline segments that fit your degree 3 NURBS curves better.
It still makes for a very inefficient (larger than it needs to be) file.

Since you need Arcs for G-code and need DXF, the intelligent work-flow is to do the arc conversion in Rhino before you export to DXF so you can control the accuracy of the conversion.

My latest findings back up what @Hughes_Tooling said about polylines. By converting the interpolated curve into a bunch of arcs, it becomes sort of like a polycurve. It exports and maintains its detail fine (verified with Rhino), but when I import it into Fusion the curves break up. Instead of being an single curve, it becomes many small segments- and that really messes up in Fusion.

@John_Brock So currently, converting to mm and then exporting is the only method that works. I am exporting the file with the settings shown in my original post- not CAD Metric. In the export process, does the model tolerance (in the options/units/model menu) have any influence on the export tolerance? In theory, if I lowered all the export tolerance to .0000001 (or something many time smaller than 25.4x the current) shouldn’t that work with the model in inches- but it is not.

You should edit the default CAM Imperial and CAM Metric export schemes to see what they control. There is a control for exploding polycurves that is on by default.
Turning that off may correct the issue you described. Also the simplification tolerance may be of some use. I turned it off in the DXF file I produced and sent.

The tolerance setting in arc conversion should be set to the machining process tolerance. Anything tighter than that will increase the number of arcs to no advantage, and looser than that may introduce visible artifacts in the machined surface.

Did you test your process using the files I sent?

I did test out your files.They look good in Rhino, but don’t import correctly in Fusion. I am aware of the explode polycurves option, and I have it deselected. When deselected it looks like one curve in Rhino, but it takes forever to import into Fusion and results in many small segments. It wants to break the arcs up. As an interpolated curve it cannot because there are not natural breaks.