Issue with helix ramp

Issue with helix ramp

mrm1018
Advocate Advocate
6,280 Views
32 Replies
Message 1 of 33

Issue with helix ramp

mrm1018
Advocate
Advocate
Simulation looks great but on my mill the tool just goes in a bunch of circles the diameter of the helix in the same plane, then plunges straight down to the depth of the helix length. Pretty sure the number of coplanar circles is equal to the number of helix revolutions shown during simulation too.

Control is Allen Bradley 8400MP.

Any help is appreciated.

-Mike
0 Likes
Accepted solutions (1)
6,281 Views
32 Replies
Replies (32)
Message 2 of 33

matty.fuller
Advisor
Advisor

Sounds like your post is outputting the helical moves as flat circles with no Z value, so after it's finished them all the next Z value it reads is down at the bottom of the ramp.

 

I'm not familiar with that control and so have no idea if it can actually interpolate a helical move, but your post should be able to handle this by linearizing the move. You likely want to add something like this to your post's onCircular() function:

 

if (isHelical()) { 		
    linearize(tolerance);
    return;		
}

Are you able to share an example code that causes this issue or your post to investigate further?

Message 3 of 33

mrm1018
Advocate
Advocate

Matt,

 

Thanks for your reply.  I know the control can handle helical moves.  I've actually programed them manually before using G22/G23.

 

You can see more details on the controls helical interpolation by following this link, and scrolling down to section/page 18.1.

https://thisoldmill.files.wordpress.com/2017/01/allenbradleybandit_iv_operator_manual.pdf

 

I don't have access to it right now, but tonight I'll make something very simple that includes a helical ramp, and post that code.  Do I need to share the fusion file as well?

 

-Mike

 

0 Likes
Message 4 of 33

mrm1018
Advocate
Advocate

All,

 

I've attached some code, post config file, and fusion model.  Here's a screenshot showing the simple model and helix path.

Capture.JPG

 

 

 

I got this post from another guy (bighouse) on here that has the same control.  I believe he mentioned he had helix issues as well.

 

Any help is appreciated...or lead me to someway to learn how to modify the post config file myself.  I've done a bit of programming in Python if that helps my cause.

0 Likes
Message 5 of 33

matty.fuller
Advisor
Advisor

Thanks for those examples - I think I have it solved for you.

 

Fusion is outputting the ramp as a series of circular arcs, as you can see in the toolpath view:

 

helix_toolpath.PNG

 

Your post was picking these up with the onCircular() function, but just treating them as regular flat arc in XY only. I've modified the function so it checks if the movement is helical and if so uses G22/23 and includes all three XYZ values, if not it outputs G2/G3 with XY only as before. I've made the same change for PLANE_ZX and PLANE_YZ moves.

 

switch (getCircularPlane()) {
    case PLANE_XY:
      gMotionModal.reset();
      writeBlock(gPlaneModal.format(17));    
	  if(isHelical()){
		  writeBlock(gMotionModal.format(clockwise ? 22 : 23), xOutput.format(x), yOutput.format(y), zOutput.format(z), iOutput.format(cx, 0), jOutput.format(cy, 0), getFeed(feed));
	  } else {
		  writeBlock(gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), iOutput.format(cx, 0), jOutput.format(cy, 0), getFeed(feed));		  
	  }
	  break;

A comparison of the old code (left) and code from the modified post (right):

 

helix_code.PNG

 

Looks like line 29 is a full planar circle - not sure if your control will accept that line or if it needs further work.

 

Modified post is attached for you to test out, see how you go with it.

Message 6 of 33

HughesTooling
Consultant
Consultant

Not sure that's going to work. Looking at page 18-5 in the manual for helical moves in the XY plane you need K to specify the pitch of the helix. The example on that page is

G92 Z0.25

G90

G01 X0.0 Y2.0 F10.

G22 I1.0 J2.0 Z-1.0 K0.25

X1.0 Y2.0

 

Not sure if the X1.0Y2.0 at the end is a G01 move to the centre but the G22 line is for about 5 turns using a 0.25 pitch.

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Message 7 of 33

mrm1018
Advocate
Advocate

Matt,

 

Thank you so much for trying, but it didn't work.  I think Mark is right per the manual.

 

helix_fail.JPG

0 Likes
Message 8 of 33

mrm1018
Advocate
Advocate

It looks like I and J are the X and Y coordinates of the center of the helix, and must be used in the XY plane.

 

K is the pitch, and Z is the total height of the helix... so if you have a K=0.25 and a Z=1.0, you would end up with a helix with 4 revolutions.  The location of the machine prior to the G22/23 block defines the radius of the helix.

 

helix_req.JPG

0 Likes
Message 9 of 33

mrm1018
Advocate
Advocate

Sorry for posting to myself guys, but I just found this statement from the fusion folks:

 

AllowHelical moves - If your machine does not support helical moves it may machine an Arc and the plunge in Z.  Setting "Allow Helical moves" to false will convert all helical moves to small linear moves at the specified (Built-in) Tolerance

 

I found this statement in the following thread:

http://forums.autodesk.com/t5/computer-aided-machining-cam/post-processors-101/td-p/5916925

 

Edit: If this works do you guys think this is the way to go, or continue working on utilizing G22/G23?

 

I tried it, and don't care for it...lots of small jerky movements.  That can't be good on the mill over time...and mine is already old.

0 Likes
Message 10 of 33

matty.fuller
Advisor
Advisor

Thanks for picking up that mistake, I glazed over a bit 🙂 No need to linearize, it's easy enough to grab the pitch and include that too.

 

 

Fresh output:

 

S1600 M3
G0 X2.2321 Y1.5504
G0 Z0.6
Z0.2
Z0.152
G1 Z0.102 F10.
G23 X2.2268 Y1.5704 Z0.0492 I2. J1.5 K0.0521
G23 X2.2198 Y1.5899 Z-0.0037 I2. J1.5 K0.0521
G23 X2.2112 Y1.6087 Z-0.0565 I2. J1.5 K0.0521
G23 X2.2009 Y1.6267 Z-0.1093 I2. J1.5 K0.0521
G23 X2.1891 Y1.6437 Z-0.1622 I2. J1.5 K0.0521
G23 X2.1758 Y1.6597 Z-0.215 I2. J1.5 K0.0521
G23 X2.1612 Y1.6744 Z-0.2678 I2. J1.5 K0.0521
G23 X2.1454 Y1.6878 Z-0.3207 I2. J1.5 K0.0521
G23 X2.1285 Y1.6997 Z-0.3735 I2. J1.5 K0.0521
G23 X2.1106 Y1.7102 Z-0.4263 I2. J1.5 K0.0521
G23 X2.0919 Y1.719 Z-0.4792 I2. J1.5 K0.0521
G23 X2.0724 Y1.7262 Z-0.532 I2. J1.5 K0.0521
G23 X2.0525 Y1.7316 Z-0.5848 I2. J1.5 K0.0521
G23 X2.0321 Y1.7353 Z-0.6377 I2. J1.5 K0.0521
G23 X2.0114 Y1.7372 Z-0.6905 I2. J1.5 K0.0521
G23 X2.2375 Y1.5 Z-0.73 I2. J1.5 K0.0521
G3 I2. J1.5
G1 X2.2377 Y1.5133 F20.

 

Updated code for the PLANE_XY output:

 

if(isHelical()){
		  var pitch = getHelicalPitch();
		  writeBlock(gMotionModal.format(clockwise ? 22 : 23), xOutput.format(x), yOutput.format(y), zOutput.format(z), iOutput.format(cx, 0), jOutput.format(cy, 0), kOutput.format(pitch, 0), getFeed(feed));
	  }

 

Only thing I'm not sure of there is for ZX and YZ planes, which of IJK correlate to XYZ - the manual you provided only states which defines the pitch, not which is X and Y. That said, I don't think Fusion will give you helices on any plany other than YZ at the moment, but I'm not sure. Proceed with caution 🙂

Message 11 of 33

HughesTooling
Consultant
Consultant

My concern looking at the example in the manual was the G92 at the start, not sure if it's necessary and if it is I don't know if you'd need to cancel it. Seems odd you'd move to a Z height then need a G92 with the same height.

 

If the code above does work, something you could look at is changing the maximum circular sweep in the post and you'd get one helix instead of several like the example above. Maximum circular sweep is normally set to 180° so if you change it to get more efficient helixes you will need to make sure you deal with what happens with full circles. For my Anilam control I just commented out the maximumCircularSweep line.

 

 

//maximumCircularSweep = toRad(1800);

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Message 12 of 33

HughesTooling
Consultant
Consultant

@matty.fuller wrote:

 

Only thing I'm not sure of there is for ZX and YZ planes, which of IJK correlate to XYZ - the manual you provided only states which defines the pitch, not which is X and Y. That said, I don't think Fusion will give you helices on any plany other than YZ at the moment, but I'm not sure. Proceed with caution 🙂


 

The picture in post #8 gives detail of how to deal with G18/19 arcs. I did asked in the CAM forum if Fusion can generate helices in ZX and YZ but never got an answer. I think I got it correct in my post but couldn't come up with anything that used the other planes.

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Message 13 of 33

mrm1018
Advocate
Advocate

Thank you Matt!

 

However, this post didn't work either.  I'm getting the same circle error, which I think is because you have X and Y values in the G22/23 block.

 

I think it just needs I, J, K, and Z.

 

I think the table just needs to be positioned to the XY starting point of the helix right before the helix move...outside of the G22/23 block.

 

Shouldn't these XY values always be exactly the same?

XYvalues.JPG

 

 

-Mike

0 Likes
Message 14 of 33

HughesTooling
Consultant
Consultant

The maximum sweep is set to 365° for some reason, that's why the XY are different on each line. If the format's correct you should only need one line, something like this

 

G0 X2.2321 Y1.5504
G0 Z0.6
Z0.2
Z0.152
G1 Z0.102 F10. 
G23 Z-0.73 I2. J1.5 K0.0521
G3 I2. J1.5 G1 X2.2377 Y1.5133 F20.

 

Mark

 

Edit, Might need the IJ before the Z depends how fussy the control is.

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Message 15 of 33

mrm1018
Advocate
Advocate

Thanks Mark!

 

Also, I'm positive we cannot have X and Y values in the G22/23 blocks when we are in G17 (XY plane)

noXYinG17allowed.JPG

0 Likes
Message 16 of 33

HughesTooling
Consultant
Consultant

Give this post a try, I set the max sweep to 1000000, and sorted the format. Test carefully

 

Mark

 

Quick Edit. It will be interesting to see if the full circle at the bottom of the helix works correctly. Next test might be a 2 level pocket.

;1
;(Tool4 D=0.5 - flat end mill)
G90
G17

S1600 M3
G0 X2.2321 Y1.5504
G0 Z0.6
Z0.2
Z0.152
G1 Z0.102 F10.
G23 I2. J1.5 Z-0.73 K0.0521
G3 X2.2375 Y1.5 I2. J1.5
G1 X2.2377 Y1.5133 F20.

 

Test the post carefully and I'd better add this 

The accompanying advice and or non-standard post processor is provided as-is and without warranty of any kind, and usage is at the user’s own risk.

Do not put custom posts in the generic posts folder. Use the personal folder. or another location.

Fusion 360 CAM Personal Posts Folder Locations

_______________________________________________________________________________

Microsoft Windows:
%appdata%\Autodesk\Fusion 360 CAM\Posts

Mac / Apple / OSX:
/Users/<user id>/Autodesk/Fusion 360 CAM/Posts

 

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Message 17 of 33

mrm1018
Advocate
Advocate

Thanks Mark, giving it a try now!  Give me 15 minutes!

 

-Mike

0 Likes
Message 18 of 33

HughesTooling
Consultant
Consultant
Accepted solution

Please download again I noticed the format was wrong for G18/G19, might not matter as I'm not sure Fusion can use them for a helix. I updated the version to v21 and removed the post processor from my other post.

 

 

Test the post carefully and I'd better add this 

The accompanying advice and or non-standard post processor is provided as-is and without warranty of any kind, and usage is at the user’s own risk.

Do not put custom posts in the generic posts folder. Use the personal folder. or another location.

Fusion 360 CAM Personal Posts Folder Locations

_______________________________________________________________________________

Microsoft Windows:
%appdata%\Autodesk\Fusion 360 CAM\Posts

Mac / Apple / OSX:
/Users/<user id>/Autodesk/Fusion 360 CAM/Posts

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Message 19 of 33

mrm1018
Advocate
Advocate

Thank you Mark, I tried the previous version, and it worked fine on the helix!  ...well, without a tool or chuck of material loaded in the machine.

 

I'm deleting the old post, and will try this latest one on a chuck of plastic.

 

One thing I did notice, unrelated to the helix...is that the adaptive milling it jerky on my machine, unlike the other roughing techniques.  Is this normal for adaptive?

 

-Mike

0 Likes
Message 20 of 33

HughesTooling
Consultant
Consultant

To try and help with the adaptive problem try enabling Smoothing in the op, you might be struggling with block processing.

 

Next test should be arcs in the G18/19 planes, try the attached file. I've enabled smoothing in all the ops.

 

Looks good backploted with NC Corrector,

before.png

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature