CNC files from Rhino

Hey All,

I work in rhino for mostly 3d work, but also have projects that require me to output files to be CNC cut on waterjet and laser… Currently, I use the convert command to change spline curves to lines and arcs and then export a dwg file. In order to get the output lines and arcs to closely match I end up creating way more points and complexity to the files. I always check these files in trueview and they look good, but inevitably the people at the cnc companies seem to always ask how these files were made because they seem inefficient. Recently I was told that not only are these files overly complex, they actually cost way more to cut because of this. I always knew they were complex files, but never realized they were actually costing me more because it takes longer for the cam program to sort them out…

Curious if anyone has some suggestions or tips to create less complex files, that still match the original splines in rhino? I know I could use different software, just really like working in rhino…
stake_sample.3dm (5.5 MB)
I’ve attached a sample file for you to check out. I want to cut 600 of these on a sheet and it creates a 30mb file and the CNC guys are saying it’s going to cost way more because of this.
Really appreciate any info or suggestions
Thanks

They’re taking advantage of you imo.

They’re being dishonest – imo.

The formats I recommend for CAD to CNC are: stp/step, igs/iges, stl. I don’t recommend dxf or dwg – those are obsolete imo. The only time I ever deal with a dwg or dxf is if I’m importing a file from someone using ancient technology.

If a CNC shop can’t handle processing files from one format to another, and they use it as an excuse to charge the customer more for it, then that’s a really silly excuse in the overall process – imo.

Maybe their water jet machine and/or their CAD/CAM systems are obsolete?

With my CAM system, indeed, I still use linear line segment output, because I still don’t have the technology to post spline curve Gcode files, but my CAM system handles splines just fine.

My CAM system will take a spline for example, or NURBS data, and merely convert it into linear line segmented code from there – based on my system tolerances.

From my end, I would prefer the customer to provide me the original spline geometry if they’d like. But their segmented data is fine too. And if I had to use their dxf or dwg data that’s ok too.

And a 30mb file is perfectly fine too.

Meanwhile, I noticed the ‘converted’ geometry in your sample file is ‘degree 2’ data, and I expected it to be ‘degree 1’ data, so maybe I’m misunderstanding slightly.

Put the company on the spot, have them tell you how to make the file “better” for their process.
If they cannot explain, find another service.

I don’t see anything wrong with this file. Obviously the machine is not going to run at the same speed on the curves as if it was cutting a long, straight line, but how much the machine will slow down depends on the type of machine and material.

A CNC router is often slower, since the tool is dragging in the material, but there could be other issues depending on the specifics.

What is the material and what is the cutting machine?

3 Likes

Use the Convert command to make arcs.

  • *Set the Angle tolerance to zero to disable it.

  • Then use the Tolerance to control how far you are comfortable with allowing the chain of arcs to pull away from your NURBS curves.

The dots on the preview will show you the arc converting will replace your NURBS curve.

Then when you Export to DXF, use the CAM Imperial export scheme for inches and CAM Metric for millimeters. Both of these export simple geometry as lines and circles.

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

Another option is to export using the IGES file format. Nearly all CAM applications support curves through IGES. Choose an appropriate IGES export option configuration for your CAM application.

Cheers

2 Likes

Usually cutting steel or aluminum with laser or water… they do explain, they say the file is overly complex and that takes the machine longer to read.

1 Like

So where I’ve run into this sort of thing is where the exported curves are “exploded” so the machine is constantly stopping and starting, taking forever. Could that be the case here?

1 Like

John,

This is the method I use to convert, however I save as a dwg with R12 natural settings so maybe this isn’t helping?

I offered to send an IGES, but they said that the splines would still have to be converted and would lead to the same issues.

1 Like

Yeah, this shop doesn’t want to deal with splines but it does sound like they potentially would, but then, yes they want to charge me for that process… Its a bummer because I’ve worked with them for a long time and most of the time their pricing seems good.

I use the convert command to change to arcs and don’t see a degree setting, but wouldn’t 1 degree be all straight lines?

Its sounds great that you will work with splines, but in my experience with CNC shops so far they all want arcs and lines… Perhaps I need to search for some new vendors.

1 Like

CadWork?

That’s what I usually set as well, but in this case it doesn’t work ok.
3° is better.

I’m not used to inch, so I scaled the geometry by 25.4.
And used this _Convert settings:
Ausgabe=Bogen EingabeVereinfachen=Nein EingabeLöschen=Ja WinkelToleranz=3 Toleranz=0.01 MinLänge=0 MaxLänge=0 AusgabeEbene=Aktuell )

Result is ok and i no way a large and overcomplicated file.
See here:
Rhinofile.DXF (534.2 KB)

What? That website appears dysfunctional. This link seems to work okay https://cadwork.de/

@martinsiegrist do they have stl, igs, stp formats?

and here I almost thought I was crazy :sweat_smile: :beers: cheers!

why would anyone use dxf :joy:

@glassrobot you should demand a discount unless they learn how to use igs :sunglasses:

DXF… everyone here always wants DXF for timber applications.

1 Like

mostly messin’ with ya. I honestly don’t know the benefits I’m missing by not using dxf though…

I should probably research it…

And grandma cut the ends of the ham before it went into the oven.
Her daughters and grand daughters cut the ends off too.
Grandma cut the ends so it would fit in her pan.
Her offspring have forgotten the reason, but By Gawd, that’s how we’ve always cooked a ham with the ends cut off!

6 Likes

Yes, I was sick of that and it was part of the reason why I established my own little business a few years ago.

1 Like

Yes. I was just relating what I mostly deal with in CNC Gcode data (linear line segments).

The only time I know of in CNC when an arc can be used is when you’re code is planar (or parallel rather) to one of 3 planes, XY, XZ, YZ for example using ‘circular interpolation’.

So, maybe on a 2D water jet kinematic machine, then arcs would make sense – unless the post processor or machine behavior is deficient. But why would a CNC company blame the customer if their machine stutters on the inflections between arcs…

Sounds like a machine problem, not a geometry problem. It could also be a programming ‘lack of skill’ problem.

I would expect a CNC company to be able to smooth everything out within tolerance of design intent. Maybe they need larger ‘GD&T’ tolerance? Tolerance is really the bottom line, I would think.

If the code they’re feeding their machine is super dense, and their machine’s servo couplings are hard material, and their ‘gain’ settings are super tight, then the machine might bang and stutter all over the place – without proper adjustments from the programmer and operator.

And if their machine was built in the 90’s (inside joke) then maybe they need an upgrade :slightly_smiling_face:

Yes, while I usually post process the majority of my code into linear line segments with occasional arcs and helices etc.

I’ve been dreaming about the mystery of true high speed machining using splines for almost 1.5 decades now. I think some machines can do that, but it’s always been a mystery to me.

1 Like

OK, I think I have an idea of what is going on now … “overly complex” I would assume to mean that they don’t like all the small arc radii.

Even a laser that’s typically only moving the mass of a flying mirror assembly is not going to go full speed on the small arc radii. There is still going to be some Acc/Dec. So its going to be relatively slower whether it is a new machine or an old one. It will also be slower regardless of the type of CNC although the ones dragging a tool in the material and a heavy gantry assembly will be impacted the most.

I don’t think they are being dishonest … They probably have plenty of jobs cutting rectangles, and your job is unfortunately not that attractive compared to rectangles, so they are going to make you pay a speed penalty.

If they were hurting for work they might not care that your job is going to run longer.

1 Like

I was just about to say the same thing. That shape will be very slow to cut as the machine simply can’t change direction quickly enough. We have three big CNC cutters here; a steered blade cutter, a 3-axis router and a laser. If I got a file with lots of tight radius direction changes in it like yours, I’d charge a premium too.
In other words, it’s got nothing to do with the file format and everything to do with the actual shape.

stake_sample.3dm (2.7 MB)

Greetings Robot,

My methodology for working with this file would be to: select all - simplifycurve - converttobezier (delete input) - save as dxf v12 ‘natural’

This reduces your curve-count to 567, and every one comes through clean in AutoCad.
All of the 4-control point bezier curves are forced to 3-point arcs by the dxf save, so some fine detail is lost. You will have to make the call about whether that is acceptable.

Give it a try, and see if your shop friends are more agreeable to cut it.

Alternatively, rebuild after the converttobeziers and force a 3-point, level 2 rebuild, then save as dxf v12 ‘lines and arcs’.

One of these methods ought to satisfy your shop by reducing the curve-count per unit.

2 Likes

Absolutely!

This is a good Design for Manufacturing (DFM) example …
How do you give the customer a unigue and functional product AND make it cost effective so the company producing them can make a fair profit as well as the seller?