Problem when rotation/programming with a multi vice pyramid

Problem when rotation/programming with a multi vice pyramid

p_lavanga
Participant Participant
3,853 Views
23 Replies
Message 1 of 24

Problem when rotation/programming with a multi vice pyramid

p_lavanga
Participant
Participant

Good morning everyone,


I would like to be able to use my Schunk triple vice pyramid with three different zero points (always retouched/zero-ed) correctly in order to do some 5-axis work that requires precision.

For the first operation, where the raw material has to be milled from all sides, I do this with the zero point in the center of the pyramid and then simply adjust the working planes. This always works great, as the angle of the pyramid is calculated correctly with the tool alignment.

However, if I now want to use the tool alignment for the second operation, which should have their own zero point for each part, Fusion360/the post-processor does give me the NC code, but in practice, it rotates the axes  once correctly for lateral drilling and three times to the wrong position — in other words, B90 C0 is correct (check Offset image) , but B90 C180 etc. are then incorrect because the machine does not compensate for the angle of the pyramid, even though my offset in the machine is actually set correctly.

How can I get the machine to approach the angle correctly at B90. C-180., B90. C-90. etc...?

 

Since I will soon be producing a larger series and could save a lot of time (if the pyramid works), it would be great if someone could give me some advice.

 

The machine would be a HAAS-UMC500ss.

 

Thank you

0 Likes
3,854 Views
23 Replies
Replies (23)
Message 2 of 24

p_lavanga
Participant
Participant

Here are some more insights about the situation

0 Likes
Message 3 of 24

BobVawter
Advocate
Advocate

You'll need to change the machine kinematics to add the angle of the pyramid in the C axis setup.  Here's a previous thread with a Haas + pyramid + individual WCS setup: https://forums.autodesk.com/t5/fusion-manufacture-forum/umc-400/m-p/13693975

 

The previous solution changes the post's axis definitions directly.  If you're using a machine configuration, the rotation vector can be configured in the UI and you could also tweak the associated machine model to simulate one of the pyramid faces being normal to the Z axis.  The UI only accepts numeric input here, so you'll have to compute the sine and cosine values.

 

Screenshot 2025-10-21 at 08.52.53.png

 

The zero-point and per-WCS jobs will be different Fusion setups, since the kinematics or post vary, but you can stitch them together with an M98 in a main program.  I would suggest building a test program where you drill the various faces of a cube attached to the pyramid vises and setting a large positive tool length-wear offset to dry run the kinematics.

Owner, CNC.LLC
Message 4 of 24

p_lavanga
Participant
Participant

Good morning,

 

Thank you very much, finally some help, english isn't my first language but in the german forum no one was able to help me so far.

 

The2nd solution is completely new to me, since I never had to use it this way, is that complicated to handle? are there any good tutorials?

 

How reliable is the PP editing?

How would I have to write :

 

var axis2 = createAxis({coordinate:2, table:true, axis:[Math.sin(-30 * Math.PI/180), 0, Math.sin(60 * Math.PI/180)], cyclic:true, preference:0, reset:1, tcp:useTCP});

 

for the other 2 C-Axis Rotations? Like B90 C90 and B90 C-90

0 Likes
Message 5 of 24

seth.madore
Community Manager
Community Manager

If you are not comfortable making your own post processor edits, I strongly suggest working with a reseller to craft the ideal solution for you. In comparison to a smashed spindle, it's going to be money well spent. You can find a list HERE


Seth Madore
Customer Advocacy Manager - Manufacturing


0 Likes
Message 6 of 24

BobVawter
Advocate
Advocate

I've attached an F3Z file that (hoping the machine model carries through) shows how a 30° pyramid can be set up using an unmodified Haas post.  Each part will have its own WCS at a 30° angle to the table.

 

Screenshot 2025-10-22 at 11.25.06.png

 

I have tweaked the machine builder model so that the B axis bakes in the 30° angle.  This makes attaching the part to the rotary table work out; Fusion assumes that the part WCS and the machine model WCS have the same orientation.

Screenshot 2025-10-22 at 11.38.43.png

The machine kinematics set the B home to -30° and rotate the C axis.  The magic numbers are the result of the sine and cosine formulas above.

 

Screenshot 2025-10-22 at 11.32.20.png

Screenshot 2025-10-22 at 11.32.26.png

In the machine simulation of drilling one side of the cube, the B value is 60°.  That, plus the 30° in the pyramid, rolls the face 90° to be normal to the spindle.

Screenshot 2025-10-22 at 11.23.49.png

 

One limitation in the Haas controller is that DWO (G254) can't be used when there's a non-zero B offset.  You'll want to use only TCPC (G234) to account for MRZP settings when posting out.  Uncheck "Use DWO" in the post properties.  The emitted code looks like the following.  Notice that the drilling operation is posted as Y-axis motion, since the control is running in TCPC mode.

 

G90 G53 G0 Z0.
N20 T1 M6
S2292 M3
G17 G90 G94
G54
G53 G0 X0. Y0.
G0 B60. C90.
M8
G187
G1 X0.4003 Y1.9 F650.
G0 G234 Z1.992 H1
G1 F650.
Y1.6
Y1.55
Y0.8 F17.189
G4 P105
Y1.6 F650.
Y1.9

 

I'll caveat all this by saying "it worked on my machine" and question whether or not you want to take advice about an expensive machine tool from some random dude on the Internet 🙂

Owner, CNC.LLC
0 Likes
Message 7 of 24

p_lavanga
Participant
Participant

Thanks a lot I'll check it out!

I somehow can't import the file you attached, I get an error by trying to upload it.

 

I tried it with the vector calculations, it looks kind of right but I have to try it out, maybe it works - here's the code:

 

TRY1.png

 

 

0 Likes
Message 8 of 24

p_lavanga
Participant
Participant

I've tried it with another company from germany that does PP's for Fusion, but the results weren't what we are looking for - they blamed the offset of the machine and the machine in general, while the code looked 1:1 like the one from the gerenic PP

I'll check the list and maybe contact someone, thank you for the input!

0 Likes
Message 9 of 24

p_lavanga
Participant
Participant

Update - that didn't work...

0 Likes
Message 10 of 24

BobVawter
Advocate
Advocate

I tried it with the vector calculations, it looks kind of right but I have to try it out, maybe it works - here's the code:

 

TRY1.png

 

 


 

I think that N145 G254 is going to give you trouble if there's a non-zero B offset in the machine control.  Quoting from https://www.haascnc.com/service/codes-settings.type=gcode.machine=mill.value=G254.html , there's a call-out "The B-Axis value of the work offset you use with G254 MUST be zero."  Disable the use of DWO in the post property so it uses only G234 (TCPC) 

 

Screenshot 2025-10-23 at 10.01.26.png

 

I set the following up as a quick test to revalidate my recollections

 

PXL_20251023_135234946.jpg

G154 P1;
G90 G0 B0; (ENSURE MACHINE AT B30)
G234 H25; (TCPC ON, T25 LENGTH COMP)
G90 G0 X0 Y0;
G0 Z6.;
G0 C90. B60; (MAKES A COORDINATED MOVE)
M30;

 

The machine arrives at the following condition:

 

PXL_20251023_135244452.jpg

 

Owner, CNC.LLC
0 Likes
Message 11 of 24

p_lavanga
Participant
Participant

I somehow mess up the machine model every time in the machine builder ( new to this ) - what are the steps I have to do? My C axis rotates weird when checking..

Does everything else stay the same if my vices on the pyramid are locate as the following positions?:

 

(G55) B30 C30

(G56) B30 C150

(G57) B30 C270

 

I assume I would have to change the Machine Model settings for every WCS or can I also just post one programm and just change the G55 to G56 for example?

 

Such a difficult topic for me, it's my first time doing something like tha.

 

Thanks for your patience

0 Likes
Message 12 of 24

BobVawter
Advocate
Advocate

@p_lavanga wrote:

I somehow mess up the machine model every time in the machine builder ( new to this ) - what are the steps I have to do? My C axis rotates weird when checking..

Does everything else stay the same if my vices on the pyramid are locate as the following positions?:

 

(G55) B30 C30

(G56) B30 C150

(G57) B30 C270

 

I assume I would have to change the Machine Model settings for every WCS or can I also just post one programm and just change the G55 to G56 for example?

You'll only need a single "B30" machine model defined. The C axis position doesn't really matter so much; this would work with two- or a four-sided base just as easily.  Each machine WCS will have an arbitrary C offset value that makes your vise jaws parallel to either the X or Y axis, depending on how you've chosen to set the vise on the pyramid.

 

If you start with the UMC-750 model from the library, use the "Move Component" command to rotate the trunnion to bake in the 30° angle.  This will make your CAM setup attach to the table geometry in the correct orientation, since the setup Z needs to align with the machine model Z.

 

Screenshot 2025-10-23 at 11.43.05.png

 

Update the machine model to subtract the 30° that's baked into the CAM model in the home position and axis limits.  Also update the C axis to set its orientation vector as shown in the previous screenshot.

 

Screenshot 2025-10-23 at 11.45.17.png

Screenshot 2025-10-23 at 11.56.09.png

You could choose to add the pyramid to the machine model's "Table" geometry, or you can keep the pyramid as a setup fixture.  My personal preference is to keep anything that gets bolted to the machine in the CAM setup.  The argument for adding the pyramid to the machine model is to have an attachment surface in the machine model that's normal to the Z-axis, since that's the typical case.

 

Verify using the "Preview Machine Movement" tool

Screenshot 2025-10-23 at 11.58.48.png

Owner, CNC.LLC
0 Likes
Message 13 of 24

p_lavanga
Participant
Participant

That worked perfectly fine now! - Thank you so much!

Now I think I have one little issue left. As you can see that if I deactivate DWO and use TCPC only, the machine goes to a position somewhere near the centre for pre-positioning (I guess) which is not good and would cause colisions. - Did I oversee a simple setting or is the proplem within the post?

(view in My Videos)

0 Likes
Message 14 of 24

BobVawter
Advocate
Advocate

There's a post option to enable or disable moving to the XY home position when repositioning the rotary. It's in a section called "Multi-axis" (I'm on the road today and can't check). You can also go back into the kinematics tree and set the X and Y home positions to whatever machine coordinates would put the spindle in a safe place. If memory serves, X-15" is well to the left of the platter. Also, the UMC has about 3" of travel above Z0, so you can set Z home a bit higher for more safety as you validate the program. 

Owner, CNC.LLC
0 Likes
Message 15 of 24

Christoph_360
Advisor
Advisor

Hello

 

Why don't you work with the original machine model and original PP?

 

Christoph_360_0-1761312683677.png

 

 

Thanks

Christoph

0 Likes
Message 16 of 24

BobVawter
Advocate
Advocate

The OP wants a setup with a non-zero B offset in the control. The kinematics need to be adjusted since the C axis is no longer aligned with Z.

Owner, CNC.LLC
Message 17 of 24

p_lavanga
Participant
Participant

Hello,

 

I think that way it won't work, since I have to touch of every single piece because stock width and height vary +-0.4mm (yellow faces = stock-material) so I think it would be more comfortable to have it aligned with the Z axis (non-zero B offset)

PT.png

Message 18 of 24

p_lavanga
Participant
Participant

I've tried to tweak both settings, sadly still getting the same result

0 Likes
Message 19 of 24

Christoph_360
Advisor
Advisor

Hello


@p_lavanga wrote:

 

I think that way it won't work, since I have to touch of every single piece because stock width and height vary +-0.4mm (yellow faces = stock-material) so I think it would be more comfortable to have it aligned with the Z axis (non-zero B offset)


 

I think, you can also touch every single piece, when working with the original machine model and original PP

 

Christoph_360_0-1761588271249.png

 

Thanks

Christoph

Message 20 of 24

Christoph_360
Advisor
Advisor

Hello


@BobVawter wrote:

The OP wants a setup with a non-zero B offset in the control. The kinematics need to be adjusted since the C axis is no longer aligned with Z.


 

Why does the OP wants a setup with a non-zero B offset in the control. The B-Axis value of the work offset you use with G254 (DWO) MUST be zero.

 

Thanks

Christoph

0 Likes