hexagon logo

need help with tracefields and serialaziation automation

I’m using paste with pattern to run the same program for 2 parts in this case a 123 block. pc dmis 2019 R1 this is a proof of concept test for us.

I’m trying to get Pc-dmis to pull the serial number for the 2nd part automatically using the operators input of “tracefield 2” report shows “serial #”=V2 on the report not “SN 002” I know there is something I’m missing but I cant figure it out any help would be greatly appreciated.

CODE HERE

TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CUSTOMER ; CUSTOMER : any
TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=SER NUMBER ; SER NUMBER : 001
TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=JOB NUMBER ; JOB NUMBER : 123456
TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OPERATOR ; OPERATOR : JOE
TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CMM USED ; CMM USED : leitz
TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=PART NAME ; PART NAME : 123 BLOCK
$$ NO,
________________________________________________________________________
MAN_ALIGN =GROUP/SHOWALLPARAMS=YES
PLN1 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
THEO/<0.1787,0.6442,0>,<0,0,1>
ACTL/<0.1787,0.6442,0>,<0,0,1>
TARG/<0.1787,0.6442,0>,<0,0,1>
ANGLE VEC=<1,0,0>,RADIAL
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=3,NUMRINGS=3
SPACER=0
AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
SHOW HITS=NO
PLN2 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
THEO/<0.6632,0,-0.1802>,<0,-1,0>
ACTL/<0.6632,0,-0.1802>,<0,-1,0>
TARG/<0.6632,0,-0.1802>,<0,-1,0>
ANGLE VEC=<1,0,0>,RADIAL
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=3,NUMRINGS=3
SPACER=0
AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
SHOW HITS=NO
PLN3 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
THEO/<0,0.5843,-0.2315>,<-1,0,0>
ACTL/<0,0.5843,-0.2315>,<-1,0,0>
TARG/<0,0.5843,-0.2315>,<-1,0,0>
ANGLE VEC=<0,0,1>,RADIAL
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=3,NUMRINGS=3
SPACER=0
AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
SHOW HITS=NO
A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
ALIGNMENT/LEVEL,ZPLUS,PLN1
ALIGNMENT/TRANS,ZAXIS,PLN1
ALIGNMENT/ROTATE,YMINUS,TO,PLN2,ABOUT,ZPLUS
ALIGNMENT/TRANS,YAXIS,PLN2
ALIGNMENT/TRANS,XAXIS,PLN3
ALIGNMENT/END
ENDGROUP/ID=MAN_ALIGN
DCC_ALIGN =GROUP/SHOWALLPARAMS=YES
CLEARP/ZPLUS,2.5,ZPLUS,0,ON
MODE/DCC
MOVE/CLEARPLANE
PLN1_DCC =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
THEO/<0.1787,0.6442,0>,<0,0,1>
ACTL/<0.1787,0.6442,0>,<0,0,1>
TARG/<0.1787,0.6442,0>,<0,0,1>
ANGLE VEC=<1,0,0>,RADIAL
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=3,NUMRINGS=3
SPACER=0
AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
SHOW HITS=NO
A1_DCC1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
ALIGNMENT/LEVEL,ZPLUS,PLN1_DCC
ALIGNMENT/TRANS,ZAXIS,PLN1_DCC
ALIGNMENT/ROTATE,YMINUS,TO,PLN2,ABOUT,ZPLUS
ALIGNMENT/TRANS,YAXIS,PLN2
ALIGNMENT/TRANS,XAXIS,PLN3
ALIGNMENT/END
MOVE/CLEARPLANE
PLN2_DCC =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
THEO/<0.6632,0,-0.1802>,<0,-1,0>
ACTL/<0.6632,0,-0.1802>,<0,-1,0>
TARG/<0.6632,0,-0.1802>,<0,-1,0>
ANGLE VEC=<1,0,0>,RADIAL
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=3,NUMRINGS=3
SPACER=0
AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
SHOW HITS=NO
A1_DCC2 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
ALIGNMENT/LEVEL,ZPLUS,PLN1_DCC
ALIGNMENT/TRANS,ZAXIS,PLN1_DCC
ALIGNMENT/ROTATE,YMINUS,TO,PLN2_DCC,ABOUT,ZPLUS
ALIGNMENT/TRANS,YAXIS,PLN2_DCC
ALIGNMENT/TRANS,XAXIS,PLN3
ALIGNMENT/END
MOVE/CLEARPLANE
PLN3_DCC =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
THEO/<0,0.5843,-0.2315>,<-1,0,0>
ACTL/<0,0.5843,-0.2315>,<-1,0,0>
TARG/<0,0.5843,-0.2315>,<-1,0,0>
ANGLE VEC=<0,0,1>,RADIAL
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=3,NUMRINGS=3
SPACER=0
AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
SHOW HITS=NO
A1_DCC3 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
ALIGNMENT/LEVEL,ZPLUS,PLN1_DCC
ALIGNMENT/TRANS,ZAXIS,PLN1_DCC
ALIGNMENT/ROTATE,YMINUS,TO,PLN2_DCC,ABOUT,ZPLUS
ALIGNMENT/TRANS,YAXIS,PLN2_DCC
ALIGNMENT/TRANS,XAXIS,PLN3_DCC
ALIGNMENT/END
ENDGROUP/ID=DCC_ALIGN
MOVE/CLEARPLANE
CIR1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
THEO/<0.35,0.425,0>,<0,0,1>,0.3124
ACTL/<0.35,0.425,0>,<0,0,1>,0.3124
TARG/<0.35,0.425,0>,<0,0,1>
START ANG=0,END ANG=360
ANGLE VEC=<1,0,0>
DIRECTION=CCW
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=5,DEPTH=0.0787,PITCH=0
SAMPLE METHOD=SAMPLE_FEATURE
SAMPLE FEATURE=PLN1
AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
SHOW HITS=NO
MOVE/CLEARPLANE
CIR2 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
THEO/<0.925,0.425,0>,<0,0,1>,0.3124
ACTL/<0.925,0.425,0>,<0,0,1>,0.3124
TARG/<0.925,0.425,0>,<0,0,1>
START ANG=0,END ANG=360
ANGLE VEC=<1,0,0>
DIRECTION=CCW
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=5,DEPTH=0.0787,PITCH=0
SAMPLE METHOD=SAMPLE_FEATURE
SAMPLE FEATURE=PLN1
AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
SHOW HITS=NO
MOVE/CLEARPLANE
CIR3 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
THEO/<1.5,0.425,0>,<0,0,1>,0.3124
ACTL/<1.5,0.425,0>,<0,0,1>,0.3124
TARG/<1.5,0.425,0>,<0,0,1>
START ANG=0,END ANG=360
ANGLE VEC=<1,0,0>
DIRECTION=CCW
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=5,DEPTH=0.0787,PITCH=0
SAMPLE METHOD=SAMPLE_FEATURE
SAMPLE FEATURE=PLN1
AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
SHOW HITS=NO
MOVE/CLEARPLANE
DIM LOC1= LOCATION OF CIRCLE CIR1 UNITS=IN ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
X 0.3500 0.0020 0.0020 0.3500 0.0000 0.0000 ----#----
Y 0.4250 0.0020 0.0020 0.4250 0.0000 0.0000 ----#----
D 0.3124 0.0020 0.0020 0.3124 0.0000 0.0000 ----#----
END OF DIMENSION LOC1
DIM LOC2= LOCATION OF CIRCLE CIR2 UNITS=IN ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
X 0.9250 0.0020 0.0020 0.9250 0.0000 0.0000 ----#----
Y 0.4250 0.0020 0.0020 0.4250 0.0000 0.0000 ----#----
D 0.3124 0.0020 0.0020 0.3124 0.0000 0.0000 ----#----
END OF DIMENSION LOC2
DIM LOC3= LOCATION OF CIRCLE CIR3 UNITS=IN ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
X 1.5000 0.0020 0.0020 1.5000 0.0000 0.0000 ----#----
Y 0.4250 0.0020 0.0020 0.4250 0.0000 0.0000 ----#----
D 0.3124 0.0020 0.0020 0.3124 0.0000 0.0000 ----#----
END OF DIMENSION LOC3
FORMFEED/
REPORT/LABEL, FILENAME= FILE_HEADER.LBL
$$ NO,
NEXT PART
-*-*-*-*-*-*
ASSIGN/V1="GETTRACEFIELDVALUE(TRACEFIELD(2))"
ASSIGN/V2=V1+V2
COMMENT/REPT,
"SERIAL #"=V2



  • Collect the information using a comment, then pass that through the the trace field for SPC purposes.
    (Make the Trace field No_DISPLAY

    Then you can put the comment value straingt on the report

    OP_NAME =COMMENT/INPUT,NO,FULL SCREEN=NO,
    Enter Operator Name
    TRACEFIELD/NO_DISPLAY,LIMIT=15 ; OPNAME : OP_NAME.INPUT
    COMMENT/REPT,
    "Operator Neme : " + OP_NAME.INPUT



    now the report shows op_name im using 2019 r1 Ninja badger your tracefield looks like an older version



    OP_NAME =COMMENT/INPUT,NO,FULL SCREEN=NO,
    enter serial #
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CUSTOMER ; CUSTOMER : any
    TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=SERIAL NUMBER ; opname : OP_NAME.INPUT
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=JOB NUMBER ; JOB NUMBER : 123456
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OPERATOR ; OPERATOR : joe
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CMM USED ; CMM USED : leitz
    TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=PART NAME ; PART NAME :
    $$ NO,
    __________________________________________________ ______________________
    $$ NO,
    NEXT PART
    -*-*-*-*-*-*
    COMMENT/REPT,
    "OP_NAME"+OP_NAME.INPUT
  • not exactly what i wanted / expected but this will work for now. thank you all

    C2 =COMMENT/INPUT,NO,FULL SCREEN=NO,
    enter serial # 001
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CUSTOMER ; CUSTOMER : any
    TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=SERIAL NUMBER ; opname : C2.INPUT
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=JOB NUMBER ; JOB NUMBER : 123456
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OPERATOR ; OPERATOR : joe
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CMM USED ; CMM USED : leitz
    TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=PART NAME ; PART NAME : test
    $$ NO,
    ________________________________________________________________________
    $$ YES,
    serial number
    -*-*-*-*-*-*
    ASSIGN/V1=C2.INPUT
    ASSIGN/V2=V1+001
    COMMENT/REPT,
    V2
    $$ YES,
    serial number
    -*-*-*-*-*-*
    ASSIGN/V3=C2.INPUT
    ASSIGN/V4=V2+001
    COMMENT/REPT,
    V4
    $$ YES,
    serial number
    -*-*-*-*-*-*
    ASSIGN/V5=C2.INPUT
    ASSIGN/V6=V4+001
    COMMENT/REPT,
    V6



  • SOLVED.

    1. PROMPT OPERATOR TO INPUT SN AT START OF PROGRAM AND ASSIGN VARIABLE TO THAT INPUT


    C1 =COMMENT/INPUT,NO,FULL SCREEN=NO,
    Serial Number:

    ASSIGN/V1=C1.INPUT

    2. MAKE SURE YOU HAVE TRACEFIELDS

    NOTE WHEN YOU TYPE IN V1 IT WILL ASK IF THIS IS A VARIABLE CLICK YES

    TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=SERNUM_INDEX ; SERNUM_INDEX : V1

    3. ASSIGN A VARIABLE USING GET TRACE VALUE JUST AS ITS TYPED BELOW

    ASSIGN/SN=GETTRACEVALUE("SERNUM_INDEX")

    4. TOP OF MY REPORT I RECALL THE TRACEFIELD

    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : SN




    I USE THE V1 AND SN BECAUSE THE NEXT PART IN THE PASTE WITH PATTERN HAS A VARIABLE TO ADD +1 FOR THE NEXT PART FOR SOME REASON PCD WAS PULLING THE VALUE OF ANOTHER V1 ELSE WHERE IN MY PROGRAM IF YOU HAVE NO OTHER VARIABLES THEN YOU PLACE THE V1 INTO THE TRACEFIELD VALUE ON THE REPORT. WORKS WITH 2019 r1 AND r2 FOR ME.

    Attached Files