- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi Folks:
We have a Hurco 5 axis machine with a U(currently using as 3+2) and I'm modifying Post Processor code for it. One remaining issue is that calls for A axis rotation move the U in the opposite direction that that which is expected. We can move 110 degrees positive in A and 30 degrees negative in A. The way the work is setup in Fusion360 CAM and the tool orientation lead me to believe the A axis should rotate positive 90 degrees. Instead it tries to go negative (away from the front of the machine) and causes a machine limit error in A, due to the 30 degree rotation limit in that direction. Below are code snippets for axis setup and rotation commands.
var aAxis = createAxis({coordinate:0, table:true, axis:[1, 0, 0], range:[110,-30], preference:1, resolution:0.001});
var cAxis = createAxis({coordinate:2, table:true, axis:[0, 0, 1], range:[-360*10,360*10], resolution:0.001});
*Executing the code snippet below generates negative numbers for the A axis.
The question is why is this occuring and what to look for to fix it?
Thanks!
writeBlock( // Angles for G68.2
gFormat.format(68.2),
"X" + xyzFormat.format(currentSection.workOrigin.x),
"Y" + xyzFormat.format(currentSection.workOrigin.y),
"Z" + xyzFormat.format(currentSection.workOrigin.z),
"A" + abcFormat.format(abc.x),
conditional(machineConfiguration.isMachineCoordinate(1), "B" + abcFormat.format(abc.y)),
"C" + abcFormat.format(abc.z)
); // set frame
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Here's another clue?? Executing a cam program causes the rotary to try and rotate the opposite direction intended, but it appears the Z axis IS trying to goto where the rotary is trying to rotate to in order to begin facing. This makes me think maybe I've got something wrong WCS-wise?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
var aAxis = createAxis({coordinate:0, table:true, axis:[1, 0, 0], range:[110,-30], preference:1, resolution:0.001});
var cAxis = createAxis({coordinate:2, table:true, axis:[0, 0, 1], range:[-360*10,360*10], resolution:0.001});I think changing that code to this will help:
var aAxis = createAxis({coordinate:0, table:true, axis:[-1, 0, 0], range:[110,-30], preference:1, resolution:0.001});
var cAxis = createAxis({coordinate:2, table:true, axis:[0, 0, 1], range:[-360*10,360*10], resolution:0.001});
Laurens Wijnschenk
3DTechDraw
AutoDesk CAM user & Post editor.
René for Legend.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Thanks Laurens! I believe this would work. While tracing through this portion of the Post code this morning it led to the following Euler line which evidently drives the rotation train:
abc = new Vector(-eulerXYZ.x, -eulerXYZ.y, -eulerXYZ.z);
I'm not sure why all of those are forced negative, but staying consistent with a "positive A axis rotates toward the front of the machine", I changed the line above, so X(A) is now positive and that keeps the axis line looking positive too. This works.
var aAxis = createAxis({coordinate:0, table:true, axis:[1, 0, 0], range:[110,-30], preference:1, resolution:0.001});
abc = new Vector( eulerXYZ.x, eulerXYZ.y, -eulerXYZ.z);
Thanks for your Help! Now there's one issue remaining related to WCS changes for rotary positioning, but I'll open a new Post for that.
Best Regards,
Ev
Fusion