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
  •             comment/rept,f7589a140 - point - insp=om metal=0.711 type=10 pn=68037589aa f panel - body side otr lt
    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
                comment/rept,g7589a140 - hedge - insp=om metal=0.711 type=32 pn=68037589aa f panel - body side otr lt 
    
    
    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
    dim d_g7589a140= location of point g7589a140
    ax  nominal    meas     +tol     -tol      dev  
    x  5153.436 5152.725    1.200    1.200   -0.711
    y  -809.589 -808.780    1.200    1.200    0.809
    z  1076.956 1076.800    1.200    1.200   -0.156
    t     0.000   -0.771    1.200    1.200   -0.771
    v     0.921   -0.070    0.384
    end of dimension d_g7589a140
    
  • Anyone know what "indent" is in the above code?
  • indent = the distance from the edge that it checks the surface to set the depth of the check.
    spacer = the distance from nominal in the edge that it samples to calculate the ACTUAL vector of the edge
    rmeas = relative measure, a feature it uses as "master" to check the feature.

    RMEAS has nothing to do with '3 hits' or anything like that. It points to a feature that Pcdmis will use as a 'target' for the feature being measured. In the case of an edge point, it is usually a surface point (should be CLOSE to the edge point) and it uses the surface checks "high" or "low" to adjust where it will hit the edge point.

    Sounds like you are in sore need of training and classes, this stuff is in the help files.
  • 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.
  • 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.
  • Thanks again for the great response.

    I just hopped on here to ask about the depth setting of 0. What does PC-DMIS do with that? Do they offset the gap nominal by the 'edge theo_thickness' along a vector perpendicular to the Edge point surface vector? If so that could actually explain part of what I am seeing.

    Do you know what effect the edge theo_thickness has?

    From looking at the CAD. If I offset the nominal point by the theo thickness along the gap point surface vector it give me a point on the opposite side of material. If I then offset that point along the vector that is perpendicular to the edge surface vector, then it gives me a point that is in line with where all the data is after I remove the surface point deviation from it. I will need to try to get a graphic of this.
  • THEO and ACTL thickness are for when you are checking the OPPOSITE side of stock from what you have cad data for. Say your part is 1mm thick, but you only have cad data for ONE SIDE of the part, and that is NOT the side you are checking.

    THEO THICKNESS is for when you want the NOMINALS to reflect the side you are checking on, ACTL THICKNESS is for when you want the nominals to STAY cad nominals, but you don't what the 1mm stock thickness to screw up your checks. ACTL acts sort of like 'extra' probe comp. When used for an edge point for the edge thickness, it has the same effect, BUT (IMO) there should never BE an edge thickness value.

    DEPTH: Sheet metal.... When sheet metal is stamped (cut) you get a 'shear' and a 'break' on the edge. You don't want to check the 'break', there is where the metal wasn't 'cut', but 'broke away' from the 'shear' cut that was done. You need the probe to hit on the 'shear'. Well, depending on WHICH SIDE the part was cut FROM will determine which side has the shear and which side has the break. Let's go with a 'thick' part, 6mm thick. You will have about 1mm of shear and 5mm of break on the edge of that part. If the shear is on the 'bottom' as you are checking it, you would want a 5.5mm depth so that the probe hits the shear. If the shear is on the 'top', then you would want 0.5mm of depth. A zero is BAD because you will either be hitting the break (shear on the bottom) or you WILL be hitting the curl that will be on the shear side, there is always a little bit of curl, so that's a bad place to hit as well.

    Now, since Pcdmis isn't DMIS, if that thickness had been meant for the SURFACE, it should show up in the THEO_THICKNESS and not the THEO EDGE THICKNESS. This could be an issue with DMIS out / DMIS inm but IMO, there should NOT be any edge thickness value. I would guess that the metal thickness of the sheetmetal is 0.711 and that it got screwed up in the translation and put in the edge thickness.
  • Could a probe comp issue explain the screwed up measurement on the f7589a140 point?
  • I noticed that the code for the G7589A140 point has both Theo Thickness=0 and Edge Theo Thickness=0.711. What is the Edge Theo Thickness? When would that be used?

    I'm thinking that this might be in the direction that is tangent to the Edge point surface. This may be the very culprit that I'm looking for. My data appears to be shifted by an extra 0.711 in the direction normal to the gap surface, see the 0.711 dimension in the attached image.



    This is also not exactly an edge point, but a corner that only has a 48 degree bend. The circles are the points on the "Design" surface. The nominals are actually on the other side of material. The surface point is the one that is Red, the edge point is light blue circle.