hexagon logo

Rmeas help

I've been trying to figure out what PC-DMIS does with the RMEAS statement with the different numbers of Hits. I found some info that refers to the Rmeas with 3 hits as the "Flush/Gap" measurement. Can anyone explain the difference between the RMEAS with 1 hit versus the RMEAS with 3 hits? From analyzing the data I believe it has to do with the vector that is used when it takes the actual measurement. From what I've seen looking at data is the single hit RMEAS would be considered a "Surface/Edge" measurement where the edge is too thin to consider it having any thickness/depth.

From my own analysis it appears that the single hit version uses an approach vector that is perpendicular to the reference points vector. The vector I believe is derived by the unit vector of (|V1| X |V2|) X |V1|, where V1 is the vector on the surface point and V2 is the vector on the point being measured with RMEAS. The X represents the Cross Product function. The first cross product is done between the 2 vectors to obtain a vector normal to the 2 vectors. The cross product of the resulting vector & the surface vector then gives you a vector that is perpendicular to the surface vector V1, but in the same plane as V2.

Does anyone know what the 3 hit version does?

F(F0954M009B) = FEAT/POINT,CART,2531.99,860.834,605.15,0.0437,0.9651,0.2584
  MEAS/POINT, F(F0954M009B), 1
  ENDMES
 T(XTOL_4)=TOL/CORTOL,XAXIS,0.0,0.0
 T(YTOL_4)=TOL/CORTOL,YAXIS,-0.15,0.15
 T(ZTOL_4)=TOL/CORTOL,ZAXIS,0.0,0.0
 T(VECTOL_4)=TOL/PROFP,0.0,0.0
 TEXT/OUTFIL,'F0954M009B - POINT - INSP=D METAL=0.686'
 OUTPUT/FA(F0954M009B),TA(XTOL_4),TA(YTOL_4),TA(ZTOL_4),TA(VECTOL_4)

  GOTO/2536.032,864.531,605.704
F(G0954M009B) = FEAT/POINT,CART,2524.03,857.084,605.007,0.9667,-0.2002,-0.1595
  RMEAS/POINT, F(G0954M009B), 1, FA(F0954M009B)
  ENDMES
 T(XTOL_5)=TOL/CORTOL,XAXIS,-0.15,0.15
 T(YTOL_5)=TOL/CORTOL,YAXIS,0.0,0.0
 T(ZTOL_5)=TOL/CORTOL,ZAXIS,0.0,0.0
 T(VECTOL_5)=TOL/PROFP,0.0,0.0
 TEXT/OUTFIL,'G0954M009B - HEDGE - INSP=D METAL=0.686'
 OUTPUT/FA(G0954M009B),TA(XTOL_5),TA(YTOL_5),TA(ZTOL_5),TA(VECTOL_5)
  GOTO/2536.032,864.531,605.704
Parents
  • Matthew - Thanks for the response.

    I do not have PC-DMIS. I analyze data coming off PC-DMIS, and when the CMM data reports that parts are out of spec significantly and we are building assemblies that are within spec it concerns me. I'm trying to understand what the data is actually telling me.

    The number of hits I'm referring to comes from the DMIS Standard and the RMEAS function as defined by the DMIS Standard, I believe DMIS.org is their website. I'm trying to figure out exactly how PC-DMIS is interpretting the DMIS RMEAS statement when it is imported. PC-DMIS has many more settings/options than the DMIS standard. The number of hits in the DMIS standard from my understanding is that it determines the vector of the actual measurement. Using 1 you would get what PC-DMIS calls an Edge point. This is where the vector that is used for taking the measurement is perpendicular to the surface hit vector in the same plane as the surface and gap points. Using 2 hits the vector is normal to a line defined by 2 sample hits along the edge. Using 3 hits is commonly referred to as the Flush/Gap measurement from what I have read on line. This is for when you have a corner where you have enough surface on the edge to take 3 hits to get the normal vector for the measurement. It still uses the target that is defined by the offset of the surface, but there are 3 different approach vectors that can be used to take the actual measurement.

    The part I'm trying to understand is the XYZ coordinate measurements include the deviation of the surface point. If you have a 90 degree edge you can subtract out the surface point deviation easily. But when you get away from 90 degrees it deviates away from being straight math and you need to start doing vector math. I have one measurement that for some reason is adding 0.984 mm to the deviation along the direction of the surface vector. This is in addition the the actual surface deviation. I'm just trying to figure out where that 0.984 came from because it is a constant on all the measurements. When your tolerance is +/- 0.5, having 0.984 unexplained meanshift in your measurement system is not acceptable.


    Well, you are certainly working under a BIG handicap..... Pcdmis is NOT DMIS code, never has been, never will be. Pcdmis is a misnomer (IMO) as DMIS is not even half of Pcdmis. Pcdmis does not really play well wth DMIS code since Pcdmis uses coding that may SOUND like DMIS, but is up and beyond (or below, depends on your point of view) DMIS. A Pcdmis program, while it can be exported as DMIS code, will lose a lot of stuff from the program because it is not DMIS and Pcdmis uses much more than just DMIS code.

    As for the 0.984.... that number, while NOT a 1, or 2, or 3, or 4 or any of the other common probe sizes IS, however, either a calibrated probe radius (of a 2mm ball) or the calibrated diameter of a 1mm ball. That x.984 is almost a perfect result of all my probe calibrations on my machine, a 1mm = 0.985, 2mm=1.985 and so on, with a range of maybe +/-0.005mm. I'm guessing it is a probe comp issue.

    As for the edge point including the surface deviation, yep, it will have that. RMEAS (in Pcdmis) is "relative measurement", they measured a surface point (vector point), then used that as the 'relative' point. For example, a piece of sheet metal. Let's say it is (nominally) flat, with a surface vector of 0,0,1. Let's also say that the edge vector is 1,0,0 (square in the X axis). Now, sheet metal varies. If that piece of sheet metal is 2mm low (for example) and you are using a 1mm ball, without a surface sample hit, the probe will not touch the part because it is too low. Now, with Edge point, 1 sample hit makes it take a point on the surface to set the depth (to compensate for surface deviation). With 2, those sample hits are on the edge to get the actual edge vector, but you get no 'surface control' for the depth. 5 sample hits gets you 3 on the surface and 2 on the edge to calculate actual surface and edge vectors THEN it takes the edge measurement. ANY edge point that samples the surface WILL HAVE surface deviation in the resulting XYZ values. UNLESS!!!!! Pcdmis has a command "GAP ONLY" which REMOVES the surface deviation from the edge point dimension, thus giving you XYZ values that show ONLY the edge devitation.

    In the code you posted:

    f7589a140  =auto/vector point, showallparams=yes
                theo/5150.242,-816.214,1075.426,0.5676822,-0.7946932,0.2149411
                actl/5150.042,-816.222,1075.467,0.5676321,-0.794711,0.2150074
                targ/5150.242,-816.214,1075.426,0.5676822,-0.7946932,0.2149411
                  theo_thickness = 0.711, rect, snap = no ,$
                  auto move = yes, distance = 25
    dim d_f7589a140= location of point f7589a140
    ax  nominal    meas     +tol     -tol      dev  
    x  5150.242 5150.042    1.200    1.200   -0.200
    y  -816.214 -816.222    1.200    1.200   -0.008
    z  1075.426 1075.467    1.200    1.200    0.041
    t     0.000   -0.099    1.200    1.200   -0.099
    v     0.568   -0.795    0.215
    end of dimension d_f7589a140
    


    The dimension does NOT make any sense to me, the axis with the BIGGEST vector is showing the smalled deviation of them, something is wrong there.

    This is a vector point, and I am guessing it is close to the edge. This gets measured. Pcdmis then knows how much the surface deviated from nominal.

    It is followed by this edge point:
    g7589a140  =auto/edge point, showallparams=yes
                theo/5153.436,-809.589,1076.956,0.9207243,-0.0697596,0.3839276
                actl/5152.725,-808.78,1076.8,0.9207259,-0.0697852,0.3839191
                targ/5153.436,-809.589,1076.956,0.9207243,-0.0697596,0.3839276
                  theo_thickness = 0, rect, edge theo_thickness = 0.711, onerror = no ,$
                  auto move = yes, distance = 25, rmeas = f7589a140, measure order = surface ,$
                  surface normal = 0.5676822,-0.7946932,0.2149411 ,$
                  init = 0, perm = 0, spacer = 0, indent = 6.298, depth = 0
    
    


    This edge point is using the surface deviation from the f7589a140 point as a RELATIVE location so that the probe will hit at the correct place on the edge of the part. I do see issues, #1 being that they are trying to measure 0 depth, and that isn't a good idea.
Reply
  • Matthew - Thanks for the response.

    I do not have PC-DMIS. I analyze data coming off PC-DMIS, and when the CMM data reports that parts are out of spec significantly and we are building assemblies that are within spec it concerns me. I'm trying to understand what the data is actually telling me.

    The number of hits I'm referring to comes from the DMIS Standard and the RMEAS function as defined by the DMIS Standard, I believe DMIS.org is their website. I'm trying to figure out exactly how PC-DMIS is interpretting the DMIS RMEAS statement when it is imported. PC-DMIS has many more settings/options than the DMIS standard. The number of hits in the DMIS standard from my understanding is that it determines the vector of the actual measurement. Using 1 you would get what PC-DMIS calls an Edge point. This is where the vector that is used for taking the measurement is perpendicular to the surface hit vector in the same plane as the surface and gap points. Using 2 hits the vector is normal to a line defined by 2 sample hits along the edge. Using 3 hits is commonly referred to as the Flush/Gap measurement from what I have read on line. This is for when you have a corner where you have enough surface on the edge to take 3 hits to get the normal vector for the measurement. It still uses the target that is defined by the offset of the surface, but there are 3 different approach vectors that can be used to take the actual measurement.

    The part I'm trying to understand is the XYZ coordinate measurements include the deviation of the surface point. If you have a 90 degree edge you can subtract out the surface point deviation easily. But when you get away from 90 degrees it deviates away from being straight math and you need to start doing vector math. I have one measurement that for some reason is adding 0.984 mm to the deviation along the direction of the surface vector. This is in addition the the actual surface deviation. I'm just trying to figure out where that 0.984 came from because it is a constant on all the measurements. When your tolerance is +/- 0.5, having 0.984 unexplained meanshift in your measurement system is not acceptable.


    Well, you are certainly working under a BIG handicap..... Pcdmis is NOT DMIS code, never has been, never will be. Pcdmis is a misnomer (IMO) as DMIS is not even half of Pcdmis. Pcdmis does not really play well wth DMIS code since Pcdmis uses coding that may SOUND like DMIS, but is up and beyond (or below, depends on your point of view) DMIS. A Pcdmis program, while it can be exported as DMIS code, will lose a lot of stuff from the program because it is not DMIS and Pcdmis uses much more than just DMIS code.

    As for the 0.984.... that number, while NOT a 1, or 2, or 3, or 4 or any of the other common probe sizes IS, however, either a calibrated probe radius (of a 2mm ball) or the calibrated diameter of a 1mm ball. That x.984 is almost a perfect result of all my probe calibrations on my machine, a 1mm = 0.985, 2mm=1.985 and so on, with a range of maybe +/-0.005mm. I'm guessing it is a probe comp issue.

    As for the edge point including the surface deviation, yep, it will have that. RMEAS (in Pcdmis) is "relative measurement", they measured a surface point (vector point), then used that as the 'relative' point. For example, a piece of sheet metal. Let's say it is (nominally) flat, with a surface vector of 0,0,1. Let's also say that the edge vector is 1,0,0 (square in the X axis). Now, sheet metal varies. If that piece of sheet metal is 2mm low (for example) and you are using a 1mm ball, without a surface sample hit, the probe will not touch the part because it is too low. Now, with Edge point, 1 sample hit makes it take a point on the surface to set the depth (to compensate for surface deviation). With 2, those sample hits are on the edge to get the actual edge vector, but you get no 'surface control' for the depth. 5 sample hits gets you 3 on the surface and 2 on the edge to calculate actual surface and edge vectors THEN it takes the edge measurement. ANY edge point that samples the surface WILL HAVE surface deviation in the resulting XYZ values. UNLESS!!!!! Pcdmis has a command "GAP ONLY" which REMOVES the surface deviation from the edge point dimension, thus giving you XYZ values that show ONLY the edge devitation.

    In the code you posted:

    f7589a140  =auto/vector point, showallparams=yes
                theo/5150.242,-816.214,1075.426,0.5676822,-0.7946932,0.2149411
                actl/5150.042,-816.222,1075.467,0.5676321,-0.794711,0.2150074
                targ/5150.242,-816.214,1075.426,0.5676822,-0.7946932,0.2149411
                  theo_thickness = 0.711, rect, snap = no ,$
                  auto move = yes, distance = 25
    dim d_f7589a140= location of point f7589a140
    ax  nominal    meas     +tol     -tol      dev  
    x  5150.242 5150.042    1.200    1.200   -0.200
    y  -816.214 -816.222    1.200    1.200   -0.008
    z  1075.426 1075.467    1.200    1.200    0.041
    t     0.000   -0.099    1.200    1.200   -0.099
    v     0.568   -0.795    0.215
    end of dimension d_f7589a140
    


    The dimension does NOT make any sense to me, the axis with the BIGGEST vector is showing the smalled deviation of them, something is wrong there.

    This is a vector point, and I am guessing it is close to the edge. This gets measured. Pcdmis then knows how much the surface deviated from nominal.

    It is followed by this edge point:
    g7589a140  =auto/edge point, showallparams=yes
                theo/5153.436,-809.589,1076.956,0.9207243,-0.0697596,0.3839276
                actl/5152.725,-808.78,1076.8,0.9207259,-0.0697852,0.3839191
                targ/5153.436,-809.589,1076.956,0.9207243,-0.0697596,0.3839276
                  theo_thickness = 0, rect, edge theo_thickness = 0.711, onerror = no ,$
                  auto move = yes, distance = 25, rmeas = f7589a140, measure order = surface ,$
                  surface normal = 0.5676822,-0.7946932,0.2149411 ,$
                  init = 0, perm = 0, spacer = 0, indent = 6.298, depth = 0
    
    


    This edge point is using the surface deviation from the f7589a140 point as a RELATIVE location so that the probe will hit at the correct place on the edge of the part. I do see issues, #1 being that they are trying to measure 0 depth, and that isn't a good idea.
Children
No Data