Multiple Parts One Report ?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Multiple Parts One Report ?

    Hello,

    I dont know what I'm doing or how to program... But, I need to measure 100 small parts at a time all the time. I wrote a program that will measure 1 part and I'd like to be able to measure a part, switch to the next part in the same exact location and hit enter and the cmm measures the new part 100 times in a row and then prints a report with inside radius, outside radius and thickness. Is this possible and explainable in the forum? Here is what I got so far.

    Thanks

    STARTUP =ALIGNMENT/START,RECALL:,LIST=YES
    ALIGNMENT/END
    MODE/MANUAL
    FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, ,
    LOADPROBE/5000-3603
    TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
    COMMENT/OPER,NO,Measure Plane (4 Hits)
    ,
    PLN1 =FEAT/PLANE,RECT,TRIANGLE
    THEO/15.3965,14.3114,-26.1579,-0.0000925,-0.0000173,1
    ACTL/16.3595,14.3082,-26.1581,-0.0000727,-0.0000203,1
    MEAS/PLANE,4
    HIT/BASIC,NORMAL,18.7642,17.3703,-26.1574,-0.0000925,-0.0000173,1,19.5944,11.3939,-26.1579,USE THEO = YES
    HIT/BASIC,NORMAL,12.1662,17.37,-26.1582,-0.0000925,-0.0000173,1,13.3336,11.3937,-26.1583,USE THEO = YES
    HIT/BASIC,NORMAL,12.1661,11.2525,-26.1581,-0.0000925,-0.0000173,1,13.2015,17.2224,-26.1583,USE THEO = YES
    HIT/BASIC,NORMAL,18.4896,11.2527,-26.1577,-0.0000925,-0.0000173,1,19.3086,17.2228,-26.1577,USE THEO = YES
    ENDMEAS/
    COMMENT/OPER,NO,Measure Front Left Circle
    ,(3 Hits)
    CIR1 =FEAT/CIRCLE,RECT,IN,LEAST_SQR
    THEO/11.6737,17.9571,-26.2311,0,0,1,0.5011
    ACTL/12.631,17.9581,-26.2481,0,0,1,0.5009
    MEAS/CIRCLE,3,WORKPLANE
    HIT/BASIC,NORMAL,11.622,18.1998,-26.2311,0.3005709,-0.9537595,0,12.6504,18.2078,-26.2481,USE THEO = YES
    HIT/BASIC,NORMAL,11.9167,18.0078,-26.2311,-0.955704,-0.2943295,0,12.8805,17.9796,-26.2481,USE THEO = YES
    HIT/BASIC,NORMAL,11.4308,18.0078,-26.2311,0.9557252,-0.2942606,0,12.3814,17.9796,-26.2481,USE THEO = YES
    ENDMEAS/
    COMMENT/OPER,NO,Measure Rear Left Circle
    ,(3 Hits)
    CIR2 =FEAT/CIRCLE,RECT,IN,LEAST_SQR
    THEO/18.6736,17.9032,-26.2127,0,0,1,0.5018
    ACTL/19.6311,17.9442,-26.269,0,0,1,0.5014
    MEAS/CIRCLE,3,WORKPLANE
    HIT/BASIC,NORMAL,18.667,18.1498,-26.2126,0.1487479,-0.9888751,0,19.5214,18.1696,-26.2689,USE THEO = YES
    HIT/BASIC,NORMAL,18.9245,17.9044,-26.2127,-0.9999755,-0.0069974,0,19.8732,17.879,-26.269,USE THEO = YES
    HIT/BASIC,NORMAL,18.435,17.8264,-26.2127,0.9423774,0.3345518,0,19.389,17.879,-26.269,USE THEO = YES
    ENDMEAS/
    COMMENT/OPER,NO,Machine Going into DCC Mode !
    A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1
    ALIGNMENT/ROTATE_CIRCLE,XPLUS,TO,CIR2,AND,CIR1,ABOUT,ZPLUS
    ALIGNMENT/TRANS,XAXIS,CIR2
    ALIGNMENT/TRANS,YAXIS,CIR2
    ALIGNMENT/TRANS,ZAXIS,PLN1
    ALIGNMENT/END
    MODE/DCC
    MOVE/POINT,NORMAL,0.0247,0.0597,1.2333
    PLN2 =FEAT/PLANE,RECT,TRIANGLE
    THEO/1.2921,5.1875,0.2789,0.0000754,0.0000262,1
    ACTL/1.2922,5.1874,0.2816,0.0008863,-0.0000255,0.9999996
    MEAS/PLANE,4
    HIT/BASIC,NORMAL,0.3866,4.9561,0.279,0.0000754,0.00002 62,1,0.3865,4.9559,0.2824,USE THEO = YES
    HIT/BASIC,NORMAL,2.0796,4.1494,0.2789,0.0000754,0.0000 262,1,2.0795,4.1497,0.2809,USE THEO = YES
    HIT/BASIC,NORMAL,2.0675,5.8273,0.2788,0.0000754,0.0000 262,1,2.0678,5.8271,0.281,USE THEO = YES
    HIT/BASIC,NORMAL,0.6347,5.8169,0.279,0.0000754,0.00002 62,1,0.6352,5.817,0.2822,USE THEO = YES
    ENDMEAS/
    MOVE/POINT,NORMAL,1.4194,5.0502,0.5131
    1.510 CIR3 =FEAT/CIRCLE,RECT,IN,LEAST_SQR
    THEO/1.4276,5,0.1567,0,0,1,1.51
    ACTL/1.4199,4.9973,0.1569,0,0,1,1.5117
    MEAS/CIRCLE,8,WORKPLANE
    HIT/BASIC,NORMAL,2.1826,5,0.1567,-1,0,0,2.1757,5.0004,0.157,USE THEO = YES
    HIT/BASIC,NORMAL,1.9615,5.5339,0.1567,-0.7071068,-0.7071068,0,1.9572,5.529,0.1569,USE THEO = YES
    HIT/BASIC,NORMAL,1.4276,5.755,0.1567,0,-1,0,1.4285,5.7532,0.1569,USE THEO = YES
    HIT/BASIC,NORMAL,0.8937,5.5339,0.1567,0.7071068,-0.7071068,0,0.891,5.5373,0.1569,USE THEO = YES
    HIT/BASIC,NORMAL,0.6726,5,0.1567,1,0,0,0.664,5.0003,0. 1569,USE THEO = YES
    HIT/BASIC,NORMAL,0.8937,4.4661,0.1567,0.7071068,0.7071 068,0,0.888,4.4602,0.1569,USE THEO = YES
    HIT/BASIC,NORMAL,1.4276,4.245,0.1567,0,1,0,1.4281,4.24 15,0.1569,USE THEO = YES
    HIT/BASIC,NORMAL,1.9615,4.4661,0.1567,-0.7071068,0.7071068,0,1.9599,4.4685,0.1569,USE THEO = YES
    ENDMEAS/
    MOVE/POINT,NORMAL,1.3201,5.08,0.5481
    MOVE/POINT,NORMAL,-0.4748,5.0067,0.5478
    2.99 CIR3 =FEAT/CIRCLE,RECT,OUT,LEAST_SQR
    THEO/1.4271,4.9999,0.1625,0,0,1,2.99
    ACTL/1.4206,4.9972,0.1628,0,0,1,2.9914
    MEAS/CIRCLE,8,WORKPLANE
    HIT/BASIC,NORMAL,-0.0679,4.9999,0.1625,-1,0,0,-0.0755,5.0001,0.1628,USE THEO = YES
    MOVE/CIRCULAR
    HIT/BASIC,NORMAL,0.37,3.9428,0.1625,-0.7071068,-0.7071068,0,0.3652,3.9375,0.1628,USE THEO = YES
    MOVE/CIRCULAR
    HIT/BASIC,NORMAL,1.4271,3.5049,0.1625,0,-1,0,1.4271,3.5022,0.1629,USE THEO = YES
    MOVE/CIRCULAR
    HIT/BASIC,NORMAL,2.4842,3.9428,0.1625,0.7071068,-0.7071068,0,2.482,3.945,0.1628,USE THEO = YES
    MOVE/CIRCULAR
    HIT/BASIC,NORMAL,2.9221,4.9999,0.1625,1,0,0,2.915,4.99 96,0.1628,USE THEO = YES
    MOVE/CIRCULAR
    HIT/BASIC,NORMAL,2.4842,6.057,0.1625,0.7071068,0.70710 68,0,2.4803,6.0529,0.1628,USE THEO = YES
    MOVE/CIRCULAR
    HIT/BASIC,NORMAL,1.4271,6.4949,0.1625,0,1,0,1.4276,6.4 93,0.1627,USE THEO = YES
    MOVE/CIRCULAR
    HIT/BASIC,NORMAL,0.37,6.057,0.1625,-0.7071068,0.7071068,0,0.3677,6.0594,0.1627,USE THEO = YES
    ENDMEAS/
    MOVE/POINT,NORMAL,-1.0391,4.2002,0.802
    DIM LOC1= LOCATION OF CIRCLE 1.510 CIR3 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    R 0.7550 0.0050 0.0050 0.7559 0.0009 0.0000 -----#---
    END OF DIMENSION LOC1
    DIM LOC2= LOCATION OF CIRCLE 2.99 CIR3 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    R 1.4950 0.0050 0.0050 1.4957 0.0007 0.0000 -----#---
    END OF DIMENSION LOC2
    DIM DIST1= 3D DISTANCE FROM PLANE PLN1 TO PLANE PLN2, NO_RADIUS UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    M 0.2800 0.0075 0.0075 0.2800 0.0000 0.0000 ----#----

  • #2
    Are you trying to measure 1 part 100 times, or 100 parts 1 time?

    You could add something like this:
    L1 LABEL
    YOUR CODE GOES HERE
    C1.INPUT COMMENT/YESNO dO YOU WANT TO MEASURE ANOTHER PART?
    IF/GOTO IFC1.INPUT=="YES"GOTO L1
    The syntax might be a little off. I'm at home. I'll be in in the morning and repost if you need it. That will keep looping until you stop it, by answering no.
    There are some Visual Basic scripts on the Wilcox site that send the info into an excel spreadsheet. That is another route to look at. Depends on what you want to do with the data.
    When in doubt, post code. A second set of eyes might see something you missed.
    sigpic

    Comment


    • #3
      Hi !

      As suggested by John, you can use lable and If command. Assign the lebel to the string from where you want to start the program again. ( i.e. after completion of manual alignment for the first time when you start the machine )

      Your program for manual alignment ends here :

      A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
      ALIGNMENT/LEVEL,ZPLUS,PLN1
      ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS
      ALIGNMENT/TRANS,XAXIS,PNT1
      ALIGNMENT/TRANS,YAXIS,LIN1
      ALIGNMENT/TRANS,ZAXIS,PLN1
      ALIGNMENT/END
      LOADPROBE/1X20S
      TIP/T1A90B180, SHANKIJK=0, -1, 0, ANGLE=180
      L1 =LABEL/
      C1 =COMMENT/INPUT,NO,'Enter the Angle of Valgus being Inspected.
      ,Just give whole number 5, 6 or 7'
      MODE/DCC
      /YOUR PROGRAM IN DCC MODE
      /
      /
      /
      /
      /

      PRINT/REPORT,EXEC MODE=END,$
      TO_FILE=ON,AUTO=1,$
      TO_PRINTER=ON,$
      TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
      REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMEN SIONS=NO,$
      PREVIOUS_RUNS=DELETE_INSTANCES
      C2 =COMMENT/YESNO,NO,Please Place the another part
      IF/C2.INPUT=="YES"
      GOTO/L1
      END_IF/
      PRINT/REPORT,EXEC MODE=END,$
      TO_FILE=ON,AUTO=1,$
      TO_PRINTER=ON,$
      TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
      REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMEN SIONS=NO,$
      PREVIOUS_RUNS=DELETE_INSTANCES

      With the above you will be able to check any nos. of parts. But you will have to insert operator input to add the part count so that you will able to identify the report for perticular sample no.

      If you will not give the print command like above ( two times ) then it will print all the reports when you will finish the job. ( I don't know why ?) Also , I dont know how to print the Header after each of part run.

      Hope the above will be helpful to you.

      Good luck,

      Sanjay Gandhi

      Comment


      • #4
        Thank You!

        I have it printing a page for each part. Is there a way to get it to post all 100 parts into an excel file? All I need is 3 measurements per part. Here is what my program looks like so far.


        ALIGNMENT/END
        L1 =LABEL/
        MODE/DCC

        ::Program::

        DIM LOC1= LOCATION OF CIRCLE 1.510 CIR3 UNITS=IN ,$
        GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
        AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
        R 0.7550 0.0050 0.0050 0.7559 0.0009 0.0000 -----#---
        END OF DIMENSION LOC1
        DIM LOC2= LOCATION OF CIRCLE 2.99 CIR3 UNITS=IN ,$
        GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
        AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
        R 1.4950 0.0050 0.0050 1.4953 0.0003 0.0000 ----#----
        END OF DIMENSION LOC2
        DIM DIST1= 3D DISTANCE FROM PLANE PLN1 TO PLANE PLN2, NO_RADIUS UNITS=IN ,$
        GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
        AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
        M 0.2800 0.0075 0.0075 0.2816 0.0016 0.0000 -----#---
        PRINT/REPORT,EXEC MODE=END,$
        TO_FILE=OFF,AUTO=1,$
        TO_PRINTER=ON,$
        TO_DMIS_REPORT=ON,FILE_OPTION=INDEX,FILENAME=,$
        REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMEN SIONS=NO,$
        PREVIOUS_RUNS=DELETE_INSTANCES
        C1 =COMMENT/YESNO,YES,Please Place Another Part
        IF_GOTO/C1.INPUT=="YES",GOTO = L1
        END_IF/
        PRINT/REPORT,EXEC MODE=END,$
        TO_FILE=OFF,AUTO=1,$
        TO_PRINTER=OFF,$
        TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
        REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMEN SIONS=NO,$
        PREVIOUS_RUNS=DELETE_INSTANCES

        Comment


        • #5
          Datapage

          Datapage handles tabulating and excel spreadsheets
          sigpicThanks a Millionth

          Comment


          • #6
            You can download a script from the Wilcox site. It will put the data right into an Excel spreadsheet.
            When in doubt, post code. A second set of eyes might see something you missed.
            sigpic

            Comment


            • #7
              You can just output all the parts to one report as you are asking. Just turn on "append" where you turn report functions on.
              Jim Jewell

              Comment


              • #8
                Here's what i have so far:

                L1 =label/
                c1 =comment/input,no,enter sample size
                c2 =comment/input,no,enter sample #

                from here i want to have something like this:
                If/goto ifc2.input>c1.input goto l1

                if the sample # is greater than sample size then quit/prin the report if not i want it to repeat until the operator is done with sample size.

                Comment

                Related Topics

                Collapse

                Working...
                X