MecSoft Corporation

4th Axis Rotary Instance
Page 1 of 1
Author:  1350519287 [ Fri Feb 02, 2018 10:59 am ]
Post subject:  4th Axis Rotary Instance

The part I tried to attach isn't real but is an exercise on creating a motor mount. It has two rotary instances where one uses 2.5 axis facing to create the flat parts.

Then on two sides I want a couple of pockets with edges that are perpendicular to the flat sides. That means 4th axis pocketing which rotates the piece isn't what I want.

Instead I want 2.5 axis pocketing on a rotary instance 180 degrees apart. However, it complains when I select the pocket area with invalid arguments. What I want to do seems like it should be simple but I'm missing something?

I tried to post the actual .AD_PRT file but the forum won't let me so I've posted a screen shot.

MotorMount1.jpg (419.69 KiB) Viewed 4849 times
Author:  MecSoft Support [ Fri Feb 02, 2018 4:15 pm ]
Post subject:  Re: 4th Axis Rotary Instance

Based on the screen capture you included the Z axis is not normal to the part region selected for pocketing. You would have to create a rotate table setup and rotate it by 90 degrees or 270 degrees and program this pocketing operation under this setup.
You can compress the file as .zip and upload it or if you prefer to send it by email, you can send it to
Author:  1350519287 [ Fri Feb 02, 2018 6:22 pm ]
Post subject:  Re: 4th Axis Rotary Instance

I'm trying to get the CAM to create G-Code for a milling machine with rotary table that has it's axis parallel to the X axis. The face of the rotary table is in line with the Y axis.

As long as the table rotates the surface to 0 degrees then the Z is normal to the XY plane. At least as I understand it.

It seems to me that once the rotary axis has moved to 0 degrees that the pocket is now a standard 2.5 milling operation. Once finished, the A axis is moved to 180 degrees and once again, the pocket is created. But I keep running into that error message with no idea of what I've done wrong. I might just as easily want holes on 3 of the flat sides but not the fourth. Maybe the third oval instead of square. So then I'd set 90 and 3 for the two Rotary Instance Parameters. Have I missed something?

I've watched the webinars but they seem more oriented to creating rings or figurines. I'm more interested in creating something like a valve body that has O-ring grooves and mounting holes on two planes that might be 135 degrees apart. So I'm just playing with some simple forms and thought I'd put a couple of holes in the sides.

(61.31 KiB) Downloaded 296 times
Author:  1350519287 [ Fri Feb 02, 2018 10:36 pm ]
Post subject:  Re: 4th Axis Rotary Instance

OK. I think I have it. The clue was that the surface for a 2.5D pocketing under Rotary Instance needs to be perpendicular to the Z axis. Actually probably pocketing always has to be perpendicular. So under Machine-4 Axis I rotated around the X axis until the pocket drawing was perpendicular to Z.

Anyway, the attached zip holds an updated AD_PRT file that has an extra novelty.

The parameter under Rotary Instance is one less than the number of surfaces that will have a pocket. So in essence it's a move count where each move is the number of degrees in the Incremental Table Angle. So for fun I set it to 2 Table Rotations and 90 degree Incremental Table Angle.

Then back to the AlibreCAD and I added a second pocket identical to the first on the next side. As the attached photo shows, there is an appearance that the second pocket was cut according to the drawing but in fact it's just a hole that happens to be there even if it's not used. That's shown with the third pocket opposite the first. There are machining tool paths there but the material hasn't been removed.

So I think I can call this answered for now. I'll try some other variations and report back.

Shows tool path where Rotary Instance is parent to a pocket operation.
MotorMount1-a.jpg (108.15 KiB) Viewed 4826 times
Holds ALibreAD_PRT file for this posting.
(58.21 KiB) Downloaded 366 times
Author:  1350519287 [ Mon Feb 05, 2018 4:06 pm ]
Post subject:  Re: 4th Axis Rotary Instance

Success so far. I've had G-Code produced that, after tweaking the CNC axis parameters, moves the rotary table at the correct rates. So far I've tried:
Rotary Instance
2 1/2D Facing
2 1/2D Pocketing
4th axis Pocketing
4th Axis Parallel Finishing

So far so good.
Is there a description somewhere that outlines the 'where/why' usage of the 4th axis choices. I've watched the webinars and they are really good. There are tidbits but if I forget something watching two hours of webinar for something that might not be there is tedious.
We have:
R-Level Roughing
R-Level Finishing
Parallel Finishing
Projection Pocketing

Clearly each was made part of VisualCAM to solve some sort of problem. This information is mostly handled in the part 2 webinar although I'd prefer a document with photos and examples.

And one other question. Do any of the above ever move the Y axis at the same time as the A axis?
Author:  1350519287 [ Mon Jul 22, 2019 9:26 am ]
Post subject:  Re: 4th Axis Rotary Instance

More on this project. I now have the rotary axis functional on the mill run with LinuxCNC. The G-Code created with "4th Axis Create Cylinder/Round" has what appears to me to be a serious problem.
Here are the first few lines:
Code: Select all
N1 G17 G20 G40 G90
(4th Axis Create Cylinder/Round)
N2 T2 M06
N3 S20000 M3
N4 G0 X-2.2788 Y0. Z1.664 A46.8 F0.
N5 G1 Z1.45 A46.8 F11.
N6 X-2.4983 Z1.4113 A46.8
N7 X-2.5389 Z1.404 A46.3
N8 Z1.4 A45.
N9 X-2.5388 A43.7 F14.7
N10 X-2.4959 A43.2
N11 X-0.0018 A43.2

Effectively the feed rate on the X,Y and Z is 11 IPM or 14.7IPM. But the rotary axis is angular under LinuxCNC and measured in degrees per minute.
I believe that makes sense because the diameter of the part being rotated determines the actual feed rate. So if the circumference was14.7" and the cutting speed is set at 14.7 ipm then the rotary axis should turn 360 degrees per minute.

But as shown in line N9 we have simultaneous motion on Xand A but at F14.7.

Clearly if the diameter was such that the circumference was 29.4" then the feed rate of the A axis would have to be half or 180 degrees/minute.

So how is this solved?
Author:  MecSoft Support [ Mon Jul 22, 2019 1:24 pm ]
Post subject:  Re: 4th Axis Rotary Instance

By default the post is set to output feedrate in units/min for multi-axis (4 & 5 axis) motions. You can output G93 (inverse time feedrate) for multi-axis motions. To do this edit your post processor by selecting edit from Set Post Processor options dialog, then go to Feedrate Section. Select the check box to output inverse time feedrate for 4 & 5 axis motions. On code enter G93 and Off code enter G94. Save the post processor.
Post process your machining operation(s) and the posted code would now output inverse time feedrate (G93).

Inverse_Time_Feedrate.jpg (32.92 KiB) Viewed 3218 times
Author:  1350519287 [ Mon Jul 22, 2019 3:46 pm ]
Post subject:  Re: 4th Axis Rotary Instance

I see how the G93 inverse feed rate can then set the speed so each axis is moved to end up at the position in a specific time. But f I want a feed rate of 12.5 ipm and I'm 4 Axis Profiling a 2" diameter bar then the circumference is 6.28". At 12.5 ipm it should take 30 seconds to do one revolution. But what I'm seeing is a feed rate of 12.5 ipm for a specific tool and material at 1/F12.5 does not result in 30 seconds to turn through 360 degrees.

So how does one translate a desired tool feed rate into the inverse G93 1/Fxx

N21 A-100.2 F9.6
N22 A-102.8 F9.4
N23 A-105.3 F9.2
N24 A-107.9 F9.1
N25 A-110.4 F8.9
Author:  MecSoft Support [ Tue Jul 23, 2019 1:42 pm ]
Post subject:  Re: 4th Axis Rotary Instance

Here is how inverse time feedrate is computed in our CAM products.

First, the distance traveled by the tool is computed for each move. Lets call this as dist
Then the time taken for traversing the move is computed: Time For Travel = dist / Cut Feed Rate
Inverse time feedrate = 1.0/ Time For Travel

And this is output for each move if different from the previous move.
Author:  1350519287 [ Tue Jul 23, 2019 6:08 pm ]
Post subject:  Re: 4th Axis Rotary Instance

So let's try that with X axis.

5" move at 30 IPM = 5/30=0.16666666 minutes (10 seconds) so inverse is 6 therefore parameter is F6
G-Code would be G93 G1 X5 F6 starting at X=0.
And running this the LinuxCNC system reports 30IPM

2.5" move at 30 IPM = 2.5/30=0.8333333 minutes so inverse is 12 therefore parameter is F12
G-Code would be G93 G1 X2.5 F12 starting at X=0
And running this the LinuxCNC system still report 30IPM.

Now let's substitute the A axis for X. And then the problem shows up. Assume the Z is set at -0.79577" which is the radius for a circle with a circumference of 5". We want to cut this cylinder at 30IPM. The G-Code G93 G1 A5 F6 shows up in the LinuxCNC display as 30. But that's 30 degrees per minute. Not inches per minute which is what the F6 assumes.

The parameter that has to change is the A axis distance. We know it's 5" but has to be changed to 360 degrees because the radius is 0.79577".
Now the G-Code G93 G1 A360 F6 reports a velocity of 2160 degrees per minute and the time for one rotation now matches the time to move the X axis the same distance so we're cutting at 30 ipm.

From this I'd draw the conclusion that the MecSoft G-Code generation needs a configuration check box that requests A axis motion be changed to degrees for G93. And this can be verified by using this G-Code example.
G93 G1 X5 A360 F6
Now the LinuxCNC defaults to the first velocity which is X at 30IPM and both axis move simultaneously each traversing a linear distance of 5"

If the radius (Z value) was larger then to maintain the same surface speed of 30IPM the time parameter has to change because the distance is now different.

In either case, A axis distance has to be changed to degrees and the number of degrees is based on the Z axis value in the simplest case.

John Dammeyer
Author:  MecSoft Support [ Thu Jul 25, 2019 12:52 pm ]
Post subject:  Re: 4th Axis Rotary Instance

We will look into this and get back to you.
Author:  1350519287 [ Sun Oct 13, 2019 1:20 pm ]
Post subject:  Re: 4th Axis Rotary Instance

I just renewed my support. Will I see results to this issue this year?
Author:  MecSoft Support [ Mon Oct 14, 2019 12:59 pm ]
Post subject:  Re: 4th Axis Rotary Instance

This is already in the queue with development and on the list of priorities.
Our goal is to prioritize our AMS customers requests first but we cannot make any commitments at this time as to when they will be implemented.
Page 1 of 1 All times are UTC - 8 hours [ DST ]