View Full Version : Pro/manufacture -number of decimal places arc events


dsergison
05-27-2005, 10:04 AM
I use pro/e and pro/man.

my post procesor is specifically for my Dynapath Delta 20 from the PTC website, but for some reason it outputs arc commands to 5 decimal places. the controll only takes 4. --all the linear events are the correct 4 places.

i found settings for decimal places in the MCD editor for the xyz linerar moves, and changing that value has the expected result.

but the field for places in an arc motion were greyed out. I was able to enable them and enter a value but it had no effect.

I'm pretty sure it should have worked but obviously it didn't and everybodies post processor is different and I'm going to have a hell of a time finding someone using pro/e with an old dynapath controll (on a Tree journeyman 325 mill) who has allready been down this road.

Thanks, Dan

cncwhiz
05-27-2005, 12:27 PM
Set your accuracy in your parameters or model to output 3 places. I use proman with fanucs and four points don't bother the controller.

dsergison
05-27-2005, 01:07 PM
model accuracy is a .00012 relative percentage type value, not a number of decimal places.

how to you set an output accuracy?

cncwhiz
05-27-2005, 01:35 PM
Are you using Gpost? I saw a Dynamite controller in the Gpost directory. In the fil file the first move is accuracy for arcs is .005. I think that this is where you are going to fix this issue. I can find out about this issue on Tuesday, or you can go to "mcadcentral". Not that this site is not going to help but these guys do proe/proman. You can also go to prouser and setup an account for manufacturing as well. We helped a guy in there with building his post. It took him awhile but it got done. If you are looking for a custom post I can get you in touch with a guy that can do this as well.

dsergison
05-27-2005, 01:50 PM
I am using gpost

dynamite is different. i have a dynapath delta 20. I got the files from PTC's library of posts.

I have posted on mcadcentral and also just this morning joined the prouser group for manufacturing

these are the files I got from PTC
uncx01.p30 and uncx01.f30

this is my uncx01.f30 Is this a fil file? I'm unsure of the terminology

REDEF/ON $$ ALLOW SYMBOLS TO BE OVERWRITTEN

CYCFLG=0 $$ CREATE A SYMBOL = 0
FSTPNT=0 $$ CREATE A SYMBOL = 0
MNRWRD=0 $$ CREATE A SYMBOL = 0
CIRFLG=0 $$ CREATE A SYMBOL = 0
SIDE=0 $$ CREATE A SYMBOL = 0
SEQINC=0 $$ CREATE A SYMBOL = 0
mode=1
CIMFIL/ON,MACHIN $$ CAPTURE MACHIN
RSLT=POSTF(13) $$ SEND RECORD TO POST
SEQNO/OFF $$ TURN SEQUENCE NUMBERS OFF
INSERT/'(1)$' $$ WRITE BLOCK TO POST
CIMFIL/OFF $$ END MACHIN

CIMFIL/ON,LOADTL $$ CAPTURE LOADTL
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
RSLT=POSTF(20) $$ SAVE RECORD
INSERT/'N',SEQ,'(9)' $$ OUTPUT N# (9)
REPEAT/20,5,1 $$ OUTPUT E1 WITH THE NEXT T
RSLT=POSTF(21) $$ LOAD SAVED RECORD
RSLT=POSTF(13) $$ SEND RECORD TO POST
RECNUM=POSTF(7,1) $$ CREATE A SYMBOL = THE CURRENT RECORD NUMBER
LIMIT=100000 $$ CREATE A SYMBOL = A LARGE NUMBER
DO/PRESEL,COUNT=1,LIMIT $$ CREATE A DO LOOP TO FIND CUTTER COMP
RSLT=POSTF(14) $$ READ NEXT RECORD
RECTYP=POSTF(7,2) $$ CREATE A SYMBOL = RECORD NUMBER
CASE/RECTYP $$ CREATE A CASE TEST
WHEN/14000 $$ WHEN EOF IS FOUND
RSLT=POSTF(15,(RECNUM+1)) $$ RETURN TO BEGINING
COUNT=(LIMIT+1) $$ EXCEED LIMIT
CMPCHK=0 $$ CREATE A SYMBOL = 0
WHEN/2000 $$ WHEN A STANDARD POST RECORD
WORD=POSTF(7,3) $$ CREATE A SYMBOL = MAJOR WORD
IF(WORD.EQ.ICODEF(CUTCOM))THEN $$ IF IT IS CUTCOM
RSLT=POSTF(15,(RECNUM+1)) $$ RETURN TO BEGINING
COUNT=(LIMIT+1) $$ EXCEED LIMIT
CMPCHK=1 $$ CREATE A SYMBOL = 1
ENDIF $$ END IF TEST
IF(WORD.EQ.ICODEF(SELECT))THEN $$ IF SELECT ID FOUND
FXTOFF=POSTF(7,4) $$ CREATE A SYMBOL = MINOR WORD
ENDIF $$ END ID TEST
IF(WORD.EQ.ICODEF(LOADTL))THEN $$ IF TOOL CHANGE IS FOUND
RSLT=POSTF(15,(RECNUM+1)) $$ RETURN TO BEGINING
COUNT=(LIMIT+1) $$ EXCEED LIMIT
CMPCHK=0 $$ CREATE A SYMBOL = 0
ENDIF $$ END ID TEST
ENDCAS $$ END CASE
PRESEL)CONTIN $$ END OD DO LOOP
CIMFIL/OFF $$ END LOADTL

CIMFIL/ON,SPINDL $$ CAPTURE SPINDL
RSLT=POSTF(2,1,1867,1) $$ SIMULATION ON
RSLT=POSTF(13) $$ SEND RECORD TO POST
RSLT=POSTF(2,1,1867,0) $$ SIMULATION OFF
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(1)M3$' $$ OUTPUT N# (1)M3
CIMFIL/OFF $$ END SPINDLE

CIMFIL/ON,COOLNT $$ CAPTURE COOLNT
RSLT=POSTF(2,1,1867,1) $$ SIMULATION ON
RSLT=POSTF(13) $$ SEND RECORD TO POST
RSLT=POSTF(2,1,1867,0) $$ SIMULATION OFF
CIMFIL/OFF $$ END COOLNT

CIMFIL/ON,CUTCOM $$ CAPTURE CUTCOM
RSLT=POSTF(2,1,1867,1) $$ SIMULATION ON
RSLT=POSTF(13) $$ SEND RECORD TO POST
RSLT=POSTF(2,1,1867,0) $$ SIMULATION OFF
COMP=POSTF(7,4) $$ CREATE A VARABLE = MINOR WORD
CASE/COMP $$ CREATE A CASE TEST
WHEN/ICODEF(LEFT) $$ WHEN LEFT
SIDE=1 $$ CREATE A SYMBOL = 1
WHEN/ICODEF(RIGHT) $$ WHEN RIGHT
SIDE=2 $$ CREATE A SYMBOL = 2
WHEN/ICODEF(OFF) $$ WHEN CANCELED
SIDE=3 $$ CREATE A SYMBOL = 3
ENDCAS $$ END CASE
CIMFIL/OFF $$ END CUTCOM

CIMFIL/ON,RAPID $$ CAPTURE RAPID
RSLT=POSTF(2,1,1867,1) $$ SIMULATION ON
RSLT=POSTF(13) $$ SEND RECORD TO POST
RSLT=POSTF(2,1,1867,0) $$ SIMULATION OFF
MODE=0 $$ CREATE A SYMBOL = 0
CIMFIL/OFF $$ END RAPID

CIMFIL/ON,FEDRAT $$ CAPTURE FEDRAT
RSLT=POSTF(2,1,1867,1) $$ SIMULATION ON
RSLT=POSTF(13) $$ SEND RECORD TO POST
RSLT=POSTF(2,1,1867,0) $$ SIMULATION OFF
MODE=1 $$ CREATE A SYMBOL = 1
CIMFIL/OFF $$ END FEDRAT

CIMFIL/ON,5,5 $$ CAPTURE GOTO
RSLT=POSTF(2,1,1867,1) $$ SIMULATION ON
RSLT=POSTF(13) $$ SEND RECORD TO POST
RSLT=POSTF(2,1,1867,0) $$ SIMULATION OFF
RATE=POSTF(1,3,104) $$ CREATE A SYMBOL = CURRENT FEED RATE
XLOC=POSTF(1,3,414) $$ CREATE A SYMBOL = CURRENT X
YLOC=POSTF(1,3,415) $$ CREATE A SYMBOL = CURRENT Y
ZLOC=POSTF(1,3,416) $$ CREATE A SYMBOL = CURRENT Z
IF(MODE.EQ.0.AND.CYCFLG.EQ.0)THEN $$ IF A RAPID MOVE ONLY
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(0)' $$ OUTPUT N# (0) NEXT TO...
POSTN/IN,24,XLOC,25,YLOC,26,ZLOC $$ X# Y# Z#
ENDIF $$ END IF TEST
IF(MODE.EQ.1.AND.CIRFLG.EQ.0.AND.CYCFLG.EQ.0.AND.CMPCHK.EQ.0)THEN $$ IF A FEED MOVE ONLY
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(1)' $$ OUTPUT N# (1) NEXT TO...
POSTN/IN,24,XLOC,25,YLOC,26,ZLOC,6,RATE $$ X# Y# Z# F#
ENDIF $$ END IF
IF(MODE.EQ.1.AND.CIRFLG.EQ.0.AND.CYCFLG.EQ.0.AND.CMPCHK.EQ.1)THEN $$ IF A COMP MOVE
CMPCHK=2 $$ CREATE A SYMBOL = 2
JUMPTO/SKIP $$ JUMP DOWN TO SKIP
ENDIF $$ END IF
IF(MODE.EQ.1.AND.CIRFLG.EQ.0.AND.CYCFLG.EQ.0.AND.CMPCHK.EQ.2)THEN $$ IF A COMP MOVE
CMPCHK=3 $$ SET A SYMBOL TO 3
ENDIF $$ END IF
IF(MODE.EQ.1.AND.CIRFLG.EQ.0.AND.CYCFLG.EQ.0.AND.CMPCHK.EQ.3)THEN $$ IF A COMP MOVE
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(1)X0/Y0/C0$' $$ OUTPUT N# (1)X0Y0C0
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(1)' $$ OUTPUT N# (1) NEXT TO...
POSTN/IN,24,XLOC,25,YLOC,6,RATE,3,SIDE $$ OUTPUT X# Y# F# C#
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(1)' $$ OUTPUT N# (1)
POSTN/IN,26,ZLOC,6,RATE $$ OUTPUT Z# F#
CMPCHK=0 $$ CREATE A SYMBOL = 0
ENDIF $$ END IF
IF(SIDE.EQ.3)THEN $$ IF SYMBOL = 3
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(1)X0/Y0/C0$' $$ OUTPUT N# (1)X0Y0C0
SIDE=0 $$ CREATE A SYMBOL = 0
ENDIF $$ END IF
SKIP) $$ JUMPTO LABEL
IF(MODE.EQ.1.AND.CIRFLG.EQ.1)THEN $$ IF A CIRCLE
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(',DIR,')' $$ OUTPUT N# (1 OR 2) NEXT TO...
INSERT/'X',XLOC,'Y',YLOC,'Z',ZLOC,'I',ILOC,'J',JLOC,'F',RATE,'$'
ENDIF $$ END IF
IF(CYCFLG.EQ.1)THEN $$ IF SYMBOL = 1 THEN
IF(FSTPNT.EQ.0)THEN $$ IF SYMBOL = 0 THEN
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(0)' $$ OUTPUT N# (0) NEXT TO...
POSTN/IN,24,XLOC,25,YLOC $$ X# Y#
ENDIF $$ END IF
FSTPNT=0 $$ CREATE A SYMBOL = 0
ENDIF $$ END IF
CIRFLG=0 $$ CREATE A SYMBOL = 0
CIMFIL/OFF $$ END GOTO

CIMFIL/ON,3 $$ CAPTURE CIRCLE
CIRFLG=1 $$ CREATE A SYMBOL = 1
RSLT=POSTF(2,1,1867,1) $$ SIMULATION ON
RSLT=POSTF(13) $$ SEND RECORD TO POST
RSLT=POSTF(2,1,1867,0) $$ SIMULATION OFF
ILOC=POSTF(7,9) $$ CREATE A SYMBOL = X ARC CENTER
JLOC=POSTF(7,10) $$ CREATE A SYMBOL = Y ARC CENTER
IF(POSTF(7,14).EQ.-1)THEN $$ IF THE CIRCLE NORMAL IS -1,( RECORD 14 )
DIR=2 $$ CREATE A SYMBOL = 2
ELSE $$ ELSE
DIR=3 $$ CREATE A SYMBOL = 3
ENDIF $$ END IF TEST
CIMFIL/OFF $$ END CIRCLE

CIMFIL/ON,CYCLE $$ CAPTURE CYCLE
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
RSLT=POSTF(2,1,1867,1) $$ SIMULATION ON
RSLT=POSTF(13) $$ SEND RECORD TO POST
RSLT=POSTF(2,1,1867,0) $$ SIMULATION OFF
DPTH=POSTF(7,6) $$ CREATE A SYMBOL = TOTAL DEPTH
FED=POSTF(7,8) $$ CREATE A SYMBOL = FEED RATE
INC=POSTF(7,10) $$ CREATE A SYMBOL = INCREMENT
PLG=POSTF(7,12) $$ CREATE A SYMBOL = PLUNGE CLEARANCE
TYPE=POSTF(7,4) $$ CREATE A SYMBOL = MINOR WORD
IF(TYPE.EQ.ICODEF(OFF))THEN $$ IF SYMBOL = OFF
CYCFLG=0 $$ SET SYMBOL = 0
ELSE $$ IF SYMBOL IS NOT = OFF
CYCFLG=1 $$ SET SYMBOL = 1
ENDIF $$ END TEST
SUBTYP=POSTF(7,4) $$ CREATE A SYMBOL = MINOR WORD
CASE/SUBTYP $$ TEST MINOR WORD
WHEN/ICODEF(DRILL) $$ WHEN DRILL
INSERT/'N',SEQ,'(0)' $$ OUTPUT N# (0)
POSTN/IN,24,XLOC,25,YLOC,26,DPTH,23,PLG,6,FED,7,1 $$ OUTPUT X# Y# Z# W# F# G1
WHEN/ICODEF(DEEP) $$ WHEN DEEP
INSERT/'N',SEQ,'(0)' $$ OUTPUT N# (0)
POSTN/IN,24,XLOC,25,YLOC,26,DPTH,11,INC,23,PLG,6,FED,7,3 $$ OUTPUT X# Y# Z# K# W# F# G3
WHEN/ICODEF(TAP) $$ WHEN TAP
INSERT/'N',SEQ,'(0)' $$ OUTPUT N# (0)
POSTN/IN,24,XLOC,25,YLOC,26,DPTH,23,PLG,6,FED,7,1 $$ OUTPUT X# Y# Z# W# F# G1
WHEN/ICODEF(REAM) $$ WHEN REAM
INSERT/'N',SEQ,'(0)' $$ OUTPUT N# (0)
POSTN/IN,24,XLOC,25,YLOC,26,DPTH,23,PLG,6,FED,7,2 $$ OUTPUT X# Y# Z# W# F# G2
WHEN/ICODEF(BORE) $$ WHEN BORE
INSERT/'N',SEQ,'(0)' $$ OUTPUT N# (0)
POSTN/IN,24,XLOC,25,YLOC,26,DPTH,23,PLG,6,FED,7,5 $$ OUTPUT X# Y# Z# W# F# G5
WHEN/ICODEF(OFF) $$ WHEN OFF
INSERT/'N',SEQ,'(0)' $$ OUTPUT N# (0)
POSTN/IN,7,0 $$ OUTPUT G0
ENDCAS $$ END CASE
FSTPNT=1 $$ CREATE A SYMBOL = 1
CIMFIL/OFF $$ END CYCLE

CIMFIL/ON,14 $$ CAPTURE END
RSLT=POSTF(2,1,1867,1) $$ TURN SIMULATION ON
RSLT=POSTF(13) $$ SEND BLOCK TO POST
RSLT=POSTF(2,1,1867,0) $$ TURN SIMULATION OFF
CALL/SEQNUM $$ CALL SEQUENCE NUMBER MACRO
INSERT/'N',SEQ,'(9)M30$' $$ OUTPUT N# (9)M30
RSLT=POSTF(2,1,1847,1) $$ TURN EOB CHARACTERS OFF
INSERT/'END$' $$ OUTPUT END
CIMFIL/OFF $$ END END

SEQNUM=MACRO $$ SEQUENCE NUMBER MACRO
SEQINC=SEQINC+1 $$ INCREMENT SYMBOL BY 10
SEQ=TEXT/CONVF,SEQINC,4,0,0,1,1 $$ TURN THE SYMBOL INTO A FORMATTED TEXT STRING
TERMAC $$ END MACRO