Nobody is ironing anything. If anything it's the polar opposite of what your implying. A splined helix is a hell of a lot more complicated to program than an arc movement. Why? It's exponentially more typing. Arcs are far simpler.
Now, here's the little lesson that's really important. Source code vs "fat fingering" a program at the control on the machine. I'm reading your post with the understanding that you think I'm manually typing all this shit out. Let me explain something to you.
For a job shop or tool room doing a one off part/operation that'll never be seen again, that's fine. Bang away on the control with your index finger and just get through the job. I get that. However, if its something you do over and over again. (it can be anything, doesn't matter) the shops that engage/embrace this practice will eventually find a brick wall to run face first into.
Why?
Because the source code was never updated to what's being made on the floor. If it's part of an assembly and a revision comes down the pipe, all that "gibbrish" in the control and/or the ISO file stored on a disk somewhere becomes instantly obsolete. SOURCE code saves your ass. Drive your process from the beginning. Failure to do so is pure laziness. Lazy in the essence that you failed to take the time to become fluent with the CAD/CAM package you have OR your just too lazy to go back and do the job the right way by updating the CAD drawing to reflect the change made by the engineer/designer.
What this means is the job MUST be updated in the drawings, the CAD file, and then the code that goes into the machine that actually makes the part.
What I'm stating is I rarely "fat finger" a program in the control because doing so means I'm cutting my own legs off.
Next-
Choice between splined or arc output is as simple as checking a box in the parameter setup portion of an operation. Has nothing to do with making one easier than another. I chose splines for this discussion because it seemed more relevant to the topic. If you'd like to see arc movements then here:
%
O0000(T)
(MACHINE = KITAMURA VERTICAL MILL)
(MATERIAL= ALUMINUM INCH - 2024)
(TIME=06:44 - JUL-03-14)
M1
G20
G91 G28 Z0.
T1 M6 (DEFINE TOOL NAMES)
G0G17G94G40G49G80G90
G0 G90 G54 J2 X0. Y0. A0. C0. S15000 M3
G43 H0 Z.25
Z.1
G1 Z0. F20.
G3 X-.25 Y-.25 I0. J-.25 F150.
X0. Y-.5 I.25 J0.
Z-.1 I0. J.5
Z-.2 I0. J.5
Z-.3 I0. J.5
Z-.4 I0. J.5
Z-.5 I0. J.5
Z-.6 I0. J.5
Z-.7 I0. J.5
Z-.8 I0. J.5
Z-.9 I0. J.5
Z-1. I0. J.5
Z-1.1 I0. J.5
Z-1.2 I0. J.5
X.5 Y0. Z-1.225 I0. J.5
X0. Y.5 Z-1.25 I-.5 J0.
I0. J-.5
X-.25 Y.25 I0. J-.25
X0. Y0. I.25 J0.
G0 Z.25
G91 G28 Z0. M5
G90 G17
G59 J1 X0. Y0.
M30
%%
Whole lot less going on here. Notice in the first example that I only went to a depth of a half inch. (Z-.5) Here I went to a depth of -1.25. If I'd of done that in the first, the code would be ridiculously long. -as if it wasn't anyway Why? Think of how many points there are to run between each little spline segment just to get from 0 to 360*. Arcs are much simpler/easier to program.
So, halfassing? Hardly.
As far as accuracy goes, again, there's dynamics to this far beyond the posting of impressive looking code. The big ones were already mentioned. Either method is an acceptable way to machine the part.
What it really comes down to is efficiency and the type of firmware installed in the control of the machine doing the work. CNC machines only have so much memory. The way information is stored/used in a CNC is vastly different than a PC on a desk. It's more like RAM. A 1TB HD for a PC is now a couple hundred bucks. In a CNC such a thing could likely be a 6 figure upgrade. -IF its even available. I personally have never seen it but there's a whole lot of new stuff out there that I'm not aware of too so who knows.
Next, firmware. Some machines don't support arc movements with a change in the Z axis. They can only cut a circle. For those that don't, the "fix" is to generate the arcs as splines. Both my machines support arc outputs so its a win/win because I'm not burning up memory or fighting the pulsing issues with brushed servos.
One can setup a machine DNC (where the machine becomes slaved to the computer- Direct Numeric Control) But its a pain in the ass when you have a lot of parts to make with short cycle times. You have to load/set it up every time. For a production job the optimum solution is to have it stored in the control. This means being efficient in how you program to ensure it all fits in the machine. Otherwise your just shooting yourself in the foot.
That covers that, onto the next item:
Because spline driven code is so "busy' it means a shit load of pulses being sent from encoders (positioning devices) and servo cards (card that sends the pulse to the servo motor that moves the machine). Whether its a hole that's 10" in diameter or one that is only .140" matters little. A pulse is a pulse and a couple .001's doesn't change anything. So, YES, an 8-40 hole boring or thread mill op will mean the machine (my Haas) won't like it if I try to push it past 50 ipm.
The function of spindle rpm also comes into play. The ol Haas only has a 6500rpm spindle. The Kitty has much more.
SFM in a given material for a given tool grade dictates how quickly a job can get done. The thread mills I use are good. Really good in fact. If I have the spindle speed, I can push them to around 600 SFM if I want to. 50ipm is very possible. Do I use it when doing action work? No, I want the tool to last as they aren't cheap and were working with heat treated steels. Why burn them up? If I were doing a production job in aluminum I couldn't run them fast enough.
So, the tool will do it so long as the machine has the ability to accurately process the program onto the table where the work gets done. The Haas I have won't do this at lightening speed. The Kitamura will however. It's two totally different classes of machines.
In closing:
Bottom line is this. There's a whole lot more to this that often times I just don't take the time to explain. Why? Time is money and most here won't benefit from it because they don't have the equipment to try it out on anyway. -Then I just get labeled as a blow hard and chest beater so why bother. I embraced this conversation with a lot of detail because I was asked a very relative question by someone with the education to use and interpret it.
IF you don't have that then making bold statements about someone being lazy or full of shit only illustrates your inexperience with this side of the manufacturing world.
Happy 4th.
C.