3d machining a twisted wire

Hey all, I recently came across a nice picture frame that had a decoration that looked like a twisted wire / wire rope / stranded wire along its edge and thought it might be fun trying to machine something like that. I modeled something basic in Fusion 360:

I didn’t get very far in the CAD department though. It seems like I’d want a Parallel toolpath with a constantly changing pass direction, as the tool advances along the circle. I’m not sure Fusion can produce something like that.

Can anyone think how to produce the necessary toolpath to get a decent looking result? Here’s how Fusion simulates the good portion of its Parallel:


The stepover is too big, and you’ll also need a smaller endmill to get the detail in the corners. Beyond that, it’s going to be really difficult to do the undercut.


This is a tough one to get ideal results with any standard tool, but you can improve the result several ways.

First, rough with a larger tool leaving about 0.2mm (0.008"). Then run a finish with the larger tool, knowing that it will not get the finest detail. Then change to a smaller tool and run another finish pass with rest machining. Then a smaller tool yet and do it again. The finish passes should be run with a maximum step of about 1/8 the tool diameter for this kind of convex detail. (The geometry isn’t real hard, but a rule of thumb works OK here)

The strategy is the other thing. I would not use parallel here. There are a number of other options that will hide the scalloping better, or make it look like yarns in a rope strand. The Inventor (I think it is the same in Fusion… not on this computer to check) I would go for it the SCALLOP 3D tool. You can select the surfaces to touch (or avoid).

Another option would be the adaptive, but select ORDER BY DEPTH so the residual scalloping is roughly parallel to the stranding of your feature.

You could also do this using RADIAL strategy, from the center of the arc. The stepovers will then be roughly equivalent to flat machining rather than convex (the tool path direction will be across the axis of the curvature rather than parallel to it) reducing the scalloping effect.


For giggles, I set up a similar piece. (I may run it later). I tried several strategies to see the result, and for a wire strand size of 5mm, three strands, twisted 8 full twists around a guide circle of 120mm (sweep tool), A good result shows with:

Rough with 3D adaptive, 3.2mm square end, leaving 0.2mm all around, fine stepdown 0.2mm
Second op SCALLOP, selecting AVOID for the rope (actually, touch for the flat surfaces) no stock to leave

Morphed spiral would do this as well

Third op is morphed spiral with 3.2mm ball end, AVOID the flat areas, and select rest machining fro previous op

Forth is Scallop with a 0.8mm ball end, same as previous operation. Morphed spiral would do it as well, but I didn’t like the pattern as much

Did you mean to include pictures? Can’t see any.

I will add them later. Sorry about that. I am at work so didn’t do the screen shots, and we have enough of a slow network thst uploading isn’t practical from this location.

Different site now so I have network that works.

Here are some screen shots. (note that the tool parameters- RPM, travel rate, etc are defaults. They need to be set for a particular job, material, and machine)

General setup for the machining operations

First op is an 3Dadaptive, leaving 0.2mm for finishing and fine stepdown of 0.2mm

Second op is scallop to level the flat areas and get into the corners at the base. This isn’t going to get everything due to the undercut required at some places. The undercut leads to some other finishing issues later, as well. To get a good final job, I should eliminate the undercut, either by projecting the profile to the surface or building out the bottom with a fillet. I chose not to bother here.

Note that this was done as rest machining, and 0 adjustment (to not ignore minor profile issues from the previous ops) I also selected the surfaces to touch.

Third op is with the larger ball end. It should only touch the rope feature. Again, set up using rest machining. Stepover is 1/8 of the tool diameter to minimize scalloping on the surface with convex curvature.

This is actually a pretty nice look (IMHO) as the finish looks a lot like the stranding of a rope. A little tuning or pencil work on the concave sections between the strands would tighten it right up.

The pecks at the meet to the flat surface are an artifact of the undercut at the meet. There are a number of ways to eliminate this (revise the model, force a small clearance by setting the bottom plane for the operation to be 0.001mm above the flat surface, etc) but, in this case, I don’t even know if it will be visible in the final product. The simulation tends to highlight these things.

The last op is another of scallop (The morphed spiral would also work here, but tries to maintain a roughly circumferential path, while the scallop op doesn’t worry about that. The less regular toolpath tends to hide a lot of small defects) The small tool gets a lot more detail and cleans up the grooves between the strands, but does have trouble getting all of the way to the bottom in some places due to the small tool needing to be short (the shaft and/or toolholder will collide, even at this scale. the 0.8mm ball end mill has about 2mm of flutes and 3mm total length to the shoulder)

note the stepover is 1/4 of the tool diameter. 1/8 would give a minimally better result on the convex, as the convex looks nearly like a plane to the tool this small. The extra time isn’t worth it. Also note the shaft and holder clearance. This provides another AVOID condition. The tool won’t rub or try to collide with stock or finished surface, and the tool holder (model your tool holder. Really. MODEL YOUR TOOL HOLDER. This is as important as modelling the tool) will be kept clear as well. I am not worried about the tool holder for this operation, so I didn’t enable it. These options do slow down toolpath generation.

The final sim looks quite good, except for the previously mentioned issues.

The primary thing would be to eliminate the undercut. If I cut the part, I will probably revise the model, as well as adjust the bottom height for the cuts with the ball end tools rather than using AVOID.


It took a month, and a bunch of trials, to get a good final product, but, for anyone still interested in how to machine this, here is one method. Hold on to your hat and bump up your resolution, as there is no way to make all of the screen shots small and readable at the same time…

Again, I did this in Inventor, but the workflow on the CAM side is very similar (Inventor and Fusion both use the HSM engine)

First, the model:

This is the final model. It is a five strand rope in a loop, with two complete twists.

This is the base sketch for the strands. There are a number of ways to do this, but this is the fastest, if not the most robust. For the purposes of sweeping/extrusion, it is really important that there are no free constraints and there is a single, defined closed profile. I set five construction lines at 72degrees, put in circles with the appropriate tangencies, set one’s size, and made them all equal. Then added arcs between as fillets and trimmed away the unwanted stuff. The diameter of each strand is 4mm and the fillet is 0.5mm radius. This is SMALLER than the tool used for finishing, but it need not be.

The sweep operation. Note the twist spec. Inventor and fusion are both funky about matching the ends. Sometimes you need to mess around a little.

Next I extruded the base. It is just a square around the path used for the sweep extruded both ways. It comes part way to the “top” side, rather than slicing the twisted element right through the middle, to reduce the amount of undercut in the final product and make the next step viable

Adding a small fillet around the base. This reduced the undercut a little and gives an edge tangent to the base surface that is entirely outside of the profile. This eliminates some of the pathologies in tool path generation where the tool tip may violate height and surface avoid boundaries. The other option is to totally get rid of the undercut, but that is actually really hard in Fusion/Inventor. There boundary of the profile from a particulat view is not an edge, so it needs to be done by setting up surfaces normal to the base and tangent to the complex surface. Annoying to do, slow to compute.

Continued to another post…

1 Like

And now to the CAM aspect:

I planned this around tools I have on hand and the capabilities and envelope of the Nomad and tried different strategies until I found one that gives a good product. Not quite the same set I described last month, but similar. There are other ways.

Four operations were used. The first two use a 1/8" (3.175mm)m square end endmill to rough out the whole part and then surface the base. Speeds and feeds were 10KRPM and 1m/min (defaults I use for this tool… sufficient for most wood and plastics on the Nomad). I didn’t bother doing anything with the heights except for the bottom height since there is plenty of room for this part and I wasn’t worried about a little wasted motion. The bottom height was set to the TOP surface of the base (minus an epsilon of 0.01mm) to prevent the path planner from trying to machine the outer boundary of the stock.

This is key in a lot of jobs. This is the easiest way to avoid hitting clamps, wasting time and tool removing material that can or should stay, and so on. Here, it meant I needn’t worry about the clamping being hit or exact sizing of the stock.

On this small part, I set the tolerance to 0.02mm (could have left is 0.1mm for roughing, but in this case it is minimal difference in file size or path generation). Fine stepdown is at 0.2mm and I had it leave 0.05mm for finishing. This means there is AT LEAST 0.05mm on all surfaces, but over 0.3mm on parts the sloped surfaces, due to the stairstepping.

Next I surfaced the base. Another adaptive, and I used the bottom and top heights to keep the operation where I wanted. Also note the selection of rest machining. This lets the planner know this follows the other operations, so it won’t cut air to get to the surface. I didn’t bother changing the helical entry setting. 10seconds isn’t a big deal, and it is fun to watch.

The next tool: 1/8" (3.175mm) ball end for first finishing on the raised surface

The scallop tool tries to keep uniform stepover relative to the surface tangent, rather than the X-Y plane. I didn’t remove the already surfaced portion in the middle (careless… ) because I neglected to set the bottom height properly and the avoid doesn’t always do it. No one at AD seems to be able to tell me WHY the avoid doesn’t always do it, but…

As you can see, the surface in the middle was specified for avoidance. The tool did not touch, but the machine did cut air in that section. Note the stepover is ball-end diameter/16. This gives good results with little scalloping on the convex surface. (Scalloping on a convex or concave surface can be interesting to compensate…) The tool does not make it deep into the fillet between strands or all of the way to the bottom, but at this stage, the product is pretty good

You can see where the ball end did not blend the surface near the base (there is a sharp edge and lip where vertical meets in, especially visible on the edge closest to the camera)

You can also see a bit of tearout in the grooves between the strands, since the ball end is effectively buried.

This is handled with the last tool: 1.6mm ball end. (this time I properly set the bottom height)

I used the 1/8 diameter here. The surface looks flatter to the smaller tool, and the primary point is to clean up what the larger tool couldn’t reach. There are two ways to go about this: one is enable rest machining, the other is let it hit everything.

I let it do the whole thing again. Rest machining actually takes longer here and generates a much more involved path, as it is a whole ton of small cuts in odd orientations. Longer to generate, longer to run, and more g-code. In this case, I specified the surfaces the tool should touch, and also properly set the bottom height.

Note that I DID NOT have the tool touch in the grooves. The tool nose radius is larger then the radius in the groove. It won’t get there anyway. If I finished with a smaller tool, I could bring the radius down a little more, but why? That would be a lot more time and not be as clean, and those tiny tools are pricey and break easily. The other item is, if you are using the tool nose radius, why bother putting the filet in the model? Well, that has to do with the tool path generator. If the surfaces come together in the groove (no fillet) then things get weird where the edge meets the base, and peck marks show up. Having the constraint be the two convex surfaces at either side on the groove keeps that from happening. Again, no one seems to know why this happens, but I have run across it a couple times, and now I know.

The final product came out pretty good. This is still in the machine, but I vacuumed and hit it with a toothbrush to get the fine dust.

You can see that the ledge at the meet with the base is faired out pretty well. What looks like tool marks in the grooves is partly the wood grain. The tool marks are not visible to the naked eye. The whole piece is 50mm diameter.

For reference, the workholding was with cams on a bed of holes:


Awesome writeups. Prolly will be the definitive word on this for some time to come. Nice! (And thanks. )

Great work. Would you mind sharing the inventor files?

Not a problem. They are Inventor2017, and, as you may have caught, I took some shortcuts on the model. I’ll get to the machine this resides on later.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.