View Full Version : Solidcam Hurco post

02-01-2011, 02:02 AM
Anyone know how to get a SolidCam gpp to output absolute rather than
incremental z values for thread milling? The controller I'm using
does not have canned thread cycles, but does do helical milling just
fine. From helical milling jobs, the Z output code from my gpp is
absolute which works fine, but it always generates incremental Z
output from thread milling jobs which is a problem. Gota be a simple
change in the MAC or gpp file somewhere...any quick fix??

Brakeman Bob
02-01-2011, 02:57 AM
Run trace and see what part of the GPP is generating the threadmilling code. The edit that (GPP) code so that instead of incremental (which are calculated in older posts but are output as discrete variables from SC 2010 on) the G code line uses absolute positions.

One thing to bear in mind is threadmiling usually is declared as a drilling type job in the MAC file so is independent of helical milling in Profile and Pocket jobs. This means that you will have to declare the variables such as diameter, pitch, approach etc. in job parameters when the threadmill drilling job is created.

02-01-2011, 09:48 PM
Thanks for the response Bob; I've never used gpp prior to this, and the overall picture is still fuzzy...but here goes...Trace indicates @relative_mode is called, and then @arc is called, generating the thread mill Gcode.

The thread_proc is set to "N", and nothing is defined in the MAC @thread procedure. The@relative_mode call can be deleted, but the problem remains that the gcode Z position down steps generated are relative, not absolute.

This controller does not have a "drill" procedure for thread milling so I don't think I want to declare a @drill in the MAC, (Solidcam 2006 version) The @arc gpp which works fine for helical milling is:

;-- arc plane --

if arc_direction eq CCW then
gcode = 3
else ; CW
gcode = 2
;if change(gcode) then
call @gen_nb
if print_gcode eq true
{[' X'xpos] [' Y'ypos] [' Z'zpos]}

if arc_plane eq XY then
{' I'xcenter:xpos_f, ' J'ycenter:ypos_f}
if change(zpos) then
{' K'zpos:zpos_f}

It generates the following gcode format for a helical move with this controller:
N60 G2 X0. Y-0.65 Z0.0587 I0. J-0.85 K-0.0489
N65 G3 X0. Y-0.65 Z-0.1 I0. J0. K-0.1587
N70 G3 X0. Y-0.65 Z-0.2 I0. J0. K-0.1
N75 G3 X0. Y-0.65 Z-0.3 I0. J0. K-0.1



When a similar helix is generated from a thread job I get:

N65 G3 X0.2 Y0.2 Z-0.0125 I0. J0.2 K-0.2 F4
N70 G2 X0. Y0. Z-0.1 I0.6177 J0. K-0.1125
N75 G2 X0. Y0. Z-0.1 I0.6177 J0. K0.0875
N80 G2 X0. Y0. Z-0.1 I0.6177 J0. K0.2875


The K value is a term this controller uses in addition to the Z value, for helical interpolation, it describes the signed distance of the slope per 360 degrees, or fraction thereof. Maybe @arc can be modified with some kind of conditional statement to spit out the right format when the job type is threading?

Brakeman Bob
02-02-2011, 03:05 AM
Yes, a simple conditional statement would do the trick. For taht you would need to add a numerical variable to store the old value of zpos and then just add the incremental move. However, might I ask why you don't use your helical milling code that just works fine for thread milling using a step down equal to the thread pitch? Does that give you bad threads?

Are you using the threadmilling cycle that is resident in SolidCAM? I have never used it - all my posts are configured with threadmilling as a drill job

02-16-2011, 02:17 PM
Programmed postprocessor for Solidcam, contact us at solidcamx@gmail.com

02-18-2011, 03:26 AM
I'm just doing a bunch of parts on my Fadal (Fanuc control) which uses unmodified code from the threadmilling technology. It uses @arc to generate the code. The actual thread I'm cutting is an external 9/16 18TPI and it's doing fine.

I'm using a heavily modified 9/16 18TPI tap to cut the thread and contrary to what many have told me it's doing a very good job. Just need to carefully tickle the tool offset compensation. Job Done!

12-06-2011, 06:05 PM
I may soon be making the postprocessor for Hurco


12-06-2011, 06:06 PM
I may soon be making the postprocessor for Hurco