hexagon logo

need help loop and reports part in report per loop

i created this loop program to run either 1 or 6 parts depending on how many they load into the machine in fixture they input 1 thru 6 in an operator input then i use that to see how many loops i need to run. i am having trouble with the report and trying how to show which part in the report is part 1 or part 6. In the report i want to have it report a comment/rept that says at the start Part 1 then when starts next loop i would like it to say part 2 in the report so operator known's what part the inspection reports is for depending on how many parts they decide to run. any help would be greatly appricatied.









STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
ALIGNMENT/END
MODE/MANUAL
OPTIONPROBE/MAXFORCE=0.096,LOWFORCE=0.02,UPPERFORCE=0.072,TRIG GERFORCE=0.06,
PROBEACCURACY=0.1,POSACCURACY=0.1,#RETURNDATA=7,
RETURNSPEED=2,SCANPNTDENSITY=4,
SCANACCELERATION=10,SCANOFFSETFORCE=0.12,
PROBINGMODE=DFL,MANFINEPROBING=NO
MOVESPEED/ 300*0.9
FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;MEAS,NOM,TOL,DEV,OUTTOL, ,
LOADPROBE/P5_0PT7X45
TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
TOUCHSPEED/ 1.8
WORKPLANE/ZPLUS
PREHIT/0.1
RETRACT/0.1
CHECK/0.2,1
DISPLAYPRECISION/4
COMMENT/REPT,
13-17 GLOBAL
MO =COMMENT/INPUT,NO,FULL SCREEN=NO,
'Please Input MO:'
SERNUM =COMMENT/INPUT,NO,FULL SCREEN=NO,
'Please Input Serial #'
INI =COMMENT/INPUT,NO,FULL SCREEN=NO,
'Please Input Operator Initials:'
$$ NO,
$$
CMTJUMP =LABEL/
$$ NO,
$$
LOOP =COMMENT/INPUT,NO,FULL SCREEN=YES,
ENTER NUMBER OF TAB'S PLACED IN FIXTURE
MUST BE LOAD LEFT TO RIGHT
ENTER NUMBER 1-6 :
COMMENT/REPT,
"MO:" + MO.INPUT +" PART:" + SERNUM.INPUT + " Operator:" + LOOP.INPUT
$$ NO,
$$
IF_GOTO/LOOP.INPUT>6,GOTO = CMTJUMP
$$ NO,
$$
COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
Please load the part onto T12-864 Fixture be sure
the part is centered on the fixture. Load the
T12-864 fixture into the T12-730 small vise.
Parts need to be loaded in order 1 thru 6
$$ NO,
$$
COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
Move probe in Z to the center of the flange thickness.
Then Center over White Dot on the fixture

**** DCC MODE STARTS HERE ****
$$ NO,
$$
$$ NO,
$$
MODE/DCC
$$ NO,
$$
READ_PNT =FEAT/POINT,CARTESIAN
THEO/<0,0,-0.1085>,<0,0,1>
ACTL/<0.9346,-0.6487,0.2223>,<0,0,1>
READPOINT/
$$ NO,
$$
$$ NO,
$$
A1_TEMP =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
ALIGNMENT/TRANS,XAXIS,READ_PNT
ALIGNMENT/TRANS,YAXIS,READ_PNT
ALIGNMENT/TRANS,ZAXIS,READ_PNT
ALIGNMENT/TRANS_OFFSET,ZAXIS,0.1085
ALIGNMENT/END
$$ NO,
$$
V1 =LOOP/START,ID=YES,NUMBER=LOOP.INPUT+",START=1,SKIP=,
OFFSET:XAXIS=2.547,YAXIS=0,ZAXIS=0,ANGLE=0
$$ NO,
$$
$$ NO,
$$
PREHIT/0.1
RETRACT/0.1
$$ NO,
$$
CIR_1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
THEO/<0,0,-0.1085>,<0,0,1>,0.63
ACTL/<0,0,-0.1085>,<0,0,1>,0.63
TARG/<0,0,-0.1085>,<0,0,1>
START ANG=340,END ANG=200
ANGLE VEC=<1,0,0>
DIRECTION=CW
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=3,DEPTH=0,PITCH=0
SAMPLE METHOD=SAMPLE_HITS
SAMPLE HITS=0,SPACER=0
AVOIDANCE MOVE=BOTH,DISTANCE=0
FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
SHOW HITS=NO
$$ NO,
$$
A1 =ALIGNMENT/START,RECALL:A1_TEMP,LIST=YES
ALIGNMENT/TRANS,XAXIS,CIR_1
ALIGNMENT/TRANS,YAXIS,CIR_1
ALIGNMENT/END
MOVE/INCREMENT,<0,0,0.4>
$$ NO,
$$
MOVE/INCREMENT,<0,-0.5,0.1>
$$ NO,
$$
PNT_A1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<0.966,-0.4201,0>,<0,0,1>
ACTL/<0.966,-0.4201,0>,<0,0,1>
TARG/<0.966,-0.4201,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
AVOIDANCE MOVE=NO,DISTANCE=0
SHOW HITS=NO
$$ NO,
$$
PNT_A2 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<0.9346,-0.6487,0>,<0,0,1>
ACTL/<0.9346,-0.6487,0>,<0,0,1>
TARG/<0.9346,-0.6487,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
AVOIDANCE MOVE=NO,DISTANCE=0
SHOW HITS=NO
$$ NO,
$$
PNT_A3 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<0.7394,-0.5342,0>,<0,0,1>
ACTL/<0.7394,-0.5342,0>,<0,0,1>
TARG/<0.7394,-0.5342,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
AVOIDANCE MOVE=NO,DISTANCE=0
SHOW HITS=NO
$$ NO,
$$
PNT_A4 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<0.5559,-0.6801,0>,<0,0,1>
ACTL/<0.5559,-0.6801,0>,<0,0,1>
TARG/<0.5559,-0.6801,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
AVOIDANCE MOVE=NO,DISTANCE=0
SHOW HITS=NO
$$ NO,
$$
PNT_A5 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<0.5348,-0.4311,0>,<0,0,1>
ACTL/<0.5348,-0.4311,0>,<0,0,1>
TARG/<0.5348,-0.4311,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
AVOIDANCE MOVE=NO,DISTANCE=0
SHOW HITS=NO
$$ NO,
$$
PNT_A6 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<0.2439,-0.552,0>,<0,0,1>
ACTL/<0.2439,-0.552,0>,<0,0,1>
TARG/<0.2439,-0.552,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
AVOIDANCE MOVE=NO,DISTANCE=0
SHOW HITS=NO
$$ NO,
$$
PNT_A7 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<0.0444,-0.6938,0>,<0,0,1>
ACTL/<0.0444,-0.6938,0>,<0,0,1>
TARG/<0.0444,-0.6938,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
AVOIDANCE MOVE=NO,DISTANCE=0
SHOW HITS=NO
$$ NO,
$$
PNT_A8 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<0.0221,-0.4162,0>,<0,0,1>
ACTL/<0.0221,-0.4162,0>,<0,0,1>
TARG/<0.0221,-0.4162,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
AVOIDANCE MOVE=NO,DISTANCE=0
SHOW HITS=NO
$$ NO,
$$
PNT_A9 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<-0.2703,-0.5422,0>,<0,0,1>
ACTL/<-0.2703,-0.5422,0>,<0,0,1>
TARG/<-0.2703,-0.5422,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
AVOIDANCE MOVE=NO,DISTANCE=0
SHOW HITS=NO
$$ NO,
$$


REF FOR MACHINEST TO HELP IF PART IS OUT OR LOADED INCORRECTLY?

$$ NO,
$$
DATDEF/A,FEATURES=PLN_DATUM_A,,
$$ NO,
$$
$$ NO,
$$
FCFFLAT4 =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES,
UNITS=IN,OUTPUT=BOTH,ARROWDENSITY=100,
SEGMENT_1,FLATNESS,0.0025,TOL_ZONE_MATH=DEFAULT,
TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10,
MEASURED:
PLN_0.079:0.0000,
ADD
FEATURES/PLN_0.079,,
$$ NO,
$$
FCFPARL1 =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES,
DATUM_MATH=DEFAULT,
UNITS=IN,OUTPUT=BOTH,ARROWDENSITY=100,
SEGMENT_1,PARALLELISM,PLANAR,0.003,__,A,<dat>,
TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10,
MEASURED:
PLN_0.079:0.0000,
FEATURES/PLN_0.079,,
$$ NO,
$$
$$ NO,
$$
FCFFLAT3 =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES,
UNITS=IN,OUTPUT=BOTH,ARROWDENSITY=100,
SEGMENT_1,FLATNESS,0.0025,TOL_ZONE_MATH=DEFAULT,
TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10,
MEASURED:
PLN_0.138:0.0000,
ADD
FEATURES/PLN_0.138,,
$$ NO,
$$
FCFPARL2 =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES,
DATUM_MATH=DEFAULT,
UNITS=IN,OUTPUT=BOTH,ARROWDENSITY=100,
SEGMENT_1,PARALLELISM,PLANAR,0.003,__,A,<dat>,
TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10,
MEASURED:
PLN_0.138:0.0000,
FEATURES/PLN_0.138,,
$$ NO,
$$
COMMENT/REPT,

REF ANGLE (45.0° ± 0.5)
$$ NO,
$$
DIM ANGL6= 3D ANGLE FROM PLANE PLN_45.3673° TO PLANE PLN_DATUM_A ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
AX MEAS NOMINAL +TOL -TOL DEV OUTTOL
A 45.3673 45.0000 0.5000 0.5000 0.3673 0.0000 -------#-
$$ NO,
$$
FORMFEED/
$$ NO,
$$
LOOP/END
$$ NO,
$$
$$ NO,
Program Edits:



ASSIGN/FILE_NAME="Q:\CMM Reports\NorthEast Laser\318536-02\OP10_6PL\"+LOOP.INPUT+" "+SERNUM.INPUT+" "+LOOP.INPUT+".PDF"
PRINT/REPORT,EXEC MODE=END,$
TO_FILE=ON,AUTO=5,AUTO OPEN=OFF,$
TO_PRINTER=ON,COPIES=1,$
TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMEN SIONS=NO,$
TO_EXCEL=OFF,$
PREVIOUS_RUNS=DELETE_INSTANCES
$$ NO,
$$
$$ NO,
$$​
$$ NO,
$$
DIM ANGL6= 3D ANGLE FROM PLANE PLN_45.3673° TO PLANE PLN_DATUM_A ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
AX MEAS NOMINAL +TOL -TOL DEV OUTTOL
A 45.3673 45.0000 0.5000 0.5000 0.3673 0.0000 -------#-
$$ NO,
$$
FORMFEED/
$$ NO,
$$
LOOP/END
$$ NO,
$$
$$ NO,
Program Edits:



ASSIGN/FILE_NAME="Q:\CMM Reports\NorthEast Laser\318536-02\OP10_6PL\"+LOOP.INPUT+" "+SERNUM.INPUT+" "+LOOP.INPUT+".PDF"
PRINT/REPORT,EXEC MODE=END,$
TO_FILE=ON,AUTO=5,AUTO OPEN=OFF,$
TO_PRINTER=ON,COPIES=1,$
TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMEN SIONS=NO,$
TO_EXCEL=OFF,$
PREVIOUS_RUNS=DELETE_INSTANCES
Parents
  • -Your comment is before the loop start.
    -I would advise to not use the word "LOOP" in your feature ID's for comments or assignments as it's active syntax (I suggest QTY)
    -Instead of using IF_GOTO, I prefer to use IF command and prompt operator that they messed up... that way they learn (eventually). Also the IF_GOTO will produce errors if someone inputs a non-number, or a value that isn't a whole number (like 1.4) I recommend some syntax like below to mitigate all input errors from fubar-ing your routine.
    -If you move your report comment into the loop, and reference loop id (V1) instead of LOOP.INPUT, it would produce the variable number in the comments.
    Red= Remove
    Green = Replace


    $$ NO,
    $$
    CMTJUMP =LABEL/
    $$ NO,
    $$​
    LOOP QTY=COMMENT/INPUT,NO,FULL SCREEN=YES,
    ENTER NUMBER OF TAB'S PLACED IN FIXTURE
    MUST BE LOAD LEFT TO RIGHT
    ENTER NUMBER 1-6 :
    COMMENT/REPT,
    "MO:" + MO.INPUT +" PART:" + SERNUM.INPUT + " Operator:" + LOOP.INPUT

    $$ NO,
    $$
    IF_GOTO/LOOP.INPUT>6,GOTO = CMTJUMP
    IF/QTY.INPUT-INT(QTY.INPUT)<>0 OR !(QTY.INPUT>=1 AND QTY.INPUT<=6)
    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
    Invalid input! Please input
    a value between 1 and 6.
    GOTO/CMTJUMP
    END_IF/

    $$ NO,
    $$​
    $$ NO,
    $$
    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
    Please load the part onto T12-864 Fixture be sure
    the part is centered on the fixture. Load the
    T12-864 fixture into the T12-730 small vise.
    Parts need to be loaded in order 1 thru 6
    $$ NO,
    $$
    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
    Move probe in Z to the center of the flange thickness.
    Then Center over White Dot on the fixture

    **** DCC MODE STARTS HERE ****
    $$ NO,
    $$
    $$ NO,
    $$
    MODE/DCC
    $$ NO,
    $$
    READ_PNT =FEAT/POINT,CARTESIAN
    THEO/<0,0,-0.1085>,<0,0,1>
    ACTL/<0.9346,-0.6487,0.2223>,<0,0,1>
    READPOINT/
    $$ NO,
    $$
    $$ NO,
    $$
    A1_TEMP =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/TRANS,XAXIS,READ_PNT
    ALIGNMENT/TRANS,YAXIS,READ_PNT
    ALIGNMENT/TRANS,ZAXIS,READ_PNT
    ALIGNMENT/TRANS_OFFSET,ZAXIS,0.1085
    ALIGNMENT/END
    $$ NO,
    $$
    V1 =LOOP/START,ID=YES,NUMBER= LOOP QTY.INPUT+",START=1,SKIP=,
    OFFSET:XAXIS=2.547,YAXIS=0,ZAXIS=0,ANGLE=0
    COMMENT/REPT,
    "MO:" + MO.INPUT +" PART:" + SERNUM.INPUT + " Operator:" +
    LOOP.INPUT V1
    $$ NO,
    $$
    $$ NO,
    $$
    PREHIT/0.1
    RETRACT/0.1
    $$ NO,
    $$
  • Some how where says operator it changed fro ini.input to loop.input its not suppose to say loop there i already fixed that.
Reply Children
No Data