Programming for a R&R (programmig reccommendations needed)

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

  • Programming for a R&R (programmig reccommendations needed)

    Hello folks,

    I am being tasked with a task for an R&R on our CMM, and though it seems simple enough, I realize there are several ways that are possible to structure the tests. I wanted to get some input about methods and see if it makes for a better result, as I am very "green" with the CMM and certainly could use some more exposure to data analysis and reporting as well as constructed features.
    It should be noted as well, that I am not familiar with constructing features, and really need to know best practice more than line item instruction. I have not had enough exposure to reporting, constructed features, or looping enough to known how to put them all together, but seemed logical to bring it up here to the forum to get some insight.

    Here is what we need to do;

    Measure a .250 Block 25 times using 4 points in each gauge end report to the 5th decimal.
    Measure a .500 Block 25 times using 4 points in each gauge end report to the 5th decimal.
    Measure a 2.00 Block 25 times using 4 points in each gauge end report to the 5th decimal.
    Measure a 4.00 Block 25 times using 4 points in each gauge end report to the 5th decimal.

    to recap

    Requirements of the job are that I use 4 points on each end of the block in the analysis, repeat each measured block 25 times.
    I assume that I will have to construct all the features to make sure the points are all directly opposed to one another, and vectors are clean and repeatable, also, analyzing them as individual points and not referencing them relative to another for a location will be important to determine repeatably.
    Also reporting to the fifth decimal is new to me, but that will be an easy change once the program is done.

    The task seems very simple at first, but I then think about ways a program can be written that is flexible enough to allow for measuring the 4 lengths with minor editing.

    In addition to the open architecture of the program, I am needing to report it to the fifth decimal.
    As previously mentioned, I am new to PC DMIS My Software background is Solidworks2013-present /MasterCam v8-2017 /GibbsCam ver 8-12. So when it comes to PC DMIS I know just enough to be dangerous.

    In short, Im curious how the FOGs would set up this job My thinking is to fixture the blocks such that one edge will always fall at a stop and thus be common, then a constructed parallel line will float with the blocks at their indicated length (.250". .500", 2.00" and 4"00") four points would be taken at zero, then a constructed group of points which can be moved in the length axis, I know this is low level for many people here.
    Also eventually looking into the possibility of changing to reporting in Excel
    But I know there is likely a resource that I could be directed to that will help. So. Thanks in Advance.

  • #2
    Well, start with something standard to get you by and fine tune it from there.
    Create your alignment
    Use a bunch of Auto Feature Planes with 4 points at the different lengths
    DISPLAYPRECISION/5 will get you 5 decimals
    Output your dimensions.

    As for flexibility, if this is what you're always going to do for an R&R, you should be able to have all of those in a loop. When increment is 25, 50, and 75, change the length of the plane using Assignments, or just move to a new plane at .500 or whatever.

    Comment


    • #3
      don't forget to put a something bad or different in there.

      download.jpg

      You want a bad part to repeat bad also.
      (In Memory of my Loving wife, "Ronda" who I lost March 7, 2016. I love you baby.)
      They say "Nobody's Perfect." I must be Nobody.

      Comment


      • #4
        Code:
        CL1        =COMMENT/INPUT,NO,'size of block'
                    COMMENT/OPER,NO,measure plane on table
        M1         =FEAT/PLANE,RECT,TRIANGLE
                    THEO/0,0,0,0,0,1
                    ACTL/0,0,0,0,0,1
                    MEAS/PLANE,4
                    HIT/BASIC,NORMAL,-1,-1,0,0,0,1,-1,-1,0,USE THEO = YES
                    HIT/BASIC,NORMAL,-1,1,0,0,0,1,-1,1,0,USE THEO = YES
                    HIT/BASIC,NORMAL,1,-1,0,0,0,1,1,-1,0,USE THEO = YES
                    HIT/BASIC,NORMAL,1,1,0,0,0,1,1,1,0,USE THEO = YES
                    ENDMEAS/
                    COMMENT/OPER,NO,measure line, left to right, on front of block
        M2         =FEAT/LINE,RECT,UNBND
                    THEO/0,0,0,1,0,0
                    ACTL/0,0,0,1,0,0
                    MEAS/LINE,2,WORKPLANE
                    HIT/BASIC,NORMAL,0,0,0,0,1,0,0,0,0,USE THEO = YES
                    HIT/BASIC,NORMAL,1,0,0,0,1,0,1,0,0,USE THEO = YES
                    ENDMEAS/
                    COMMENT/OPER,NO,measure line, front to back, on left side of block
        M3         =FEAT/LINE,RECT,UNBND
                    THEO/0,0,0,0,1,0
                    ACTL/0,0,0,0,1,0
                    MEAS/LINE,2,WORKPLANE
                    HIT/BASIC,NORMAL,0,0,0,0,1,0,0,0,0,USE THEO = YES
                    HIT/BASIC,NORMAL,0,1,0,0,1,0,0,1,0,USE THEO = YES
                    ENDMEAS/
        M4         =FEAT/POINT,RECT
                    THEO/0,0,0,1,0,0
                    ACTL/0,0,0,1,0,0
                    CONSTR/POINT,INT,M2,M3
        ALIGN01    =ALIGNMENT/START,RECALL:STARTUP, LIST= YES
                    ALIGNMENT/LEVEL,ZPLUS,M1
                    ALIGNMENT/ROTATE,XPLUS,TO,M2,ABOUT,ZPLUS
                    ALIGNMENT/TRANS,XAXIS,M4
                    ALIGNMENT/TRANS,YAXIS,M4
                    ALIGNMENT/TRANS,ZAXIS,M1
                    ALIGNMENT/TRANS_OFFSET,XAXIS,0
                    ALIGNMENT/TRANS_OFFSET,YAXIS,0
                    ALIGNMENT/TRANS_OFFSET,ZAXIS,0
                    ALIGNMENT/END
                    MODE/DCC
                    CLEARP/ZPLUS,1,ZPLUS,0
                    MOVE/CLEARPLANE
                    TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                    MOVE/CLEARPLANE
        A1         =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/M1.HIT[1].X,M1.HIT[1].Y,0,0,0,1
                    ACTL/-1,-1,0,0,0,1
                    TARG/M1.HIT[1].X,M1.HIT[1].Y,0,0,0,1
                    THEO_THICKNESS = 0,RECT,SNAP = YES,$
                    AUTO MOVE = NO,DISTANCE = 150
                    MOVE/CLEARPLANE
        A2         =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/M1.HIT[2].X,M1.HIT[2].Y,0,0,0,1
                    ACTL/-1,1,0,0,0,1
                    TARG/M1.HIT[2].X,M1.HIT[2].Y,0,0,0,1
                    THEO_THICKNESS = 0,RECT,SNAP = YES,$
                    AUTO MOVE = NO,DISTANCE = 150
                    MOVE/CLEARPLANE
        A3         =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/M1.HIT[3].X,M1.HIT[3].Y,0,0,0,1
                    ACTL/1,-1,0,0,0,1
                    TARG/M1.HIT[3].X,M1.HIT[3].Y,0,0,0,1
                    THEO_THICKNESS = 0,RECT,SNAP = YES,$
                    AUTO MOVE = NO,DISTANCE = 150
                    MOVE/CLEARPLANE
        A4         =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/M1.HIT[4].X,M1.HIT[4].Y,0,0,0,1
                    ACTL/1,1,0,0,0,1
                    TARG/M1.HIT[4].X,M1.HIT[4].Y,0,0,0,1
                    THEO_THICKNESS = 0,RECT,SNAP = YES,$
                    AUTO MOVE = NO,DISTANCE = 150
                    MOVE/CLEARPLANE
        B1         =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/M2.HIT[1].X,0,M2.HIT[1].Z,0,-1,0
                    ACTL/0,0,0,0,-1,0
                    TARG/M2.HIT[1].X,0,M2.HIT[1].Z,0,-1,0
                    THEO_THICKNESS = 0,RECT,SNAP = YES,$
                    AUTO MOVE = NO,DISTANCE = 150
                    MOVE/CLEARPLANE
        B2         =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/M2.HIT[2].X,0,M2.HIT[2].Z,0,-1,0
                    ACTL/1,0,0,0,-1,0
                    TARG/M2.HIT[2].X,0,M2.HIT[2].Z,0,-1,0
                    THEO_THICKNESS = 0,RECT,SNAP = YES,$
                    AUTO MOVE = NO,DISTANCE = 150
                    MOVE/CLEARPLANE
        C1         =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/0,M3.HIT[1].Y,M3.HIT[1].Z,-1,0,0
                    ACTL/0,0,0,-1,0,0
                    TARG/0,M3.HIT[1].Y,M3.HIT[1].Z,-1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = YES,$
                    AUTO MOVE = NO,DISTANCE = 150
                    MOVE/CLEARPLANE
        C2         =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/0,M3.HIT[2].Y,M3.HIT[2].Z,-1,0,0
                    ACTL/0,1,0,-1,0,0
                    TARG/0,M3.HIT[2].Y,M3.HIT[2].Z,-1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = YES,$
                    AUTO MOVE = NO,DISTANCE = 150
                    MOVE/CLEARPLANE
        ADATUM     =FEAT/PLANE,RECT,TRIANGLE
                    THEO/0,0,0,0,0,1
                    ACTL/0,0,0,0,0,1
                    CONSTR/PLANE,BF,A1,A2,A3,A4,,
                    OUTLIER_REMOVAL/OFF,3
                    FILTER/OFF,WAVELENGTH=0
        BDATUM     =FEAT/LINE,RECT,UNBND
                    THEO/0,0,0,1,0,0
                    ACTL/0,0,0,1,0,0
                    CONSTR/LINE,BF,2D,B1,B2,,
                    OUTLIER_REMOVAL/OFF,3
                    FILTER/OFF,WAVELENGTH=0
        CDATUM     =FEAT/LINE,RECT,UNBND
                    THEO/0,0,0,0,1,0
                    ACTL/0,0,0,0,1,0
                    CONSTR/LINE,BF,2D,C1,C2,,
                    OUTLIER_REMOVAL/OFF,3
                    FILTER/OFF,WAVELENGTH=0
        CORNER     =FEAT/POINT,RECT
                    THEO/0,0,0,1,0,0
                    ACTL/0,0,0,1,0,0
                    CONSTR/POINT,INT,BDATUM,CDATUM
        ALIGN02    =ALIGNMENT/START,RECALL:ALIGN01, LIST= YES
                    ALIGNMENT/LEVEL,ZPLUS,ADATUM
                    ALIGNMENT/ROTATE,XPLUS,TO,BDATUM,ABOUT,ZPLUS
                    ALIGNMENT/TRANS,XAXIS,CORNER
                    ALIGNMENT/TRANS,YAXIS,CORNER
                    ALIGNMENT/TRANS,ZAXIS,ADATUM
                    ALIGNMENT/TRANS_OFFSET,XAXIS,0
                    ALIGNMENT/TRANS_OFFSET,YAXIS,0
                    ALIGNMENT/TRANS_OFFSET,ZAXIS,0
                    ALIGNMENT/END
                    MOVE/CLEARPLANE
        S001       =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/0,0.25,0.25,-1,0,0
                    ACTL/0,0.25,0.25,-1,0,0
                    TARG/0,0.25,0.25,-1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = NO,$
                    AUTO MOVE = NO,DISTANCE = 7
        S002       =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/0,0.5,0.25,-1,0,0
                    ACTL/0,0.5,0.25,-1,0,0
                    TARG/0,0.5,0.25,-1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = NO,$
                    AUTO MOVE = NO,DISTANCE = 7
        S003       =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/0,0.75,0.25,-1,0,0
                    ACTL/0,0.75,0.25,-1,0,0
                    TARG/0,0.75,0.25,-1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = NO,$
                    AUTO MOVE = NO,DISTANCE = 7
        S004       =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/0,1,0.25,-1,0,0
                    ACTL/0,1,0.25,-1,0,0
                    TARG/0,1,0.25,-1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = NO,$
                    AUTO MOVE = NO,DISTANCE = 7
        S005       =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/CL1.INPUT,0.25,0.25,1,0,0
                    ACTL/0.25,0.25,0.25,1,0,0
                    TARG/CL1.INPUT,0.25,0.25,1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = NO,$
                    AUTO MOVE = NO,DISTANCE = 7
        S006       =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/CL1.INPUT,0.5,0.25,1,0,0
                    ACTL/0.25,0.5,0.25,1,0,0
                    TARG/CL1.INPUT,0.5,0.25,1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = NO,$
                    AUTO MOVE = NO,DISTANCE = 7
        S007       =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/CL1.INPUT,0.75,0.25,1,0,0
                    ACTL/0.25,0.75,0.25,1,0,0
                    TARG/CL1.INPUT,0.75,0.25,1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = NO,$
                    AUTO MOVE = NO,DISTANCE = 7
        S008       =AUTO/VECTOR POINT,SHOWALLPARAMS = YES
                    THEO/CL1.INPUT,1,0.25,1,0,0
                    ACTL/0.25,1,0.25,1,0,0
                    TARG/CL1.INPUT,1,0.25,1,0,0
                    THEO_THICKNESS = 0,RECT,SNAP = NO,$
                    AUTO MOVE = NO,DISTANCE = 7
        DIM D001= 2D DISTANCE FROM POINT S001 TO POINT S005 PAR TO   XAXIS, NO_RADIUS  UNITS=MM ,$
        GRAPH=OFF  TEXT=OFF  MULT=1.00  OUTPUT=BOTH
        AX   NOMINAL     +TOL       -TOL       MEAS        DEV      OUTTOL   
        M       0.250      0.010      0.010      0.250      0.000      0.000 ----#----
        DIM D002= 2D DISTANCE FROM POINT S002 TO POINT S006 PAR TO   XAXIS, NO_RADIUS  UNITS=MM ,$
        GRAPH=OFF  TEXT=OFF  MULT=1.00  OUTPUT=BOTH
        AX   NOMINAL     +TOL       -TOL       MEAS        DEV      OUTTOL   
        M       0.250      0.010      0.010      0.250      0.000      0.000 ----#----
        DIM D003= 2D DISTANCE FROM POINT S003 TO POINT S007 PAR TO   XAXIS, NO_RADIUS  UNITS=MM ,$
        GRAPH=OFF  TEXT=OFF  MULT=1.00  OUTPUT=BOTH
        AX   NOMINAL     +TOL       -TOL       MEAS        DEV      OUTTOL   
        M       0.250      0.010      0.010      0.250      0.000      0.000 ----#----
        DIM D004= 2D DISTANCE FROM POINT S004 TO POINT S008 PAR TO   XAXIS, NO_RADIUS  UNITS=MM ,$
        GRAPH=OFF  TEXT=OFF  MULT=1.00  OUTPUT=BOTH
        AX   NOMINAL     +TOL       -TOL       MEAS        DEV      OUTTOL   
        M       0.250      0.010      0.010      0.250      0.000      0.000 ----#----
        sigpic
        Originally posted by AndersI
        I've got one from September 2006 (bug ticket) which has finally been fixed in 2013.

        Comment


        • #5
          Originally posted by KIRBSTER269 View Post
          don't forget to put a something bad or different in there.

          download.jpg

          You want a bad part to repeat bad also.
          BUT, he is not really doing an R&R, he has been tasked with doing a Gage-R, 1 operator, 1 part, 25 times. And, you can do an R&R WITH a CMM, but not TO a CMM.
          sigpic
          Originally posted by AndersI
          I've got one from September 2006 (bug ticket) which has finally been fixed in 2013.

          Comment

          Related Topics

          Collapse

          Working...
          X