I can't export to DXF, AI, or DWG

In the uploaded file “Top plate.3dm” I used to command “Make2D” on the polysurface on the left. I then joined 590 curves into 84 closed curves.

I then tried to export the selection to either DXF, AI, or DWF so they can be opened in Adobe Illustrator, which is a requirement of the company that does laser cutting. When I try to open any of the three saved files all of them result in a blank page.

BTW, when I create a simple square, rectangle, circle, or anything else, it doesn’t work either.

What am I doing wrong?

Top plate.3dm (6.4 MB)


I don’t know how to solve your problem, but I recently have written a custom .dxf export for another app. In case you know how to script, writing a custom .dxf file export is doable within a couple of hours and it’s well documented:

This is a minimal example:

The wiki article also contains the .pdf explaining the file format

    A custom dxf line export
  8       -> Layer
  0       -> Layer Name
  10      -> X coord (Start Point)
    5.0   -> (value)
  20      -> Y coord
  30      -> Z coord
  11      -> X coord (EndPoint)
  21      -> Y coord 
  31      -> Z coord 
 0        -> End

(If you try this, remove the remarks)

So essential harvest all lines and curves from the Rhino document and write it to a file.
Write line by line (and frequently flush the stream otherwise writing takes ages). The only thing you need to tweak is the Entity section. Also make sure no empty lines stay… For other geometric types
look at the description of the .dxf manual (on the wiki page)

Your file exports just fine here in DXF. Some points to check:

AI has a concept of a “canvas” of a specific size. In fact the dxf may be fine, but your objects may be off the canvas somewhere. You can try moving your objects closer to the origin before exporting and make sure the canvas in AI is big enough to accommodate them (the objects are a bit bigger than 300mm square)

Don’t export the polysurface in the DXF, AI will not necessarily understand that.

I might also try not to have the $ signs in the layer name - obviously this was on a sublayer in Rhino, the :: sublayer separators in Rhino are converted into $ for DXF export. Try moving the objects to a parent layer and re-exporting.

If all that fails, please run SystemInfo in Rhino and copy/paste the results here.

Bingo! (Slaps forehead) Thank you. Never thought of that. Not only was the size of the dxf import much larger than the actual object, the lines also had no color. The object was so large that the canvas was when it filled the screen was completely in between the lines of the object. Once I zoomed out and hit Command-A in Illustrator I could change the color of the lines and see everything. I then also discovered that I had to change the units in AI to match the units I used to create the object in Rhino. Then the object imported with the correct dimensions.

I didn’t do that. That’s why I used the “Make2D” Rhino command.

Where do you see a $ sign in any of the layer names? I don’t see that.

You have to pay more attention to what you read and write. He said Sublayers in Rhino are written in the following notation: ParentLayer::ChildLayer and the :: is replaced by $. If you look into the raw .dxf file you will see this.
And please don’t write you can’t export to DXF if you are able to export. This just wastes everybody’s time. Your problem is that you cannot properly import to Illustrator. But this is a question you should rather ask in the Adobe forum.
Because obviously the Illustrator DXF import is not clever enough to ask the user to adjust color and scale information, just as the Rhino DXF Import does.

This is what the layer structure looks like in Rhino -

Using Make2D always creates sublayers.

This is what the layer structure of the DXF export of just the linework looks like when re-imported into Rhino:


The $ signs are probably not a problem, I was just trying to eliminate all possibilities - some programs in some languages might have problems with “special” characters in object/layer names, which is why I suggested getting rid of them if all else failed.

Also, if you have flat plates with holes in them as you show in your .3dm file, instead of using Make2D, you can use DupFaceBorder on one of the faces of the plate to get all the outlines, then ProjectToCPlane to flatten them on the Z0 plane before exporting. And, of course, if you were the person who designed the plate, you probably have the original curves that created it - just export those…

Well, to a mediocre user of Rhino like myself it seemed that I was not able to export.

I wonder why you are being so rude to a person who is obviously not as adept at using Rhino like you are. Writing bold in Internet parlance is like shouting. Was that really necessary?

Helvetosaur was a lot kinder about it, and provided the answer and a solution to my issue without being a dick about it.

Thank you for that clarification.

I did know about the sublayers in Rhino. Those were obvious a soon as I used Make2D. However, I never imported the DXF file back into Rhino. That was not necessary.

I sent the DXF file, as well as the AI file to a service provider to get a quote for the work I want to get done. The job would be laser cutting this design in 304 stainless steel sheet.

The last paragraph in your reply went completely over my head. :wink:

My Rhino skills are fairly limited albeit suitable for most of my needs. Every once in a while like this time I come to the forum in search for answers after online Google searches don’t provide solutions. Almost always people are very kind with their support. This time I was told by one that I am wasting people’s time.

FWIW, the attached image is the design I am working on.!

Screen Shot 2021-03-29 at 8.44.04 PM|654x500

DXF is pretty much the “gold standard” for 2D files when working with industrial cutting service providers (such as those that laser-cut stainless), AI is more often asked for by signmakers and the like.

I imagine your parts started out life as 2D curves which were extruded to form your 3D plates. That’s why I suggested exporting the original curves if they were still available. Otherwise, if parts are composed of flat (planar) surfaces and you no longer have the curves that generated them, a quick way to get back the entire 2D outline of a face is to use DupFaceBorder (look at the Help for the command). In principle you need your 3D model for design and visualization, but laser cutting is 2D and only needs planar curves.