Community
HSM Post Processor Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Nomura Swiss. B Axis Orientation

11 REPLIES 11
SOLVED
Reply
Message 1 of 12
BrandonTBFBF
683 Views, 11 Replies

Nomura Swiss. B Axis Orientation

I'm starting to work up a post for a Nomura Swiss lathe that has a B Axis. This machine has a Mitsubishi M80 control. I started with the DMG Mill/Turn post and so far I've got the axes set up as such:

 

if (true) {
    var bAxisMain = createAxis({coordinate:1, table:true, axis:[0, 1, 0], range:[0.0, 135.001], preference:1});
    var cAxisMain = createAxis({coordinate:2, table:true, axis:[0, 0, 1], cyclic:true, preference:1}); // C axis is modal between primary and secondary spindle

    var bAxisSub = createAxis({coordinate:1, table:true, axis:[0, -1, 0], range:[0.0, 45.001], preference:1});
    var cAxisSub = createAxis({coordinate:2, table:true, axis:[0, 0, 1], cyclic:true, preference:1}); // C axis is modal between primary and secondary spindle

 

The issue I've having is the B Axis sits perpendicular to the Z Axis. Meaning B0 positions the tool radially and B90 positions the tool axially. So the B Axis calls are all wrong.

 

Is there a way to have the post correct this?

 

11 REPLIES 11
Message 2 of 12

Hello BrandonTBFBF

 

Your currently set to have a Table-Table set up. The B axis needs to be set to false. Under axis: needs to rotate around "Y" which you were. Keep the "1" positive and set the range the machine can do. For reference the Doosan mill-turn fanuc.cps post is set similar but goes B-90.

 

Something like this

    var bAxisMain = createAxis({coordinate:1table:false, axis:[010], range:[-9090], preference:0});

 

 

 



Bill Cain
Sr. Technical Consultant
Message 3 of 12

Hi Bill,

 

Thanks for responding. I set the axis to table-table because of the layout of the machine. See the attached photo.

 

Setting it to table-head would output a B45. C-180 when it needed to be B45. C0. Changing the axis configuration fixed this. I may be wrong in doing it this way.

 

To me, with the machine layout, it almost looks like a UMC type 5 Axis mill just laid over. So the way the work is presented to the tool is more like a table-table. Again I'm happy to be wrong.

 

What I need is a B90. called for the milling/drilling tools to used axially with the part. Currently, and with the axis data set as you described, it calls a B0. because it assumes the tool is normally positioned axially. 

 

Thanks

Brandon

Message 4 of 12

Hello BrandonTBFBF

I am familiar with the machine. Been around Swiss and TurnMill since 1990.

 

This machine is a Head - Table for sure. On  a Table - Table the B and C axis are connected to one another. Best description I can give is if the B axis rotates, the C axis rotates with it. All TurnMill and Swiss machines are Head-Table machines(At least as of today) because if you rotate the B the C does not rotate with it. There is probably some more technical terms but that's how I think of it. A head-head machine is similar to table-table but the B axis rates with the c axis.

 

When I tested that code I sent in the Doosan post it came out as B90. for Axial tools and B0. for Radial.

 

The C being 180 off may be just when things are set up in Fusion. If you want/can share your fusion file and the post your working on I'd be happy to look more into the problem. PM me if needed.



Bill Cain
Sr. Technical Consultant
Message 5 of 12

Hey @billcainautodesk 

 

I've attached the post I'm using. It started life as a DMG Mill/Turn post. I've only changed a few things, mostly G and M codes. There is still a ton of work to do. I just wanted to get the B axis thing sorted first since it's the thing I'm least familiar with.

 

I see a lot more functionality in the Doosan Mill/Turn post than this DMG post started with. That might be a better place to start.

 

Thanks for the help!

Message 6 of 12

Hello BrandonTBFBF

 

The Doosan post is pretty complicated as it supports many machine models and programs with the B axis tool being along X and not Z. But it's good for referencing. We also have the Integrex I posts which are a little less complicated.

 

But, try these changes. Set Preference to “0”. Your B axis range will control Where C goes. This changed a test file from C270 to C0 for me. I also suggest for the main spindle you set the range 0-90. If you allow it to get to 135 it will probably over travel.

 

Then we need to set the Vector telling it B0 runs along X.

 

In Function onOpen var bAxisMain = createAxis({coordinate:1, table:false, axis:[0, 1, 0], range:[0.0, 135.001], preference:0});

 

In Function onSection machineConfiguration.setSpindleAxis(new Vector(1, 0, 0)); // set the spindle axis depending on B0 orientation



Bill Cain
Sr. Technical Consultant
Message 7 of 12

@billcainautodesk 

 

Changes made as suggested. What happens now is the radial milling looks correct but the axial milling seems wonky. More importantly, drilling on center (axially), outputs in "X" rather than "Z"

Message 8 of 12

Hello BrandonTBFBF

 

I see what your talking about. Looks like it might take me a few minutes to figure this out.



Bill Cain
Sr. Technical Consultant
Message 9 of 12

Thanks for the help @billcainautodesk 

Message 10 of 12

Hello BrandonTBFBF

 

Looks like we have some changes needed to the TCP setting. I found these in the Doosan post and modified them for this post. Give this a try and see how it works for you.

 

Need to add a Function
function getTCP(abc) {
tcp = gotBAxis &&
machineState.axialCenterDrilling || Math.abs(bFormat.getResultingValue(abc.y)) == 90 ||
(machineState.usePolarMode || machineState.useXZCMode);
return tcp;
}

Towards the bottom of function getWorkPlaneMachineABC Replace

var tcp = false;
if (tcp) {
setRotation(W); // TCP mode
} else {
var O = machineConfiguration.getOrientation(abc);
var R = machineConfiguration.getRemainingOrientation(abc, W);
setRotation(R);
}

with

var useMultiAxisFeatures = true;
var tcp = getTCP(abc);
if (tcp) {
setRotation(W); // TCP mode
} else {
if (true) {
var tempABC = new Vector(abc.x, (useMultiAxisFeatures ? abc.y : 0), abc.z);
var O = machineConfiguration.getOrientation(tempABC);
var R = machineConfiguration.getRemainingOrientation(tempABC, W);
setRotation(R);
}
}

 

There looks to be a lot left to do to get this working. I noticed 3 plus 2 planes aren't coming out right also. Maybe want to decide whether to continue with this post or move to one that starts a bit closer. Even if you do what we have looked at here probably needs to be applied also.



Bill Cain
Sr. Technical Consultant
Message 11 of 12

Good Morning @billcainautodesk 

 

I'll add this and try it out. It looks like I might need to start with the Doosan post and hack out anything unnecessary.

 

This control (Mitsu M80) also uses a G92-like feature for tool tip programming with the B-Axis. It should make things interesting to say the least.

 

Thanks again for the help!

 

I'll report back.

 

-Brandon

Message 12 of 12
BrandonTBFBF
in reply to: BrandonTBFBF

Thanks again for the help @billcainautodesk !

 

That got the B axis stuff sorted. 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Technology Administrators


Autodesk Design & Make Report