14

Blender has 3d printing tools as well as STL exporter. That is good for both hobby 3d printers which all use programs which use STL (eg. Repetier-Host) as an interchangeable format as well as professional 3d printers such as the ones by Solidscape, the users of which mostly use the Rhinoceros (Rhino) program which imports STL files exported by Blender just fine. This is also true for 4 axis CNCs.

However, getting something from Blender to be (2D) CNC milled/laser cut doesn't seem as easy. From personal experience from using services of both, common programs such services use for CNC milling and laser cutting is AutoCAD and CorelDraw. They ask formats which these programs can open. Blender can export to DXF, STL and many other formats. For some reason with the formats these programs ask, either Blender exports incomplete data or wrong/different data, because both these programs import them as wires, no surface data is preserved.

I've had this issue both with CorelDraw and AutoCAD, with different services, and both had to take my model file and modify them in their own programs by creating surfaces from those lines, a time consuming process. I have to pay extra to get the model "cleaned up" and in worst case the CNC milling/laser cutting service provider will refuse to do that and tell me to send them proper drawings, and rightfully so.

And this is not a limitation of these programs, a DXF exported by another program (for example Pepakura Designer) imports fine. So I hope we can find a solution here, I believe an answer would benefit many people who might be forced to use another program to design their milled/cut parts right now like I do.

Example Blender model (.blend is attached): http://www.pasteall.org/blend/42404

enter image description here

Now, let's look at what formats these programs can import and how they import them.

1) AutoCAD (version 2013 and 2015 tested)

From the formats Blender exports it only imports DXF. Blender can export DXF, however when it is imported only lines are imported, no polygon (surface) data.

enter image description here

2) CorelDraw (version X5 tested)

From the formats Blender exports it also only imports DXF. Same issue as with AutoCAD:

enter image description here

3) Rhinoceros (version 4.0 tested)

Being a 3D program, imports OBJ, STL, DXF, X, etc. Imports even the DXF exported from Blender just fine. Sadly, most CNC service providers I've come across don't use Rhino, mostly jewelers do.

enter image description here

I have not been able to test other programs yet such as Solidworks.

You can say since there is at least one program which imports the data, then it is not a Blender issue and shouldn't be asked. I disagree for the following reasons:

1) As I've mentioned, AutoCad as well as CorelDraw import polygonal data from other programs such as Pepakura Designer just fine. This is enough proof that Blender is at least partially to blame, or at least it can export the data differently like Pepakura does so these programs will import it correctly.

2) I believe it is important to make Blender a practical tool for designers CNC milling or laser cutting their designs. Regardless which tool is to blame, it is best for Blender to offer Blender users some way/workaround/pipeline of getting their designs as a usable file.

How can we go around finding a solution here? Since both these popular programs (Corel, AutoCAD) only import DXF, I see the only solutions being:

1) Finding a way to export DXF data so they will import it properly.

2) Finding a 3rd party tool (free or open source preferred) that will convert an intermediate file format exported from Blender to DXF which these programs will import properly.

For the record, when selecting different options in the Blender DXF exporter ("POLYLINE", "POLYFACE", "3DFACE"), nothing changes when importing in these tools.

Also for the record, if you wonder why use a 3D editor like Blender for cutting in 2D CNC, the answer is simple: 2D CNC is not just used for 2D cutouts, or more accurately the 2D cutouts might be 2D pieces that assemble together to make a 3D object like a computer case. Here's the actual model this 2D cutout was taken from: enter image description here

It had to be made in 3D to make measurements and make sure everything is in correct position and fits with the rest of the project pieces.

Leo Ervin
  • 662
  • 2
  • 12
  • 32
  • 3
    While it may not provide the export formats you are looking for I expect you will be interested in the Blender CAM project. If the g-codes it makes are not helpful, it is still a place of contact for other blender users that use blender for CAD/CAM. Also if the DXF exporter does not export correctly you should report it as a bug and help testing, so that it can be improved. – sambler Jun 18 '16 at 14:11
  • These services don't take g-code from the customer. And I don't know whether Blender's DXF exporter is buggy and what it is doing wrong, I'm asking. – Leo Ervin Jun 18 '16 at 15:33
  • You appear to have access to the other apps that export correctly. Make a simple test object in each and compare the exported file. – sambler Jun 19 '16 at 05:50
  • Compare the exported files? I'm not a programmer, I can't just check contents of a file with a DXF format reference on hand and figure something out. Nor can I debug Blender every time there is some issue, most users can't, you seem to think otherwise with your suggestions. – Leo Ervin Jun 19 '16 at 08:14
  • As far I know, Blender DXF exporter is capable of passing 3D faces (http://i.stack.imgur.com/Vwhbc.png) (did you notice your shot was taken in Autocad Wireframe view?). I'm not an expert of CNC, if those exported DXF don't work even if they are correctly imported in AutoCAD, I would suggest to add more information about the milled/laser cut file format necessities. – Carlo Jun 19 '16 at 21:55
  • What mode do you use when exporting DXF in Blender and what do you use to exit wireframe mode in AutoCAD? Could be lack of understanding of their own program by the millers. Because they want filled parts (not wires), but you say it is shown as wires simply because it is in wireframe mode. – Leo Ervin Jun 19 '16 at 22:25
  • "3DFACEs"; once clicked, the text "2D Wireframe" in the viewport's top left corner shows a drop down menù where you can change the view style; test version: Autocad 2015. – Carlo Jun 20 '16 at 00:05
  • Wow, you are absolutely right: http://i.imgur.com/eWfOSPr.png . It seems both CNC companies I've dealt with simply don't know about this because they have not dealt with DXF files storing polygon data rather than curve surfaces. Is there a quick way to convert these into filled lines? Blender has a command to convert ngons to curves, but they are not filled, I imagine AutoCAD has to have something similar. I'll let the CNC operator know about it. Thanks. – Leo Ervin Jun 20 '16 at 09:11
  • Most CNC Controllers (on the commercial end anyway) implement the ability to use a DXF file. That being said, they are implemented in their own way, and not usually per any standard other than what is in their own documentation. In other words, DXF is just a geometry interchange format. There is no standard inherently within it that will enforce a standard for the milling process. – Rick Riggs Jun 21 '16 at 00:40
  • 1
    You should find this article interesting. – sambler Jun 23 '16 at 12:58
  • @sambler I was just gonna post that! ;-) – Matt Jun 24 '16 at 15:30
  • Sorry, I just don't see how any of the answers is an answer. Alternative program to Blender is not an answer. Opinion that Blender shouldn't be used for this is not an answer. – Leo Ervin Jul 08 '16 at 22:25

4 Answers4

4

I've only had some tangential contact with the area I am not much into CNC milling myself but I think your problem comes mainly from the fact that, to the extent of my knowledge, 2D (as you mentioned) CNC milling requires bidimensional contour information of your object, that means a a 2D representation instead of the 3D object itself.

That would mean representing elevations, plans or sections of said object for export, and that is probably why they mostly use Corel (and AutoCAD to a lesser extent) as their main software.

They are illustration-type 2D layout or CAD programs because they require 2D polyline, spline or bezier curve based information to generate a path the machine drills can fallow.

Now Blender being primarily a mesh based subdivision modeling tool is particularly unsuited for this type of work. Not only is blender bad at producing 2D representations of it's objects; mesh based 3D models are particularly unsuited for extracting that type of information from them to begin with.

Mesh models being made entirely of triangles can only export polygonized straight-segment-based representations of it's geometry, not smooth curves. That is generally the role of CAD based 3D modeling software which generally used ACIS solid Modeling or NURBS based geometry engines to create it's shapes.

Possible Solution

If you plan on making primarily "extrusion based" geometry like like plates or or cut sheet based geometry, like the one in your image, maybe you can start using a bezier-curve based modeling technique instead, more suited and simpler for this type of geometry.

This will also have the added benefit of producing clean curve based geometry and you wont have to worry about triangulation or filling the caps.

You can then use some of the solutions in this answer to export it as SVG based curve. I believe Corel will be able to correctly import SVG vector drawings and produce real contours from it.

As sad as this may seem, it unfortunately still feels like a hacky workaround with inadequate tools.

Alternatives

As a side note I believe a NURBS or Solid modeling based software would be a lot better suited for this type of work, like FreeCAD or OpenCAD or if you don't mind commercial applications MoI is a really good alternative and a relatively cheap one considering the high price of the other available tools out there.

Duarte Farrajota Ramos
  • 59,425
  • 39
  • 130
  • 187
  • I have to respectfully disagree that Blender is not meant for this kind of work. Few reasons: 1) 2D CNC machines can make 3D objects that are made up of 2D cutouts. Even the above sample is a 2D cutout from one sheet of a 3D case for a professional equipment, designed in 3d in Blender. I obviously want to see how it looks in 3D so using Blender rather than a 2d tool makes more sense. 2) It might be true that NURBS based modellers are easier to use for this, but that does not mean polygonal modellers aren't suited. As mentioned, 4 axis CNCs and 3d printers use STL files which use polygons. – Leo Ervin Jun 18 '16 at 07:29
  • Continued: the suggestion to use curves in Blender isn't practical because 1) curves lack many operations and modifiers you can perform on meshes and 2) my models are already made of polygons and it took me hours to model each. As for the other tools you suggest to use, well I think suggesting another tool to use for the actual modelling besides Blender is not really an answer for blender.stackexchange. – Leo Ervin Jun 18 '16 at 07:35
  • 1
    @LeoErvin I stand behind this answer. +1 from me. Blender is not for CAD work - I don't know how many times I have to tell people, it only brings trouble. Yes, you can stubbornly try to make CAD work inside Blender, it is the same like trying to cut a steak with a spoon - wrong tool. The correct tool to use is FreeCad and alike. If you need you can always export into Blender for rendering if you need.. If you pay someone he/she could make you a working exporter, but as it is now it is no use. – Jaroslav Jerryno Novotny Jun 19 '16 at 21:03
  • @Jerryno Completely useless comment. You make statements, not arguments. You stand behind arguments I've addressed. Either make your own arguments, or respond to my responses to the arguments you support. Or don't post, nobody cares about mere opinions and statements. On top of that, good job decreasing the Blender user base with your baseless opinion you "don't know how many times you have to tell people". And were you the one who made an answer and deleted it? – Leo Ervin Jun 19 '16 at 21:18
  • 1
    @LeoErvin No, did not make answer and deleted it. There is no need for arguments, because the problem is obvious - there is no convenient way of exporting CAD files for manufacture - you already know it. Because of this I state Blender as of now is the wrong tool for CAD work. There are other reasons (mostly that the dimensions are not procedural and dependent on each other like in CAD software, so if you change 1 part you may need to change all of them), but the exporting problem alone should be a reason to use a proper tool. – Jaroslav Jerryno Novotny Jun 20 '16 at 07:11
  • 1
    @LeoErvin To prove my opinion is based on logic, read this answer: http://blender.stackexchange.com/questions/53293/is-blender-actually-useable-for-engineering/53299. There are several statements, easily verifiable, each standing as an argument why Blender is the wrong tool. I bet you don't use CAD software much, because if you did, you would see the night and day difference and we wouldn't had this conversation. – Jaroslav Jerryno Novotny Jun 20 '16 at 07:36
  • 1
    @LeoErvin And also no, I am not decreasing the Blender CAD user base. Blender itself is decreasing the user base by having no suitable tools for CAD tasks. If Blender had those tools and I was lying, not speaking the truth, then yes - I would be falsely decreasing the Blender CAD user base by negative propaganda. – Jaroslav Jerryno Novotny Jun 20 '16 at 07:46
  • @Jerryno Still completely useless comment. 1) "the problem is obvious" - obvious for you, you still have to make an argument, just because it seems obvious for you doesn't mean you can make baseless claims. This is just logic, I don't know why I even have to explain this to you. 2) Just because Blender doesn't appear to properly export to DXF at the moment does not mean it is the wrong tool to use. If this was the mentality everyone had Blender would never improve, people would just switch to Maya or C4D. And it has nothing to do with Blender not being a primarily NURMBS based editor. – Leo Ervin Jun 20 '16 at 08:31
  • "dimensions are not procedural", "polygons rather than NURBS", etc, etc. look I already addressed this (as I told you, read my above comments) just because you feel Blender is harder to use does not mean it is the wrong tool for this task for everyone, on top of that, it is simply wrong logically to turns this claim into Blender not being able to do it, which is the whole question. I asked how to do it in Blender, I didn't ask whether it's easy compared to some other tools out there. I don't care, so get over this already, will ya?
  • – Leo Ervin Jun 20 '16 at 08:35
  • No, you don't have to lie to alienate people who want to make some models which parts have to be laser cut or CNC milled from using Blender. You're spreading an idea that Blender can't do it and at the same time you spread the idea that it can't do it easily. Look, Ive made this in Blender at it's been cut from aluminum http://i.imgur.com/COiiC57.png, http://i.imgur.com/2a4TfnQ.png
  • – Leo Ervin Jun 20 '16 at 08:49
  • I've made freakin this in Blender and laser cut and glued: http://blender.stackexchange.com/questions/46113/how-to-make-all-quads-or-ngons-on-your-mesh-planar-2d , http://i.imgur.com/gEFMU7D.png , http://i.imgur.com/leSR29a.png Both weren't hard or time consuming to model via polygons for me. I don't need you telling me whether I should be using fork or a spoon, I asked a specific question, stick to it or go "help" someone else. – Leo Ervin Jun 20 '16 at 08:49