Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Haas VR11 G43/G143


Steve Landkamer
 Share

Recommended Posts

I have tweaked in several 5-axis posts in my 15 years experience with Mastercam but this one is stumping me. :blink:

So my question is: Is anyone running a Haas VR11 with A&B on the spindle and using a mix of G43 & G143 in the same program?

Not only having G43 & G143 in the same program but....only subtracting the pivot length from the Z while in G143.

Below my code examples is what his request to me is. Has anyone done this successfully?

 

I have tried to do the "math" in the output post blocks but it won't let me recalculate the "zabs_s" or "zout" before or inline.

 

For example; here is some code out of one of my other customers VR11 posts:

G0 G54 G90 X4.2032 Y2.7257 B0. A-15. S1069 M3
G143 H29
Z3.8722
Y1.7163 Z.1051
G1 Y1.6905 Z.0085 F6.42
X3.7068
X3.2105

 

What the new customer is looking for would be:

G0 G54 G90 X4.2032 Y2.7257 B0. A-15. S1069 M3
G143 H29
Z-9.5849
Y1.7163 Z-13.352
G1 Y1.6905 Z-13.4486 F6.42
X3.7068
X3.2105

 

Quote from my customers email to me:

I need to post the absolute XYZ positions of the points on the model.

I do not need ANY position compensations relative to the rotary axes.

The only position compensation that I need is to subtract the pivot length from the Z value when it G143 mode.

G143 should be used any time A or B <> 0

This is what I need:

When in G43 mode Z = Z

When in G143 Z = Z - pivot Length

 

 

If you need an explanation of why I would want to do this, keep reading below...

I want to use both G43 and G143 in the same program; using the same H#'s; and the same work plane.

G43 for XY planes, G143 for all other planes.

G43 allows for G2; G3; and canned cycles.

G143 compensates for A & B; but limits me to G0 & G1 interpolations.

The problem with doing it any other way is that you wind up with multiple H#'s, work planes, or you have to program everything in one mode G43 or G143.

Link to comment
Share on other sites

Yeah we have a VR11 here as well, and regularly post out programs with both 3 axis and multi axis toolpaths in them, so it has both a G43 and a G143 in it. Unfortunately, the post does not seem to recognize the correct placement of these offset call outs so it can get pretty random. ie. G43 multiaxis paths and G143 for 3 axis paths.

I haven't been able to figure it out, and neither has the reseller on a number of occassions. The only way to fix it is to go into the actual code and manually change them. Total pain in the behind, and can get a little dicey too if you accidentally miss one.

 

If you find a fix then let me know.

Link to comment
Share on other sites

Yeah we have a VR11 here as well, and regularly post out programs with both 3 axis and multi axis toolpaths in them, so it has both a G43 and a G143 in it. Unfortunately, the post does not seem to recognize the correct placement of these offset call outs so it can get pretty random. ie. G43 multiaxis paths and G143 for 3 axis paths.

I haven't been able to figure it out, and neither has the reseller on a number of occassions. The only way to fix it is to go into the actual code and manually change them. Total pain in the behind, and can get a little dicey too if you accidentally miss one.

 

If you find a fix then let me know.

 

I do have some post logic that outputs the G43 & G143 correctly. I put this in the "p_goto_strt_tl" postblock, it checks to see if it is a 5-axis path with the mill5$ test.

if mill5$ = 1, pbld, n$, "G143", *tlngno$, *zabs_s, e$
else, pbld, n$, "G43", *tlngno$, *zabs_s, e$

 

Do you use 2 different H words one for the G43 & a different one for the G143? How are you setting up your tool lengths?

Steve

Link to comment
Share on other sites

Yeah, every time the tool changes orientation in the 5 axis paths it calls a G143 and an H value. I didn't want to start mucking around with the post too much in case I did something horribly wrong.

But I will give that line you posted a try and see if it works for me.

Link to comment
Share on other sites

Hmm... that is interesting. I run one also, but I program everything G43 in 3 axis or as gage length programming. I normally do not use G143 because of all the restrictions (more trouble that it is worth). I fixed my post to output all of the Haas 5 axis G-Code canned cycles (i.e. G161, G162, G163, G164, G165, G 166, G169). I'm not sure if the 5 axis G-code canned cycles are compatible with G143.

 

I set my tools off of the tool setter. I use the OAL (over all length) for the tools in MasterCam. I use a spreadsheet to calculate the overall length from the tool setter value.

 

Just curious, which post are you using? I was digging around in an old post that was here when I arrived which I do not use (I wrote mine using the Generic 5 axis post). In the old post is ppivotcomm post block that you might be able to add for a different G43/G143 that would change the gage lenght output.

 

Such as

pivot : 0.0000 # G43 Distance from tilt pivot point to gauge line

pivot1 : 13.4571 #G143 Distance from tilt pivot point to gauge line

 

Here is the rest of the post info:

 

pt_shftmx : 0. #Offset tilt pivot point - mm

pt_shftmy : 0. #Offset tilt pivot point - mm

pt_shftmz : 0. #Offset tilt pivot point - mm

pt_shftix : 0. #Offset tilt pivot point - inch

pt_shftiy : 0. #Offset tilt pivot point - inch

pt_shftiz : 0. #Offset tilt pivot point - inch

 

fmt 2 pivot #Pivot length - rotary centre to gauge line

 

ppivotcomm

#Haas G143 only handles the tool length, post must handle the pivot distance calc

#we're moving the code up by the pivot length then back fown in Z by that amount

 

if fiveax_comp | rot_feed,

[

spaces$ = 0

rc2 = t$

gauge = rbuf(2,rc2)

if fiveax_comp = 0, gauge = 0

vtlng1z = pivot + gauge

pbld, n$, pspc, scomm_str, "POSTED WITH ", *pivot, " PIVOT DISTANCE", scomm_end, e$

pbld, n$, pspc, scomm_str, "POSTED WITH ", *gauge, " TOOL GAUGE LENGTH", scomm_end, e$

#if tdef_fq_sw, pbld, n$, pspc, scomm_str, "GAUGE LENGTH FROM USER INPUT", scomm_end, e$

#else, pbld, n$, pspc, scomm_str, "GAUGE LENGTH FROM TOOL DEFINITION", scomm_end, e$

#if fiveax_comp, pbld, n$, pspc, scomm_str, "VALUES USED FOR 5-AXIS LENGTH COMP", scomm_end, e$

#if rot_feed, pbld, n$, pspc, scomm_str, "VALUES USED FOR 5-AXIS FEEDRATE CALCULATIONS", scomm_end, e$

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...