i am thinking of purchasing pronest is anyone using it with mach on a plasma machine and does it gen the correct gcodes
i am thinking of purchasing pronest is anyone using it with mach on a plasma machine and does it gen the correct gcodes
does anyone know anything about mtc nesting slash gcode program for a plasma
i have no experience with this software but the price are high.. they can build custom post generator (gcode to suit your machine needs)
but i honestly would suggest you use sheetcam and mynesting.com for the price wise.. this is the route i use and it has been working really well for me..
Regarding your question about ProNest, I have used the current version (ProNest 2010) and the earlier versions (7 and 8). The supplier (MTC Software, which is a Hypertherm brand) provides machine setup files which give the specific g code output for the cutting machine (plasma, laser, waterjet, oxyfuel, etc). I have found ProNest to be very easy to learn and use.
will mtc set up your post for you they sent me a demo version all it says is plasma demo mode, will they let you try bfore you buy , alot of progams looks good on demo but very dificult to set up i have two tables running 2 shifts i dont have time for down time ,Thanks
Barry
ProNest is designed for industrial cutting applications that need CAM software to improve productivity and design to production times. Compared to entry level nesting software packages....ProNest seems expensive, but proves to be very cost effective.
I found that the ProNest is very intuitive....yet online training sessions are included with the package. The nesting capability, which is designed for the best combination of plate utilisation....as well as torch collision avoidance and minimal heat input for warpage control...is second to none. Further...ProNest has many features that can help you improve cut quality through very adaptive lead in, lead out and overburn designs that are focused on improving quality by minimizing the start/stop dings and divots that are present in many plasma cutting applications. Further....this CAM software can take full control of plasma and THC functions (if your plasma and THC have the interfac capability) that can further reduce imperfections caused by incorrect height in small features as well as controlling the cut speed.
MTC was purchased by Hypertherm on January 1 2009. At last weeks Fabtech show in Chicago Hypertherm was demonstrating an integrated cutting system which utilized an HPR400xd (400 Amp high definition class plasma), a Hypertherm EdgePro cnc control, an advanced Hypertherm ArcGlide THC....all working in conjunction with the MTC software. The demo included inputing simple parts as .dxf files, the software would accurately nest these parts....and also would recognize small features on the part and generate machine codes that improved small feature quality by improving lead ins, lead outs, plasma on/off signals, Changing plasma process gas to minimize hole taper, as well as controlling height during small features to eliminate torch diving. The result: small holes without dings, divots or taper.....these holes were comparable to drilled or laser cut holes on materials from gauge to 1" thick....yet were cut at plasma speed and at plasma (low) operating cost.
I was the Hypertherm guy running the machine for 4 days....so I experienced this all first hand! In almost 32 years of plasma cutting...this is one of the biggest breakthroughs in cut quality that I have seen.....and the part of the system that allowed this improvement was the MTC ProNest software and its capability.
Granted....this is all high end (read expensive) plasma cutting equipment designed for industrial high duty cycle, high production use....but many of the features that ProNest brings to the table for this application will improve processes on lesser equipment as well. MTC also has some other Nesting and Post Processing software for simpler applications at lower prices. And now it is supported by the Hypertherm brand!
Best regards, Jim Colt
Did you ever get any where with the pronest post for mach? I'm working with mtc trying out nestmaster, their lower cost version. I'm having a heck of a time getting the I and J 's to turn out right. It seems like no matter what I do in the post or mach it tends to be way off. Here's the post I'm working with:
[MAIN PART OF THE CFF]
[MACHINE PROPERTIES]
name=Mach 3 with Touch-n-Go
model=No Subroutines
subroutines=0
comment_indicator=//
Machine Type=0
// Machine Types: 0 = plasma, 1 = oxyfuel, 2 = waterjet, 3 = laser, 4 = router
[PROCESS NAMES]
CUT1=Cut
SCRIBE1=Scribe
PUNCH1=Punch
[REVISION NUMBER]
$Revision: 1.1 $
[REVISION NOTES]
1.0 Original version from Generic 1.36
1.1 A bit of rephrasing and cleanups on the configuration comments
[MAIN]
//
////////////////////////////////////////////////////////////////////////////////
// The following variables can be initialized in this section for NestMaster.
// For TurboNest 2010 or ProNest 2010, they can be initialized here or set in
// a process parameter file. In addition, particularily for NestMaster, each
// of the parameters has a prompt line. If the // is removed from in front of
// the specific prompt lines, NestMaster (or TurboNest or ProNest) will prompt
// the user for that value when they output a cnc file.
////////////////////////////////////////////////////////////////////////////////
//
// The following section shows how the values are used in the Touch-n-Go sequence
//
// G28.1 Z($G28Z)
// G92 Z0
// G00 Z($SWITCHOFFSET)
// G92 Z0
// G00 Z($PIERCEHEIGHT)
// G04 P($PREHEAT) Only shows up if $PREHEAT>0
// M03
// G04 P($PIERCEDELAY) Only shows up if $PIERCEDELAY>0
// cutting occurs here
// M05
// G04 P($ENDDELAY) Only shows up if $ENDDELAY>0
//
IF $UNITS=INCH
// If not prompting, these are the default inch values
$G28Z := 3.0/25.4
$SWITCHOFFSET:=0.054
$PIERCEHEIGHT:=0.125
$SAFEZ:=2.0
ELSE
// If not prompting, these are the default metric values
$G28Z := 3.0
$SWITCHOFFSET:=1.37
$PIERCEHEIGHT:=3.2
$SAFEZ:=50.0
END
// These values are the same for inch or metric
$PREHEAT:=0.0
$PIERCEDELAY:=0.4
$ENDDELAY:=0.0
// If non-zero, SCODE will come out at the top of the file after the F1 line
$SCODE:=0
// $TOOL is used as the T value in the M06 line. If zero, the M06 line is omitted.
$TOOL:=0
// CONFIGTOUCHNGO can have 3 possible values:
// $CONFIGTOUCHNGO:=NONE Don't do Touch-N-Go
// $CONFIGTOUCHNGO:=PART Do a Touch-N-Go only on the first profile of a part
// $CONFIGTOUCHNGO:=ALL Do a Touch-N-Go for every profile start
$CONFIGTOUCHNGO:=ALL
//
// For the next several lines, if you want to prompt the user for the individual
// values, remove the // from in front of the line that you want prompting for.
// If you don't want to prompt the user for a value, then leave the // in front
// of the prompt for that value.
//
//$G28Z := 'NPROMPT(Enter G28.1 Z Value)
//$SWITCHOFFSET := 'NPROMPT(Enter Switch Offset Z Value)
//$PIERCEHEIGHT := 'NPROMPT(Enter Pierce Height)
//$SAFEZ := 'NPROMPT(Enter Safe Z Value)
//$PREHEAT := 'NPROMPT(Enter Preheat Time 0 for none)
//$PIERCEDELAY := 'NPROMPT(Enter Pierce Delay 0 for none)
//$ENDDELAY := 'NPROMPT(Enter End Delay 0 for none)
//$SCODE := 'NPROMPT(Enter S Code 0 for none)
//$TOOL := 'NPROMPT(Enter Tool number 0 for none)
// 0 => Use G41/G42/G40 on lines by themselves
// 1 => Use G41/G42 with leadin move, G40 with leadout
// 2 => Don't use G41/G42 (perhaps the CUTON in the machine triggers cutter comp?)
$CONFIGUSEKERFONMOVE:=2
// 0 => G40 on an arc move is acceptable
// 1 => Delay G40 to the next rapid if still in CW/CCW mode
$CONFIGNOG40ONARC:=0
// 0 => Use K value with kerf amount
// 1 => Use D value with G41/G42
// 2 => Don't include anything with G41/G42
// 3 => Use Kerf value as D value (typically used with TurboNest
$CONFIGUSEDVALUE:=2
// 0 => Use feedrate on a line by itself
// 1 => Use feedrate on the leadin motion line
// 2 => Use no feedrates
$CONFIGFEEDRATEONMOVE:=1
// 0 => Output Feedrate with each process start
// 1 => Suppress Feedrate if it hasn't changed
$CONFIGSUPRESSFEEDRATE:=0
// 0 => No G61/G64 codes
// 1 => Include G61/G64 exact stop codes based on angle change at end of motion
// 2 => Use G09 for exact stop check on each occurance
$CONFIGUSEEXACTSTOPCHECK:=0
// 0 => Start of Profile line numbers are on lines by themselves
// 1 => Start of Profile line numbers are on the process on rapid motion line
$CONFIGSOPLINENOLOCATION:=1
// 0 => Include G00/G01/G02/G03 on every motion line
// 1 => Suppress repeated G00/G01/G02/G03 codes
$CONFIGUSEMODALMOTIONCODES:=0
// 0 => Include X and Y on every motion line
// 1 => Suppress duplicate X, Y codes
// 2 => Include X and Y on all rapid motion, suppress on cutting motion
$CONFIGUSEMODALXY:=2
// CONFIGAHCISON can start out as 0, 1, 2, or 3
// 0 => implies that AHC defaults at start of program to off
// 1 => implies that AHC defaults at start of program to on
// 2 => implies that an AHC code should be used at the start in any case
// 3 => No AHC codes
// In most cases, 1 or 3 are the only usable choices.
$CONFIGAHCISON:=1
// 0 => I, J are absolute if X, Y are absolute, otherwise incremental
// 1 => I, J are always incremental
$CONFIGIJALWAYSINCREMENTAL:=1
// 0 => CUT OFF, CUT OFFUP are as normal
// 1 => At end of exterior profiles, skeleton cuts, and Crop cuts, always use OFFUP
$CONFIGFORCEEXTERIORTOOFFUP:=1
// Set a Zero point. By default, use $INITPTX, $INITPTY, which is where the
// starting point is located. ZEROPT_ allows setting a zero point separate
// from the initial point. To start the head out in the upper left of the
// sheet, with all dimensions in absolute from the lower left, set the init
// point in PN to the upper left, and use $ZEROPTX:=$SHEETMINX and
// $ZEROPTY:=$SHEETMINY
$ZEROPTX := $INITPTX
$ZEROPTY := $INITPTY
$AHCISON := $CONFIGAHCISON
{START OF FILE}
// Uncomment the next line to include a list of all parts, quantities on the list
//{OUTPUT PLP LIST INFO}
{PROGRAM INIT}
{VALIDATE PLATE}
{OUTPUT PROFILES}
{END OF FILE}
[SECTION PART OF THE CFF]
[START OF FILE]
[PLP INFO LINE]
// The next line might need comment characters adjusted if you're using the part list
{LINENO :M}(PART#:{ROOT PART NAME} QTY {PART QUANTITY ON NEST})
[ROOT PART NAME]
// ROOT PART NAME is the part file name without path (used only in PLP INFO LINE)
ARGUMENT=$ROOTPARTNAME
FORMAT=%s
[PART QUANTITY ON NEST]
// Number of times this part occurs on this nest (used only in PLP INFO LINE)
ARGUMENT=$PARTQUANTITYONNEST
FORMAT=%d
[PROGRAM INIT]
// Next two lines are example of how to prompt for a program number
//$PROGRAMNUMBER := 'NPROMPT(Enter Program Number)
//P{PROGRAM NUMBER}
{LINENO :M}(Filename: {ROOT FILE NAME})
{LINENO :M}(Date: {DATE})
{UNITS}
{MODE}
{LINENO :M}F1
{INITIALIZE CUT PARAMETERS}
IF $SCODE>0
{LINENO :M}{SCODE}
END
{RESET PARAMETERS}
[SCODE]
ARGUMENT=$SCODE
FORMAT=S%d
[UNITS]
// Common G codes for units are G70 or G20 for inch and G71 or G21 for metric
IF $UNITS=INCH
{LINENO :M}G20
ELSE
{LINENO :M}G21
END
[MODE]
IF $MODE=ABSOLUTE
{LINENO :M}G53 G90 G40
//{LINENO :M}G92{INITPTX}{INITPTY}
ELSE
{LINENO :M}G91 G40
END
[QUAD ARCS]
0
[ROOT FILE NAME]
ARGUMENT=$ROOTFILENAME
FORMAT=%s
[PROGRAM NUMBER]
ARGUMENT=$PROGRAMNUMBER
FORMAT=%d
[DATE]
ARGUMENT=$DATE
FORMAT=%s
[TIME]
ARGUMENT=$TIME
FORMAT=%s
[MATERIAL THICKNESS]
ARGUMENT=$MATERIALTHICKNESS * $CONVERSION
FORMAT={Z FORMAT}
[MATERIAL NAME]
ARGUMENT=$MATERIALNAME
FORMAT=%s
[PART CLASS]
ARGUMENT=$PART_CLASS
FORMAT=%s
[CNC NAME]
ARGUMENT=$FILENAME
FORMAT=%s
[NEST NUMBER]
ARGUMENT=$NESTNUMBER+1
FORMAT=%d
[NUMBER OF NESTS]
ARGUMENT=$NUMBER_OF_NESTS
FORMAT=%d
[TIMES TO RUN]
ARGUMENT=$CUTNUMBEROFTIMES
FORMAT=%d
[PRODUCTION TIME]
ARGUMENT=$PRODUCTIONTIME
FORMAT=%4.3f
[SHEET X]
ARGUMENT=$SHEETX * $CONVERSION
FORMAT={DIMENSION DISPLAY FORMAT}
[SHEET Y]
ARGUMENT=$SHEETY * $CONVERSION
FORMAT={DIMENSION DISPLAY FORMAT}
[STEP AND REPEAT START]
{LINENO :M}G97
[STEP AND REPEAT END]
{LINENO :M}G98
[VALIDATE PLATE]
IF $VALIDATEPLATE = TRUE
// Note that X and Y both need to be set each at each step for incremental
// output to work correctly.
$X := $INITPTX
$Y := $INITPTY
IF $INITPTLOCATION = LOWERLEFT
$X := $SHEETMAXX
$Y := $SHEETMAXY
ELSE
IF $INITPTLOCATION = LOWERRIGHT
$X := $SHEETMINX
$Y := $SHEETMAXY
ELSE
IF $INITPTLOCATION = UPPERRIGHT
$X := $SHEETMINX
$Y := $SHEETMINY
ELSE
$X := $SHEETMAXX
$Y := $SHEETMINY
END
END
END
{RAPID MOTION}
IF $INITPTLOCATION = LOWERLEFT
$X := $SHEETMINX
$Y := $SHEETMINY
ELSE
IF $INITPTLOCATION = LOWERRIGHT
$X := $SHEETMAXX
$Y := $SHEETMINY
ELSE
IF $INITPTLOCATION = UPPERRIGHT
$X := $SHEETMAXX
$Y := $SHEETMAXY
ELSE
$X := $SHEETMINX
$Y := $SHEETMAXY
END
END
END
{RAPID MOTION}
END
[END OF FILE]
{CANCEL CURRENT OFFSET}
{END OF PROGRAM}
[END OF PROGRAM]
IF $RETURNTOINIT=TRUE
{LINEAR MOTION TO INIT}
END
{LINENO :M}M30
[LINEAR MOTION TO INIT]
$X:=$INITPTX
$Y:=$INITPTY
{RAPID MOTION}
[OUTPUT START INTERIOR PROFILE]
// $PREKERFED variable tracks to see if a KERF LEFT or KERF RIGHT CALL is
// made so kerf off calls can be made only if needed
{CANCEL CURRENT OFFSET}
{SOP LINENO 0}
{OUTPUT TORCH SPACING}
{ACTIVATE NEXT OFFSET}
{PROCESS ON MOTION}
$DOTOUCHNGO:=0
IF $CONFIGTOUCHNGO=ALL
$DOTOUCHNGO:=1
END
{PART NAME COMMENT}
$PREKERFED:=1
$FORCEOFFUP:=0
[OUTPUT START EXTERIOR PROFILE]
{CANCEL CURRENT OFFSET}
{SOP LINENO 0}
{OUTPUT TORCH SPACING}
{ACTIVATE NEXT OFFSET}
{PROCESS ON MOTION}
$DOTOUCHNGO:=0
IF $CONFIGTOUCHNGO=ALL
$DOTOUCHNGO:=1
END
{PART NAME COMMENT}
$PREKERFED:=1
$FORCEOFFUP:=$CONFIGFORCEEXTERIORTOOFFUP
[OUTPUT START OPEN PROFILE]
{CANCEL CURRENT OFFSET}
{SOP LINENO 0}
{OUTPUT TORCH SPACING}
{ACTIVATE NEXT OFFSET}
{PROCESS ON MOTION}
$DOTOUCHNGO:=0
IF $CONFIGTOUCHNGO=ALL
$DOTOUCHNGO:=1
END
{PART NAME COMMENT}
$PREKERFED:=1
$FORCEOFFUP:=$CONFIGFORCEEXTERIORTOOFFUP
[OUTPUT START CROP]
{CANCEL CURRENT OFFSET}
{SOP LINENO 0}
{OUTPUT TORCH SPACING}
{ACTIVATE NEXT OFFSET}
{PROCESS ON MOTION}
$DOTOUCHNGO:=0
IF $CONFIGTOUCHNGO=ALL
$DOTOUCHNGO:=1
END
{PART NAME COMMENT}
$PREKERFED:=1
$FORCEOFFUP:=$CONFIGFORCEEXTERIORTOOFFUP
[OUTPUT TORCH SPACING]
IF {TORCH SPACING REQUIRED}
IF $NUMTORCHES = 1 || $NUMTORCHES = 0
(Set 1 torch.)
{OUTPUT STOP}
ELSE
IF $USEAUTOTORCHSPACING = TRUE
// Auto torch spacing commands go here.
END
(Set {NUMTORCHES} torches at {TORCHSPACING}{TORCHUNITS}.)
{OUTPUT STOP}
END
END
[OUTPUT END INTERIOR PROFILE]
IF {KERF STILL ON} && $CONFIGNOG40ONARC=0
{KERF OFF}
END
[OUTPUT END EXTERIOR PROFILE]
IF {KERF STILL ON} && $CONFIGNOG40ONARC=0
{KERF OFF}
END
[OUTPUT END OPEN PROFILE]
IF {KERF STILL ON} && $CONFIGNOG40ONARC=0
{KERF OFF}
END
[OUTPUT END CROP]
IF {KERF STILL ON} && $CONFIGNOG40ONARC=0
{KERF OFF}
END
[LINENO]
MODAL_ARGUMENT=$LINENUMBER
IF $USELINENUMBERS = EVERYLINE
{NWORD}
END
[SOP LINENO 0]
IF $USELINENUMBERS = STARTOFPROFILE && $CONFIGSOPLINENOLOCATION=0
{NWORD}
END
[SOP LINENO 1]
IF $USELINENUMBERS = STARTOFPROFILE && $CONFIGSOPLINENOLOCATION=1
{NWORD}
END
[PART NAME COMMENT]
$SAVEPARTNAME := $PARTNAME
$SAVENUM := $PARTSEQUENCENUMBER
IF $SAVENUM != $LASTSAVENUM || $SAVEPARTNAME != $LASTSAVEPARTNAME
IF $CONFIGTOUCHNGO=PART
$DOTOUCHNGO:=1
END
IF $PARTNAMEASCOMMENT = TRUE
IF $PARTSEQUENCENUMBER > 0
(Seq {PART SEQUENCE NUMBER} - {PARTNAME})
ELSE
({PARTNAME})
END
END
END
[PART SEQUENCE NUMBER]
ARGUMENT=$PARTSEQUENCENUMBER
FORMAT=%d
[PARTNAME]
ARGUMENT=$PARTNAME
FORMAT=%s
[CHANGE OFFSETS]
{CANCEL PREVIOUS OFFSET}
{ACTIVATE CURRENT OFFSET}
[CANCEL PREVIOUS OFFSET]
IF $PROCESS != $LASTPROCESS
IF $LASTPROCESS=SCRIBE1
//{LINENO :M}M70
END
END
[CANCEL CURRENT OFFSET]
IF $PROCESS != $NEXTPROCESS
IF $PROCESS=SCRIBE1
//{LINENO :M}M70
END
END
[ACTIVATE CURRENT OFFSET]
IF $PROCESS != $LASTPROCESS
IF ($PROCESS=PUNCH1 || $PROCESS=PUNCH2 || $PROCESS=PUNCH3 || $PROCESS=PUNCH4 || $PROCESS=PUNCH5 || $PROCESS=PUNCH6) && $STOPBEFOREPUNCH = TRUE
{OUTPUT STOP}
ELSE
IF ($PROCESS=SCRIBE1 || $PROCESS=SCRIBE2) && $STOPBEFORESCRIBE = TRUE
{OUTPUT STOP}
ELSE
IF ($PROCESS=CUT1 || $PROCESS=CUT2 || $PROCESS=CUT3) && $STOPBEFORECUT = TRUE
{OUTPUT STOP}
END
END
END
IF ($PROCESS=CUT1 || $PROCESS=PUNCH1) && $TOOL>0
{LINENO :M}M06 T{TOOL}
{SAFE Z}
END
END
[ACTIVATE NEXT OFFSET]
IF $PROCESS != $NEXTPROCESS
IF ($NEXTPROCESS=PUNCH1 || $NEXTPROCESS=PUNCH2 || $NEXTPROCESS=PUNCH3 || $NEXTPROCESS=PUNCH4 || $NEXTPROCESS=PUNCH5 || $NEXTPROCESS=PUNCH6) && $STOPBEFOREPUNCH = TRUE
{OUTPUT STOP}
ELSE
IF ($NEXTPROCESS=SCRIBE1 || $NEXTPROCESS=SCRIBE2) && $STOPBEFORESCRIBE = TRUE
{OUTPUT STOP}
ELSE
IF ($NEXTPROCESS=CUT1 || $NEXTPROCESS=CUT2 || $NEXTPROCESS=CUT3) && $STOPBEFORECUT = TRUE
{OUTPUT STOP}
END
END
END
IF ($NEXTPROCESS=CUT1 || $NEXTPROCESS=PUNCH1) && $TOOL>0
{LINENO :M}M06 T{TOOL}
{SAFE Z}
END
END
[PROCESS ON MOTION]
{SOP LINENO 1 :M}{RAPID MOTION}
[RAPID MOTION]
$MOTIONTYPE:=0
IF $CONFIGUSEMODALXY=2
{LINENO :M}{KERF MOVE :M}{RAPID MOTION CODE :M}{CURRENTX}{CURRENTY}
ELSE
{LINENO :M}{KERF MOVE :M}{RAPID MOTION CODE :M}{CURRENTX :M}{CURRENTY :M}
END
[PRE MOTION]
// Calls at the start of the MOTION lines
// This keeps the MOTION sections not quite as wide
{EXACT STOP :M}{KERF MOVE :M}
[POST MOTION]
// Calls at the end of the MOTION lines
{ADD FEEDRATE :M}
[LINEAR MOTION]
$MOTIONTYPE:=1
{FEEDRATE LINE}
IF $CONFIGUSEKERFONMOVE=0
{KERF DIRECTION :M}
ELSE
IF $INLEADOUT=TRUE && $NEXTPROFILEMOTION=NONE
$KERFDIR:=OFF
END
END
{LINENO :M}{PRE MOTION :M}{LINEAR MOTION CODE :M}{CURRENTX :M}{CURRENTY :M}{POST MOTION :M}
[CLOCKWISE MOTION]
$MOTIONTYPE:=2
{CHECK FOR ARC TOO SMALL}
IF $ARCTOOSMALL=1
{LINEAR MOTION}
ELSE
{FEEDRATE LINE}
IF $CONFIGUSEKERFONMOVE=0
{KERF DIRECTION :M}
ELSE
IF $INLEADOUT=TRUE && $NEXTPROFILEMOTION=NONE && $CONFIGNOG40ONARC=0
$KERFDIR:=OFF
END
END
{LINENO :M}{PRE MOTION :M}{CLOCKWISE MOTION CODE :M}{CURRENTX :M}{CURRENTY :M}{CURRENTI}{CURRENTJ}{POST MOTION :M}
END
[COUNTERCLOCKWISE MOTION]
$MOTIONTYPE:=3
{CHECK FOR ARC TOO SMALL}
IF $ARCTOOSMALL=1
{LINEAR MOTION}
ELSE
{FEEDRATE LINE}
IF $CONFIGUSEKERFONMOVE=0
{KERF DIRECTION :M}
ELSE
IF $INLEADOUT=TRUE && $NEXTPROFILEMOTION=NONE && $CONFIGNOG40ONARC=0
$KERFDIR:=OFF
END
END
{LINENO :M}{PRE MOTION :M}{COUNTERCLOCKWISE MOTION CODE :M}{CURRENTX :M}{CURRENTY :M}{CURRENTI}{CURRENTJ}{POST MOTION :M}
END
[EXACT STOP]
// This section decides if the machine should maintain feedrate at the end of the motion
// or if it should come to a stop. The degree of angle change determines this
IF $CONFIGUSEEXACTSTOPCHECK=0
$EXACTSTOPCHECK:=2
END
IF $NEXTPROFILEMOTION=NONE
$ANGLECHANGE:=0
ELSE
$ANGLECHANGE:='ABS($ENDTANGENTANGLE-$NEXTSTARTTANGENTANGLE)
END
IF $ANGLECHANGE>180
$ANGLECHANGE:='ABS($ANGLECHANGE-360.0)
END
IF $CONFIGUSEEXACTSTOPCHECK=2
$EXACTSTOPCHECK:=0
END
// The number in the next line determines when an EXACT STOP needs to be inserted
// and when it should maintain feedrate
IF $ANGLECHANGE>=$EXACTSTOPANGLE
// Use exact stop check mode
IF $EXACTSTOPCHECK=0
IF $CONFIGUSEEXACTSTOPCHECK=2
// One-shot exact stop
G09
ELSE
// Modal exact stop
G64
END
$EXACTSTOPCHECK:=1
END
ELSE
// Continuous (cut) mode
IF $EXACTSTOPCHECK=1
G61
$EXACTSTOPCHECK:=0
END
END
[RAPID MOTION CODE]
IF ($CONFIGUSEMODALMOTIONCODES=0) || ($CURRENTMOTION!=0)
G00
$CURRENTMOTION:=0
END
[LINEAR MOTION CODE]
IF ($CONFIGUSEMODALMOTIONCODES=0) || ($CURRENTMOTION!=1)
G01
$CURRENTMOTION:=1
END
[CLOCKWISE MOTION CODE]
IF ($CONFIGUSEMODALMOTIONCODES=0) || ($CURRENTMOTION!=2)
IF {NORMAL AXIS DIRECTION}
G02
ELSE
G03
END
$CURRENTMOTION:=2
END
[COUNTERCLOCKWISE MOTION CODE]
IF ($CONFIGUSEMODALMOTIONCODES=0) || ($CURRENTMOTION!=3)
IF {NORMAL AXIS DIRECTION}
G03
ELSE
G02
END
$CURRENTMOTION:=3
END
[INIT PT MOTION CODE]
{RAPID MOTION CODE}
[ADD FEEDRATE]
IF $FEEDRATE > 0.0 && $FEEDRATE != $LASTFEEDRATE && $CONFIGFEEDRATEONMOVE=1
{FEEDRATE :M}
$FEEDRATE:=$FEEDRATE
END
[FEEDRATE LINE]
IF $FEEDRATE > 0.0 && $FEEDRATE != $LASTFEEDRATE && $CONFIGFEEDRATEONMOVE=0
{LINENO :M}{FEEDRATE :M}
$FEEDRATE:=$FEEDRATE
END
[ADD KERF VALUE]
IF $KERF > 0.0 && $KERF != $LASTKERF
{KERF VALUE}
$KERF:=$KERF
END
[OUTPUT KERF LEFT]
// Any call from Pronest to this or the next section says that this part was not
// prekerfed. If not prekerfed, then we need to cancel the Kerf at the end of
// the cut.
$PREKERFED:=0
[OUTPUT KERF RIGHT]
$PREKERFED:=0
[KERF LEFT]
IF $CONFIGUSEKERFONMOVE<2
IF ($KERF <= 0 && $CONFIGUSEDVALUE=0) || $CONFIGUSEDVALUE=2
IF $CONFIGUSEKERFONMOVE=0
{LINENO :M}G41
ELSE
G41
END
ELSE
IF $CONFIGUSEKERFONMOVE=0
{LINENO :M}G41{KERF VALUE :M}
ELSE
G41{KERF VALUE :M}
END
$KERF:=$KERF
END
END
$KERFSTATUS:=41
[KERF RIGHT]
IF $CONFIGUSEKERFONMOVE<2
IF ($KERF <= 0 && $CONFIGUSEDVALUE=0) || $CONFIGUSEDVALUE=2
IF $CONFIGUSEKERFONMOVE=0
{LINENO :M}G42
ELSE
G42
END
ELSE
IF $CONFIGUSEKERFONMOVE=0
{LINENO :M}G42{KERF VALUE :M}
ELSE
G42{KERF VALUE :M}
$KERF:=$KERF
END
END
$KERFSTATUS:=42
[KERF OFF]
IF $CONFIGUSEKERFONMOVE<2
IF $KERFSTATUS!=40
IF $CONFIGUSEKERFONMOVE=0
{LINENO :M}G40
ELSE
G40
END
END
END
$KERFSTATUS:=40
[KERF MOVE]
{KERF DIRECTION}
[KERF DIRECTION]
IF ($PROCESS != SCRIBE1) && ($PROCESS != SCRIBE2) && ($PREKERFED=0)
IF $KERFDIR = LEFT && $KERFSTATUS!=41
{KERF LEFT}
END
IF $KERFDIR = RIGHT && $KERFSTATUS!=42
{KERF RIGHT}
END
IF $KERFDIR = OFF && $KERFSTATUS!=40
{KERF OFF}
END
END
[OUTPUT STOP]
{LINENO :M}M00
[OUTPUT AHCON]
{AHCON}
[OUTPUT AHCOFF]
{AHCOFF}
[AHCON CODE]
{LINENO :M}M51
[AHCOFF CODE]
{LINENO :M}M50
[AHCON]
IF ($AHCISON = 0 || $AHCISON = 2) && $DISABLEAHC=0
{AHCON CODE}
$AHCISON:=1
END
[FORCE AHCON]
IF ($AHCISON = 0 || $AHCISON = 2)
{AHCON CODE}
$AHCISON:=1
END
[AHCOFF]
IF ($AHCISON = 1 || $AHCISON = 2)
{AHCOFF CODE}
$AHCISON:=0
END
[CHECK AHC]
// If Pronest thinks it's supposed to be on ($AHC=ON), and it's not, and we're
// not disabling it through the Process Parameter file, turn it on
IF $AHC=ON && $AHCISON=0 && $DISABLEAHC=0
{AHCON}
END
// If Pronest thinks it's supposed to be off ($AHC=OFF), and it's on, turn it off
IF $AHC=OFF && $AHCISON!=0 || $DISABLEAHC=1
{AHCOFF}
END
[START LEADIN]
// This section is here as a place holder and so the name is already in place
[END LEADIN]
// This section is here as a place holder and so the name is already in place
[START LEADOUT]
// This section is here as a place holder and so the name is already in place
[END LEADOUT]
// This section is here as a place holder and so the name is already in place
[START TAB]
$INTAB := 1
[END TAB]
$INTAB := 0
{END LEADIN}
[CUT SUB]
// This section may be useful if an integer value is used to initiate cutting.
// This is often an M98P___ call to a subroutine already stored in the machine
ARGUMENT=$CUTSUB
FORMAT=M98P%d
[CUT CONDITION]
// This section may be useful if a cutting condition needs to be applied
// separately from the CUT SUB value.
ARGUMENT=$CUTCONDITION
FORMAT=E%d
[TOUCH AND GO]
IF $DOTOUCHNGO=1
{PIERCE HEIGHT}
{G28 Z}
{LINENO :M}G92 Z0.0
{SWITCH OFFSET}
{LINENO :M}G92 Z0.0
END
{PIERCE HEIGHT}
[PIERCE HEIGHT]
ARGUMENT=$PIERCEHEIGHT
FORMAT={LINENO :M}{RAPID MOTION CODE :M} Z{Z FORMAT}
[G28 Z]
ARGUMENT=$G28Z
FORMAT={LINENO :M}G28.1 Z{Z FORMAT}
[SWITCH OFFSET]
ARGUMENT=$SWITCHOFFSET
FORMAT={LINENO :M}{RAPID MOTION CODE :M} Z{Z FORMAT}
[OUTPUT CUT1 ON]
// CUT1 ON codes go in this section.
{FEEDRATE LINE}
{CHECK AHC}
IF $CONFIGUSEKERFONMOVE=0
{KERF DIRECTION :M}
END
{TOUCH AND GO}
{OUTPUT PREHEAT}
{LINENO :M}M03
{OUTPUT PIERCEDELAY}
[OUTPUT CUT1 OFF]
IF $FORCEOFFUP=0
// Turn off the cutting device, but leave the head at cutting height
{CHECK AHC}
{LINENO :M}M05
{OUTPUT ENDDELAY}
// Should we really call Safe Z here?
{SAFE Z}
IF $PREKERFED=0 && $INTAB=0 && ($CONFIGNOG40ONARC=0 || $CURRENTMOTION<2)
{KERF OFF}
END
$KERF:=0.0
{FORCE AHCON}
IF $CONFIGSUPRESSFEEDRATE=0
$FEEDRATE:=0.0
END
ELSE
{OUTPUT CUT1 OFFUP}
END
[OUTPUT CUT1 OFFUP]
// Turn off the cutting device, and raise the head to travel height
{CHECK AHC}
{LINENO :M}M05
{OUTPUT ENDDELAY}
{SAFE Z}
IF $PREKERFED=0 && $INTAB=0 && ($CONFIGNOG40ONARC=0 || $CURRENTMOTION<2)
{KERF OFF}
END
$KERF:=0.0
{FORCE AHCON}
IF $CONFIGSUPRESSFEEDRATE=0
$FEEDRATE:=0.0
END
[SAFE Z]
ARGUMENT=$SAFEZ
FORMAT={LINENO :M}{RAPID MOTION CODE :M} Z{Z FORMAT}
[OUTPUT SCRIBE1 ON]
// Scribing or Marking commands go in this section
$PREKERFED:=1
{CANCEL PREVIOUS OFFSET}
{SOP LINENO 0}
IF $PARTNAMEASCOMMENT = TRUE
{PART NAME COMMENT}
END
{ACTIVATE CURRENT OFFSET}
{PROCESS ON MOTION}
{LINENO :M}M08
[OUTPUT SCRIBE1 OFF]
{LINENO :M}M07
$KERF:=0.0
IF $CONFIGSUPRESSFEEDRATE=0
$FEEDRATE:=0.0
END
[OUTPUT PUNCH1 ON]
// Depending on customer choice, this could be a piercing routine or a point
// marking routine. Or duplicate the section and make both.
$PREKERFED:=1
{CANCEL PREVIOUS OFFSET}
{SOP LINENO 0}
IF $PARTNAMEASCOMMENT = TRUE
{PART NAME COMMENT}
END
{ACTIVATE CURRENT OFFSET}
{PROCESS ON MOTION}
{TOUCH AND GO}
{OUTPUT PREHEAT}
{LINENO :M}M03
{OUTPUT PIERCEDELAY}
{LINENO :M}M05
{OUTPUT ENDDELAY}
{SAFE Z}
$KERF:=0.0
IF $CONFIGSUPRESSFEEDRATE=0
$FEEDRATE:=0.0
END
[COMMENT FORMAT]
(%s)
[FORMAT PART OF THE CFF]
[INITPTX]
ARGUMENT=($INITPTX - $ZEROPTX) * $CONVERSION
FORMAT=X{XY FORMAT}
[INITPTY]
ARGUMENT=($INITPTY - $ZEROPTY) * $CONVERSION
FORMAT=Y{XY FORMAT}
[CONVERSION]
IF $UNITS=INCH
1.00
ELSE
25.40
END
[NWORD]
// Use N%d for no leading zeros
// Use N%03d for 3 digit N numbers
// Use N%04d for 4 digit N numbers
FORMAT=N%d{SP}
ARGUMENT=$LINENUMBER
[NUMTORCHES]
ARGUMENT=$NUMTORCHES
FORMAT=%d
[TORCHSPACING]
ARGUMENT=$TORCHSPACING * $CONVERSION
FORMAT=%1.3lf
[TORCHUNITS]
IF $UNITS = INCH
in
ELSE
mm
END
[XY FORMAT]
IF $UNITS=INCH
IF $PRECISION=NORMAL
%1.3lf
ELSE
%1.4lf
END
ELSE
IF $PRECISION=NORMAL
%1.2lf
ELSE
%1.3lf
END
END
[IJ FORMAT]
IF $UNITS=INCH
IF $PRECISION=NORMAL
%1.3lf
ELSE
%1.4lf
END
ELSE
IF $PRECISION=NORMAL
%1.2lf
ELSE
%1.3lf
END
END
[Z FORMAT]
IF $UNITS=INCH
IF $PRECISION=NORMAL
%1.3lf
ELSE
%1.4lf
END
ELSE
IF $PRECISION=NORMAL
%1.2lf
ELSE
%1.3lf
END
END
[DIMENSION DISPLAY FORMAT]
IF $UNITS=INCH
IF $PRECISION=NORMAL
%1.3lf
ELSE
%1.4lf
END
ELSE
IF $PRECISION=NORMAL
%1.2lf
ELSE
%1.3lf
END
END
[FEEDRATE FORMAT]
IF $UNITS=INCH
%1.1lf
ELSE
%1.0lf
END
[DWELL FORMAT]
%1.2lf
[XYIJ DECIMAL SHIFT]
1
[FEEDRATE DECIMAL SHIFT]
1
[KERF DECIMAL SHIFT]
1
[DWELL DECIMAL SHIFT]
1
[ANGLE DECIMAL SHIFT]
1
[TOOL]
ARGUMENT=$TOOL
FORMAT=%d
[CURRENTX]
IF $CONFIGUSEMODALXY>0
MODAL_ARGUMENT=$X
END
IF $MODE=ABSOLUTE
ARGUMENT=($X - $ZEROPTX) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($X - $LASTX) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=X{XY FORMAT}
[CURRENTY]
IF $CONFIGUSEMODALXY>0
MODAL_ARGUMENT=$Y
END
IF $MODE=ABSOLUTE
ARGUMENT=($Y - $ZEROPTY) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($Y - $LASTY) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=Y{XY FORMAT}
[CURRENTI]
IF $MODE=ABSOLUTE && $CONFIGIJALWAYSINCREMENTAL=0
ARGUMENT=($I - $ZEROPTX) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($I - $LASTX) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=I{IJ FORMAT}
[CURRENTJ]
IF $MODE=ABSOLUTE && $CONFIGIJALWAYSINCREMENTAL=0
ARGUMENT=($J - $ZEROPTY) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($J - $LASTY) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=J{IJ FORMAT}
[FEEDRATE]
MODAL_ARGUMENT=$FEEDRATE
ARGUMENT=$FEEDRATE * $CONVERSION * $FEEDRATEDECIMALSHIFT
FORMAT=F{FEEDRATE FORMAT}
[KERF VALUE]
IF $CONFIGUSEDVALUE=1
// D value as kerf
ARGUMENT=$DVALUE
FORMAT=D%02d
ELSE
IF $CONFIGUSEDVALUE=0
// Kerf as actual kerf (typically with a leading K)
MODAL_ARGUMENT=$KERF
ARGUMENT=$KERF * $CONVERSION * $KERFDECIMALSHIFT
FORMAT=K{XY FORMAT}
ELSE
IF $CONFIGUSEDVALUE=3
// For TurboNest CFFs that want a D register but can't use a Process
// Parameter column, use the Kerf column as the D register number
ARGUMENT=$KERF * $CONVERSION
FORMAT=D%02.0lf
END
END
END
[OUTPUT DWELL]
ARGUMENT=$DWELL * $DWELLDECIMALSHIFT
// Dwell times are usually specified with an F, X, or P value
FORMAT={LINENO :M}G04F{DWELL FORMAT}
[OUTPUT PREHEAT]
IF $PREHEAT>0
ARGUMENT=$PREHEAT * $DWELLDECIMALSHIFT
FORMAT={LINENO :M}G04 P{DWELL FORMAT}
END
[OUTPUT PIERCEDELAY]
IF $PIERCEDELAY>0
ARGUMENT=$PIERCEDELAY * $DWELLDECIMALSHIFT
FORMAT={LINENO :M}G04 P{DWELL FORMAT}
END
[OUTPUT ENDDELAY]
IF $ENDDELAY>0
ARGUMENT=$ENDDELAY * $DWELLDECIMALSHIFT
FORMAT={LINENO :M}G04 P{DWELL FORMAT}
END
[CONDITIONS PART OF THE CFF]
[MAXLINENO]
9999
[TORCH SPACING REQUIRED]
($TORCHSPACING != $PREVTORCHSPACING || $NUMTORCHES != $PREVNUMTORCHES)
[KERF STILL ON]
$KERFDIR = LEFT || $KERFDIR = RIGHT
[MOTION REQUIRED]
(($X - $LASTX)^2 + ($Y - $LASTY)^2)^0.5 > 0.00001
[NORMAL AXIS DIRECTION]
(($AXIS_SWAP_TYPE=NONE) || ($AXIS_SWAP_TYPE=SWAP90) || ($AXIS_SWAP_TYPE=SWAP180) || ($AXIS_SWAP_TYPE=SWAP270))
[INSIDE CW ARC TOO SMALL FOR KERF]
($CONFIGUSEDVALUE<3 && ($MOTIONTYPE=2 && $KERFDIR=RIGHT && $RADIUS<$KERF*0.5))
[INSIDE CCW ARC TOO SMALL FOR KERF]
($CONFIGUSEDVALUE<3 && ($MOTIONTYPE=3 && $KERFDIR=LEFT && $RADIUS<$KERF*0.5))
[ARC TOO LINEAR]
({CHORD LENGTH}<(($RADIUS^2-($RADIUS-0.002)^2)^0.5)*2 && $RADIUS>3 && $ARCANGLE<10)
[ARC RADIUS TOO SMALL]
($RADIUS < 0.008000 || ({CHORD LENGTH} < 0.00200 && $ARCANGLE<10))
[CHECK FOR ARC TOO SMALL]
$ARCTOOSMALL:=0
IF {INSIDE CW ARC TOO SMALL FOR KERF}
$ARCTOOSMALL:=1
END
IF {INSIDE CCW ARC TOO SMALL FOR KERF}
$ARCTOOSMALL:=1
END
IF {ARC TOO LINEAR}
$ARCTOOSMALL:=1
END
IF {ARC RADIUS TOO SMALL}
$ARCTOOSMALL:=1
END
[RAPID INIT MOTION ALLOWED]
(($X - $INITPTX)^2 + ($Y - $INITPTY)^2)^0.5 > 0.0100 && $PROCESSONSTATE = FALSE
[ARC RADIUS]
(($I - $LASTX)^2 + ($J - $LASTY)^2)^0.5
[CHORD LENGTH]
(($X - $LASTX)^2 + ($Y - $LASTY)^2)^0.5
[CNC TOKEN DEBUG]
// See FogBugz #2923 for details
0
[SP]
ARGUMENT=$SPACE
FORMAT=%c
[CHARACTER REPLACE TABLE]
(|_
)|_
[CFFDIR]
IF $CFFDIR=none
$CFFDIR:='SUBSTRING($CFFNAME,'RANGE(0,'TEXTLEN($CF FNAME)-'TEXTLEN($ROOTCFFNAME)-6))
END
ARGUMENT=$CFFDIR
FORMAT=%s
// As of the 8.3 release version, the CFFDIR variable is optional in the user
// defined variables. In all prior release versions, it is required.
[ROOT CFF NAME]
ARGUMENT=$ROOTCFFNAME
FORMAT=%s
[POST PROCESSING]
// Uncomment if an executable is needed
//'EXECUTE "{CFFDIR}\{ROOT CFF NAME}.exe" "{CNC NAME}"
[USER DEFINED VARIABLES]
SAVEPARTNAME|STRING|0
SAVENUM|INTEGER|0
DX|DOUBLE|0.0
DY|DOUBLE|0.0
EXACTSTOPCHECK|INTEGER|0
ANGLECHANGE|DOUBLE|0.0
KERFSTATUS|INTEGER|0
PREKERFED|INTEGER|0
AHCISON|INTEGER|3
AHC|STRING|ON
SPACE|INTEGER|32
CONFIGTOUCHNGO|STRING|ALL
CONFIGUSEDVALUE|INTEGER|0
CONFIGUSEKERFONMOVE|INTEGER|0
CONFIGNOG40ONARC|INTEGER|0
CONFIGFEEDRATEONMOVE|INTEGER|0
CONFIGSUPRESSFEEDRATE|INTEGER|0
CONFIGUSEEXACTSTOPCHECK|INTEGER|0
CONFIGUSEMODALMOTIONCODES|INTEGER|0
CONFIGUSEMODALXY|INTEGER|0
CONFIGAHCISON|INTEGER|0
CONFIGIJALWAYSINCREMENTAL|INTEGER|1
CONFIGSOPLINENOLOCATION|INTEGER|0
CONFIGFORCEEXTERIORTOOFFUP|INTEGER|1
FORCEOFFUP|INTEGER|0
ZEROPTX|DOUBLE|0.0
ZEROPTY|DOUBLE|0.0
CFFDIR|STRING|none
CURRENTMOTION|INTEGER|-1
MOTIONTYPE|INTEGER|-1
INTAB|INTEGER|0
ARCTOOSMALL|INTEGER|0
DOTOUCHNGO|INTEGER|1
PossibleProcParamsStartHere|INTEGER|0
CUTSUB|INTEGER|0
CUTCONDITION|INTEGER|0
ProcParamColsStartHere|INTEGER|0
EXACTSTOPANGLE|DOUBLE|45.0
FEEDRATE|DOUBLE|0.0
DVALUE|INTEGER|0
DISABLEAHC|INTEGER|0
KERF|DOUBLE|0.0
DWELL|DOUBLE|0.0
PIERCEHEIGHT|DOUBLE|0.0
SWITCHOFFSET|DOUBLE|0.054
G28Z|DOUBLE|0.0
SAFEZ|DOUBLE|2.0
PREHEAT|DOUBLE|0.0
PIERCEDELAY|DOUBLE|0.4
ENDDELAY|DOUBLE|0.0
TOOL|INTEGER|7
SCODE|INTEGER|500
Can anyone help me out to make g code output from pronest for mach3 plasma?
Hi there is a way to turn off the (touch and go)?? for exaple if I have an capacitive sensor?
Yes, this is possible.
I found it!
Hello guys,
I have a question for you.
I'm using Pronest 8 to generate a cnc code. I am using the default plasma machine. The code I got does not match the code that our plasma cutter understands. How can I customize the cff file to get the code that I need?
I need X and Y coordinate in every line, and G01 or G00 as well
This is what I get
%
N1G70
N2G91
N3G00X0.404Y-0.593
(Seq 1 - roof.dxf)
N4G41
N5M20
N6G01X0.393
N7X73.92
N8Y-17.875
N9X-73.92
N10Y17.875
N11Y0.196
N12M21
N13G40
M03
%
This is what I need
%
N1G70
N2G91
N3G00X0.404Y-0.593
(Seq 1 - roof.dxf)
N4G41
N5M20
N6G01X0.393Y+0
N7XG0173.92Y+0
N8G01X+0Y-17.875
N9G01X-73.92Y+0
N10G01X+0Y17.875
N11G01X+0Y0.196
N12M21
N13G40
M03
%
I'd appreciate any suggestion. Thanks
Hi All do you have any information about using pronest for software flash cut
i fed up from all these post processors that doesnt match my software
Not necessarily speaking from a milling standpoint, but we use it all the time for our water jet applications (don't mill any production jobs our Haas's are just used for mold work so not any nesting involved). At the initial purchase about 2 years ago now it was hard to swallow the price. In hindsight much like mastercam it was well worth it.
My only complaint with MTC and the other software companies is the ongoing update fees (not that we subscribe to any of them.). Yes you get the upgrades when you do it and I don't at all mind that aspect of it, but for the bug fixes you have to be subscribed to, really? Wish I could send my customers parts with bugs and if they didn't pay me an ongoing fee of about 10% of the total job cost yearly I wouldn't have to care about a rejection. (Well can't say I wish that because I like standing behind what we make, but I think everyone else in this situation gets my point.)
We use ProNest on a Tanaka laser and 4 Flow waterjets. Overall its good, and the nesting is great.
MTC has provided and tailored the posts to suit our machines. My only complaint is that post and UI are pretty non-intuitive and seem unnecessarily complex. I do the quoting/programming, so most of my concern regards accurate quoting (i.e. accurate production-time calculations). ProNest is useless for Flow quoting since Flow's quoting algorithm (i.e. production-time calculation) is not divulged.
Dear Friends
I have pronest 2008 and the cutting software Flash cut controller, the problem that i dont have the post processor of the flash cut what i need if any body have the flash cut post processor, or could create a post processor for it.
Example:
when i cut a square on flash cut i have the NC file like this:
(File created using flashCut CNC DXF Import)
(Import File: 0.dxf)
(Import Date: 1/12/2012)
N10 G00 X0.27 Y1.45
N20 M3 ( means start sequence)
N30 G04 X2.0
N40 M7 ( Plasma On)
N50 G04 X0.1
N60 G01 X100.27 Y1.45 F5000.00
N70 G01 X100.27 Y101.45
N80 G01 X0.27 Y101.45
N90 G01 X0.27 Y1.45
N100 M9 (plasma Off)
N110 M5 (Stop sequence)
N120 G04 X1
So If anyone can help me to have this g codes from pronest i will be very great full
my email is ([email protected])
you need ? I have for Turbonest2010
Ahmed
[email protected]
Well, using Pronest 8, but cant get the kerf compensation to work, any combination with $configuserkerfonmove and $configusedvalue wont do the trick
Any ideas what am i doing wrong? Similar problems?
Thanks
Thanks! I'll try it on monday right away Guess it was staring right at me...
Best regards