Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

posting helical G-code

Status
Not open for further replies.

moog2

Mechanical
Jan 16, 2007
441
When posting a helical program for finnish milling a bore, the program is so long it fills the memory of the (old) fanuc controller.
Can i change the post to output helical path's in a few lines, as if you were programming by hand ??
 
Replies continue below

Recommended for you

Not at work... but I seem to recall a custom command with instructions that ships with Postbuilder to do this.

--
Bill
 
Yes there is a custom command in there, but there must be more to it, i've got it in there, but the output is the same, so i thought you must have to do something to make it run the command, like a user defined event or something ??
 
Are you sure you are getting helical motion in the tool path? It will not take linear moves and turn them into helical motion.

You do not need a UDE to get helical output

John Joyce
Tata Technologies
1675 Larimer St.
Denver, CO
 
i spoke with PLM today, apparently, the ramp on shape engage, i'm using to helically mill the bore, won't be interpreted as a helical move.
So i'll just have to drip feed the program to the machine, and put up with it's size.
Please expand on the UDE in case it's useful to me?
 
You can mill holes using a helical motion - see the attached part. You do not need a UDE (post Command) to output helical motion. Just add the pb_cmd_helix.tcl procedure to the post. There is a formula to define the helical percentage.
hole diameter - cutter diameter = X
X/cutter diameter = Y
Y*100 = helical diameter%



John Joyce
Tata Technologies
1675 Larimer St.
Denver, CO
 
I agree with Joycejo.

Just to be clear for all, you are using the "engage motion" to actually cut the part, correct?

Set your paramaters in the "non cutting moves" dialog, right?

J
 
Jaydenn, Yes I'm using the engage motion to cut the part.

Joycejo, Can you expand on the formula to define helical percentage ?

This is the text in the command...

#
# The default setting for mom_sys_helix_pitch_type is "rise_radian".
# This is the most common. Other choices are:
#
# "rise_radian" Measures the rise over one radian.
# "rise_revolution" Measures the rise over 360 degrees.
# "none" Will suppress the output of pitch.
# "other" Allows you to calculate the pitch
# using your own formula.
#
# This custom command uses the block template circular_move to output
# the helix block. If your post uses a block template with a different
# name, you must edit the line that outputs the helix block.

#
# The following variable deines the output mode for helical records.
#
# FULL_CIRCLE -- This mode will output a helix record for each 360
# degrees of the helix.
# QUADRANT -- This mode will output a helix record for each 90
# degrees of the helix.
# LINEAR -- This mode will output the entire helix as linear gotos.
# END_POINT -- This mode will assume the control can define an entire
# helix in a single block.

set mom_kin_helical_arc_output_mode FULL_CIRCLE

MOM_reload_kinematics



#=============================================================
proc MOM_helix_move { } {
#=============================================================
global mom_pos_arc_plane
global mom_sys_cir_vector
global mom_sys_helix_pitch_type
global mom_helix_pitch
global mom_prev_pos mom_pos_arc_center
global PI

switch $mom_pos_arc_plane {
XY { MOM_suppress once K ; set cir_index 2 }
YZ { MOM_suppress once I ; set cir_index 0 }
ZX { MOM_suppress once J ; set cir_index 1 }
}

switch $mom_sys_helix_pitch_type {
none { }
rise_revolution { set pitch $mom_helix_pitch }
rise_radian { set pitch [expr $mom_helix_pitch / ($PI * 2.0)]}
other {
#
# Place your custom helix pitch code here
#
}
default { set mom_sys_helix_pitch_type "none" }
}

MOM_force once X Y Z

if {$mom_sys_helix_pitch_type != "none"} {
MOM_force once I J K
if {$mom_sys_cir_vector == "Vector - Arc Center to Start"} {
set mom_prev_pos($cir_index) 0.0
set mom_pos_arc_center($cir_index) $pitch
} elseif {$mom_sys_cir_vector == "Vector - Arc Start to Center"} {
set mom_prev_pos($cir_index) $pitch
set mom_pos_arc_center($cir_index) 0.0
} elseif {$mom_sys_cir_vector == "Unsigned Vector - Arc Center to Start"} {
set mom_prev_pos($cir_index) 0.0
set mom_pos_arc_center($cir_index) $pitch
} elseif {$mom_sys_cir_vector == "Absolute Arc Center"} {
set mom_pos_arc_center($cir_index) $pitch
}
}


#
# You may need to edit this line if you output more than one block
# or if you have changed the name of your circular_move block template
#
MOM_do_template circular_move


} ;# MOM_helix_move


} ;# uplevel

....... it talks briefly about you may need to do this or that, but no proper explanation.
 
Hi everyone, anyone tried a different approach then "the-approach-trick"?
I am thinking about the hole making but based on 2d-wireframe with tagging?
Anyone experience?

Thanks in advance, Bert
 
moog2,

You are going to use rise per radian or rise per revolution depending on what your machine tool needs. It should be in the programming manual.

I do not have a license for "Hole Making" so this is the only method I use when milling out a hole.

As far as the formula for helical percentage, I did not come up with this, someone else gave me this a long time ago.




John Joyce
Tata Technologies
1675 Larimer St.
Denver, CO
 
Moog2,
You will/should not need to mess with the post.
As long as that custom command is in the post, you will get helical output. The default setup of the custom command will satisify most users.

As far as the Formula goes, you don't "need" a formula, the formula simply removes the guess work. You work with the formula on you desktop calculator if you like, not in NX.

If you so desired, you could just enter the helix percentage as "10", generate, and visually inspect the path(as a matter of fact, try it on joycejo's part, change the minimun ramp too...).
If the helix is close to the hole size, you are good.
If it's not, you tweak the value and go again. Of course, calculating the value avoids the messy guess work, hence the formula.

I go one step further and define a Pre-drill point ON CENTER, that ensures the helix is always concentric to the bore even if I choose to modify the percentage.

Jeez... I hope that makes sense to you. And I hope I'm not describing things you already know!!!

J
 
I had a play with joyejo's example, it doesn't work for what I'm doing....
If you change his cutter to .250" and set the cut type to profile, it only cut's the bottom, i need it to "follow the profile" all the way to the floor, and do it with a helix, Any idea's ??
 
It will work.
Start with Joycejo's original example.
1. Change tool to Ø0.250"
2. Change cut pattern to "standard drive"
3. Change "open area engage" type to "same as closed area"
4. re calculate helix percentage which will give you 500%
5. generate!

Best of luck!

J
 
 http://files.engineering.com/getfile.aspx?folder=aca85026-4096-45eb-986a-981c9585df3c&file=mill_hole_250.prt
Take a look at the expressions in the file I had sent. If you change the expression tool_dia, to mathe the diameter of the tool you are using the helical_dia expression will give you the percentage value. If the hole size changes the expression will update. Unfortunatly in NX expressions are not associative in CAM so you will need to enter the value each time the hole or tool change.

John Joyce
Tata Technologies
1675 Larimer St.
Denver, CO
 
thanks, i'll give it a try, monday
 
thank's guy's it works well.
It's a shame you can't use expressions in toolpaths tho eh?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor