i am using a haas vf3 with a rotary 4th axis when i post the 4th axis program it is giving me feed values on most lines and the feed is much lower than it should be 4-5 times slower i have tried using IPM feed and not and it does change the feed a bit but still painfully slow i have downloaded the latest NGC haas post and the problem is still there.
feed should be around 1900mm/m but the post is slowing it down to about 2-300mm/m after the cut starts.
with the setting to use IPM feed it does not use inverse feed, and not using it does, both have the same problem just one states the feed differently.
i have attached some photos i hope this helps
I cant find the setting for the feed rate calculation diameter in the post to verify it or change it.
it is set to 25.4mm on the controller but is not an option when posting a program like i have seen in another thread on a similar problem.
is this the section of code where it should be defined?
/** Calculate radius for each rotary axis. */
function getRotaryRadii(startTool, endTool, startABC, endABC) {
var radii = new Vector(0, 0, 0);
var startRadius;
var endRadius;
var axis = new Array(machineConfiguration.getAxisU(), machineConfiguration.getAxisV(), machineConfiguration.getAxisW());
for (var i = 0; i < 3; ++i) {
if (axis[i].isEnabled()) {
var startRadius = getRotaryRadius(axis[i], startTool, startABC);
var endRadius = getRotaryRadius(axis[i], endTool, endABC);
radii.setCoordinate(axis[i].getCoordinate(), Math.max(startRadius, endRadius));
}
}
return radii;
}
/** Calculate the distance of the tool position to the center of a rotary axis. */
function getRotaryRadius(axis, toolPosition, abc) {
if (!axis.isEnabled()) {
return 0;
}
var direction = axis.getEffectiveAxis();
var normal = direction.getNormalized();
// calculate the rotary center based on head/table
var center;
var radius;
if (axis.isHead()) {
var pivot;
if (typeof headOffset === "number") {
pivot = headOffset;
} else {
pivot = tool.getBodyLength();
}
if (axis.getCoordinate() == machineConfiguration.getAxisU().getCoordinate()) { // rider
center = Vector.sum(toolPosition, Vector.product(machineConfiguration.getDirection(abc), pivot));
center = Vector.sum(center, axis.getOffset());
radius = Vector.diff(toolPosition, center).length;
} else { // carrier
var angle = abc.getCoordinate(machineConfiguration.getAxisU().getCoordinate());
radius = Math.abs(pivot * Math.sin(angle));
radius += axis.getOffset().length;
}
} else {
center = axis.getOffset();
var d1 = toolPosition.x - center.x;
var d2 = toolPosition.y - center.y;
var d3 = toolPosition.z - center.z;
var radius = Math.sqrt(
Math.pow((d1 * normal.y) - (d2 * normal.x), 2.0) +
Math.pow((d2 * normal.z) - (d3 * normal.y), 2.0) +
Math.pow((d3 * normal.x) - (d1 * normal.z), 2.0)
);
}
return radius;
}
/** Calculate the linear distance based on the rotation of a rotary axis. */
function getRadialDistance(radius, startABC, endABC) {
// calculate length of radial move
var delta = Math.abs(endABC - startABC);
if (delta > Math.PI) {
delta = 2 * Math.PI - delta;
}
var radialLength = (2 * Math.PI * radius) * (delta / (2 * Math.PI));
return radialLength;
}
What do you have your HAAS Control setting #34 set to, this setting determines the feed speed of the 4th axis by setting the diameter of your 4th axis which can be anywhere between 0~50inches so this may be where the issue lies 🙂
Link to HAAS site :- https://www.haascnc.com/service/codes-settings.type=setting.machine=mill.value=S34.html
Hope this helps, always read the Manual 🙂 🙂 🙂
Regards
Rob
If the F1920 is in the code as you have set it then if your HAAS control is correctly set then the F1920 will execute.
However what I see looks like either Lead ins/Transition moves which would be the Green toolpath moves and it would appear that the Cutting feed rate is not being re-instated after the reduced feed moves.
This would suggest to me that you need to look at your settings and the strategy used as I am not able to recreate the issue here on a sample file, if you can upload your file then someone can go through it and possibly come up with an answer for you, here is an image what I have created as an example and the start code as generated by your PP, I have input different Leadins/out/Ramps/Plunge rates and they output correctly and when it starts to cut at the F1920mm/min then all the A axis moves stay at that feedrate.
%
O06161 (HAAS NGC Updated 24-4-20)
(Using high feed G1 F5000. instead of G0.)
(T1 D=9.525 CR=0.762 - bullnose end mill)
N10 G90 G94 G17
N15 G21
N20 G53 G0 Z0.
(Rotary1)
N25 T1 M6
N30 S5000 M3
N35 G54
N40 M11
N45 G0 A-82.006
N50 M8
N55 G254
N60 G0 X46.037 Y6.08
N65 G255
N70 G234 Y68.239 Z3.444 H1
N75 G1 A-82.006 F5000.
N80 Y66.567 Z3.359 F250.
N85 Y62.605 Z2.803 F600.
N90 Y62.18 Z2.759
N95 Y61.741 Z2.745
N100 Y61.291 Z2.764
N105 Y60.834 Z2.818
N110 Y60.374 Z2.91
N115 Y59.916 Z3.039
N120 Y59.463 Z3.206
N125 Y59.021 Z3.412
N130 Y58.594 Z3.655
N135 Y58.187 Z3.933
N140 Y57.805 Z4.243
N145 Y57.45 Z4.582
N150 Y57.126 Z4.947
N155 Y56.836 Z5.333
N160 Y56.58 Z5.735
N165 Y56.361 Z6.149
N170 Y56.178 Z6.572
N175 Y56.031 Z6.997
N180 Y55.919 Z7.422
N185 Y55.839 Z7.842
N190 Y55.641 Z9.146 A-80.665 F1920.
N195 Y55.425 Z10.371 A-79.402
N200 Y55.118 Z11.894 A-77.823
N205 Y54.844 Z13.106 A-76.56
N210 Y54.54 Z14.312 A-75.297
N215 Y54.293 Z15.211 A-74.349
So, as far as I can tell everything is working OK here 🙂 🙂
Regards
Rob
Here is a test file.
the tool path simulates at the 1440mm/m its told to cut at but the posted program has the 1440 at the lead in but the cutting feed at 250mm/m
Well, good news and not so good news !!
First the good bit, I am able to generate what I believe is pretty much the correct code, see attached .nc file.
Second the not so good news, for some strange reason I am not able to get the toolpath to see all of the surfaces, it is as if there is problem with the Model, if I don`t try to toolpath the first 50mm it is fine but otherwise it is rapiding away from the surface and leaving a large lump 😞 😞
I have used the "Circular" option and set Angular end points, this seems to work well except for the area already mentioned.
Is this code OK, if so then we are closer ??
%
O09292 (HAAS NGC Updated 24-4-20)
(Using high feed G1 F5000. instead of G0.)
(T20 D=12. CR=6. - ball end mill)
N10 G90 G94 G17
N15 G21
N20 G53 G0 Z0.
(Rotary2)
N25 T20 M6
N30 S12000 M3
N35 G59
N40 M11
N45 G0 A-62.047
N50 M8
N55 G254
N60 G0 X50. Y-1.422
N65 G255
N70 G234 Y35.528 Z20.463 H20
N75 G1 A-62.047 F5000.
N80 Y30.517 Z17.577
N85 Y29.628 Z17.065 F800.
N90 Y28.768 Z16.608
N95 Y28.605 Z16.504 F1440.
N100 Y28.454 Z16.368
N105 Y28.324 Z16.202
N110 Y28.223 Z16.01
N115 Y28.157 Z15.801
N120 Y28.131 Z15.586
N125 Y28.143 Z15.375
N130 Y28.189 Z15.177
N135 Y28.264 Z14.998
N140 Y28.609 Z14.329 A-63.396
N145 Y28.932 Z13.665 A-64.719
N150 Y29.238 Z12.992 A-66.041
N155 Y29.532 Z12.315 A-67.364
N160 Y29.941 Z11.285 A-69.348
N165 Y30.193 Z10.591 A-70.671
N170 Y30.314 Z10.241 A-71.333
N175 Y30.65 Z9.186 A-73.317
N180 Y30.949 Z8.119 A-75.301
N185 Y31.128 Z7.402 A-76.624
N190 Y31.211 Z7.042 A-77.285
N195 Y31.366 Z6.32 A-78.608
N200 Y31.566 Z5.23 A-80.592
Apologies, that`s all I have for now 😞 😞
Regards
Rob
thank you for your help but When i post your tool path i am getting the same problem my machine requires a few setting changes on the post ill add some photos and the nc program as it posted at my end
%
O09292
(Using G0 which travels along dogleg path.)
(T20 D=12. CR=6. - ball end mill)
N10 G90 G17
N11 G21
N12 G53 G0 Z0.
(Rotary2)
N13 T20 M6
N14 S12000 M3
N15 G59
N16 M11
N17 G0 A62.047
N18 M8
N19 G0 X50. Y-1.422
N20 G43 Z40.975 H20
N21 G1 A62.047 F5000.
N22 Y-1.221 Z35.196
N23 Y-1.186 Z34.17 F800.
N24 Z33.197
N25 Y-1.17 Z33.004 F1440.
N26 Y-1.121 Z32.807
N27 Y-1.035 Z32.614
N28 Y-0.913 Z32.434
N29 Y-0.759 Z32.279
N30 Y-0.581 Z32.155
N31 Y-0.389 Z32.066
N32 Y-0.192 Z32.015
N33 Y0. Z31.997
N34 A63.396 F257.84
N35 A100.434
N36 Z31.994 A101.757 F257.06
N37 Z31.997 A103.079
N38 A146.069 F257.86
N39 Z31.994 A147.392 F256.82
N40 Z31.997 A148.715
N41 A157.313 F257.86
N42 Z31.994 A158.635 F256.89
N43 Z31.997 A159.297 F256.07
N44 A161.281 F257.82
N45 Z31.994 A162.604 F256.91
N46 Z31.997 A163.927
N47 Z31.995 A179.304 F257.8
N48 Z31.994 A179.469 F255.58
N49 Z31.996 A185.091 F257.66
N50 Z31.997 A187.075
N51 Z31.996 A198.98
N52 Z31.994 A200.303
N53 Z31.996 A203.61
N54 Z31.997 A205.594
N55 Z31.995 A249.245
N56 Z31.994 A250.568
N57 Z31.996 A265.78
N58 Z31.997 A267.103
ok so it is the tcpc setting being set to no that is causing the issue. not sure how to work around this now
The difference I see is that you have disabled both your DWO (Dynamic Work Offset) and your TCPC (Tool Center Point Control) if you enable them both your code should be the same as I have.
As far as I know you do need to have them enabled for multiaxis work, I may well be wrong but I think you should try it 🙂 🙂
Regards
Rob
P.S. I would be turning that G0 off as well, not a good idea to have dangerous "dog leg" rapids with multiaxis work IMHO 🙂
Regards
Rob
the tcpc and dwo options are not enabled on my machine and should not be needed this to me seems to be a bug in the post feed rate logic or maybe a missed setting.
as for the G0 it is perfectly safe and suits my needs better cheers though.
Well, each to their own, I would be terrified at the thought of random Rapid dogleg moves when using Multiaxis machining, good luck with that. 🙂 🙂 🙂
Right back to the job in hand, I have got it to toolpath properly now, there was/is an issue with the Model/Sketches so I moved everything along the X axis by -50mm and it works spot on now so I will attach the new file here for you.
I have done some research on the HAAS site and the Manual does say that for normal Indexing and Wrapping operations then yes the TCPC and DWO are not required, however it does say that for Continuous 4th axis movement then the TCPC is required, the DWO is not.
From what little I have read the TCPC is activated by the G234 which replaces the standard G43 and the initial A axis move to position is done before the G234 as it is a simple A axis indexing move which looking at the examples and reading how it should work is the same as the code I generated. I didn`t have much time to read a lot but that is what I have on it for now 🙂 🙂
Does the code I generated actually run on the machine or does the HAAS controller throw up errors ??
Just out of interest have you run this past the HAAS folks ??
Regards
Rob
G0 isn't random it moves in z to the safe plane then to position, with my machine set up i have the ability to define its movements.
can you link to the information that said tcpc is required for 4th axis simultaneous? you need to pay to have it activated on the machine and i dont have that option right now, when speaking to haas they have said its only really used in 5 axis work. even then is is a feature of luxury and not really "needed".
no programs with tcpc will not run on my machine it is not set up for it.
how ever my problem is the feed rate errors given by the post when it is off.
"In some cases, feed rates may behave unexpectedly when TCPC (tool center point control) or DWO (dynamic work offsets) are not enabled at the machine."
this article acknowledges my problem but i still haven't found a solution
OK, I see more clearly your problems, the PP we have been using does appear to be "broken" !!!
If you can control that "dogleg" then great, a relief for sure 🙂
Right, if this attempt works then we may possibly have a solution and the "Force is once again with us" 🙂 🙂
Two files attached, one is code for the latest version of the Rotary path I created, the second is the PP I used to generate this code.
I re-named the PP so there would be no confusion and no chance of it overwriting any other PP, as you can see from the image I have it with the G0 turned ON for you and the TCPC turned OFF for you and it now looks like the code from your PP with the TCPC turned ON so I am hoping that we are a bit nearer now 🙂 🙂
Worth a shot at this stage 🙂 🙂
Regards
Rob
Awesome this seems like a step in the right direction!
it runs with the correct feed but there is a few options missing from the post settings the main one now is the A axis "reverse"
as the A axis is turning the wrong direction with the new post.
where did you get this new post from and what was it originally called ?
or what did you modify ?
thank you again for your help
The PP is one of the very first NGC posts and it is pretty basic so being not as complex so seems to work better 🙂 🙂
As you say it is fine apart from the direction of rotation of your 4th axis, is there anyway you can alter the direction of rotation of the 4th in the HAAS Control at all ?
The only workaround that I could come up with was to use Visual Studio to do a "Replace all" and replace all the A- with A in one quick operation !!!
Pretty poor, it should work IMHO, I think you will either have to have a go at modifying the original PP yourself or get on to Autodesk to "Un break" the post, it is one of those things "that used to work" before it was broken in an update somewhere 😞 😞 😞
I do have an even older Pre NGC post that does have the reverse rotation option in it but as it defaults to A positive moves it isn`t really needed for your job, the only down side is that although the TCP is not in it the only way to get pretty constant feeds is to select IPM for the Rotary moves.
Whether that is an option you would like to explore then have a go, PP attached 🙂 🙂
Regards
Rob
ive posted at least 2-3 times about this exact issue (except on a lathe) no matter what I set my federate to fusion kicks out something like 2ipm. and again, the setting in the has controller has no effect. ive resorted to just clicking the +10% feed rate button until its where I want it...
if fusion would just post the federate I am setting it at it seems like it would be perfectly fine. if you are trying to use different post processors be careful!
there is a setting in fusion for the diameter comp as well. I cant get it to generate anywhere close to what federate I want even just picking random numbers it max's out at 2.
Can't find what you're looking for? Ask the community or share your knowledge.