hexagon logo

MMC by hand

Good morning,
We've been asked to report the position and parallelism of a keyway to a bore. It's a simple bore, with a one straight keyway in it. We have also been asked to use the MMC bonus in the calculations. The keyway is shallow enough that we can't get two good planes from the sides, or we would use a width feature. We've tried to make a width feature using two lines constructed from points taken on the sides of the keyway. We either don't understand that process well enough to make it work, or it just doesn't. Anyway, we've decided to do this in legacy, using an alignment. One advantage of this is that we can clearly demonstrate our process to disbelieving minds. We have somewhat figured out how to use assign to do some simple arithmetic. We can assign the value of a letter or something to be the measured value of the bore, minus the smallest (maximum material condition), allowable diameter of the bore. We can subtract that bonus from a reported position or parallelism, and report the result of that using a generic feature. What we haven't been able to figure out is how to keep our report from showing a minus number if the position is really good, and the bonus is large. (we know that pcdmis reports the actual position, but doesn't turn it red if the bonus is large enough) We're sure there is a way. We've looked at the "if then" stuff for pcdmis on the internet, and we're going to try and fumble our way through that on Monday morning.

Can someone possibly direct us to some good "help" information, or maybe provide a simple example of how to correctly do what we are trying to do? Being able to do this kind of "if then" arithmetic is something we could use a lot.

Thanks for your help.
  • Line Width features don't like constructed lines. :^( Measured lines are fine.
  • to add MMC bonuses where widths are impractical: Construct midpoint. Dimension distance (reporting "none"). Use legacy dimension. Command mode in edit window. Cursor in tolerance field of edit window, F2, now you can enter a formula that changes tolerance by the MMC.

    However, the true position of the key way to bore basically is asking how straight it points to the bore center line. If you can't measure at any depth, you can't honestly report the dimension. Q-Mark sells styli with spheres as small as 0.2mm and can ship overnight (will-call in an hour if you're local).
  • Report using legacy.
    Prior to the position output, run the size calculation (manual input of measured width via input command, pass input value into a generic feature) or use the point to point data that generates your midpoint for the width assessment.
    Once you know the deviation value which can be used to calculate your modified boundry, add the value to the position tolerance as defined on your print.
    The tolerance value will now change in each report you output, but it can be mathematically explained on your report.

    HTH
  • All good stuff,

    Bore size to small to do a measured line. Have to take hits on one side, rotate head, and take hits on other side. Is good to know though, that could help me on some other keyways. Also didn't know about the manual input. Another thing that's good to know. I'll have to find out how to do that. Lol, we aren't measuring width by hand, because we don't have the tools to do it. We do use the points that we use to generate our midpoints to measure our width. So, how do I get it to add the deviation value to the tolerance? Do I simply put a plus sign after the tolerance value in the position dialog box, followed by the identifier I assigned the deviation value to?

    It's also true that with the small keyway sides, it's hard to orient for position. We have a nice flat wide bottom to the keyway, we are rotating our alignment to that, and hoping that the broach rod is nice and square.

    Thanks.
  • I don't understand the need for calculations. Why wouldn't you just use the distance between and the location and create a generic circle. Then report in a single axis with MMC. PC-DMIS will do the math for you.


  • Here are 2 ways to apply the MMC both in this one code group. Review and use if you desire:
    FYI, often we can pass the data into a generic feature and get GEOTOL to still report the dimension. I know GEOTOL struggles with generic features from time to time, so be warned it doesn't always work out.

    SIDE1      =FEAT/POINT,CARTESIAN
                THEO/<1,0,25.4>,<-1,0,0>
                ACTL/<1,0,25.4>,<-1,0,0>
                MEAS/POINT,1,WORKPLANE
                  HIT/BASIC,NORMAL,<1,0,25.4>,<-1,0,0>,<1,0,25.4>,USE THEO=YES
                ENDMEAS/
    SIDE2      =FEAT/POINT,CARTESIAN
                THEO/<-1,0,25.4>,<1,0,0>
                ACTL/<-1,0,25.4>,<1,0,0>
                MEAS/POINT,1,WORKPLANE
                  HIT/BASIC,NORMAL,<-1,0,25.4>,<1,0,0>,<-1,0,25.4>,USE THEO=YES
                ENDMEAS/
    MID_PNT    =FEAT/POINT,CARTESIAN,NO
                THEO/<0,0,25.4>,<0,0,1>
                ACTL/<0,0,25.4>,<-0.0000001,0,1>
                CONSTR/POINT,MID,SIDE1,SIDE2
    DIM W1= 2D DISTANCE FROM POINT SIDE1 TO POINT SIDE2     (CENTER TO CENTER),NO_RADIUS  UNITS=IN,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH
    AX       MEAS    NOMINAL       +TOL       -TOL        DEV     OUTTOL
    M        2.000      2.000      0.004      0.004      0.000      0.000 -#--
    SLOT_1     =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
                NOM/XYZ,<MID_PNT.TX,MID_PNT.TY,MID_PNT.TZ>,$
                MEAS/XYZ,<MID_PNT.X,MID_PNT.Y,MID_PNT.Z>,$
                NOM/IJK,<MID_PNT.TI,MID_PNT.TJ,MID_PNT.TK>,$
                MEAS/IJK,<MID_PNT.I,MID_PNT.J,MID_PNT.K>,$
                DIAMETER/2+0,W1.M.MEAS
    $$ NO,
                
                ASSIGN/V1=W1.M.MEAS-1.996
               IF/V1<0
                  ASSIGN/V1=0
                END_IF/​
                IF/V1>0.008
                  ASSIGN/V1=0.008
                END_IF/​
    $$ NO,
                
    DIM W2= POSITION OF CIRCLE SLOT_1  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  FIT TO DATUMS=OFF  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX       MEAS    NOMINAL       +TOL       -TOL      BONUS        DEV     OUTTOL
    X       0.000      0.000                                       0.000          
    Y       0.000      0.000                                       0.000          
    DF      2.000      2.000      0.004      0.004      0.004      0.000      0.000 -#--
    TP      0.000        MMC      0.005                 0.004      0.000      0.000 #---
    END OF DIMENSION W2
    $$ NO,
                
    DIM ALT_W2= POSITION OF CIRCLE SLOT_1  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  FIT TO DATUMS=OFF  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX       MEAS    NOMINAL       +TOL       -TOL      BONUS        DEV     OUTTOL
    X       0.000      0.000                                       0.000          
    Y       0.000      0.000                                       0.000          
    TP      0.000        MMC  .005+V1                 0.000      0.000      0.000 #---
    END OF DIMENSION ALT_W2​
    
  • Thanks again for all your help.

    We do use the generic circle thing for keyways. It usually works well for us. This particular drawing asks for bonus from the keyway size, and bonus from the bore, which is datum A. I don't fully understand how, or even if, that method actually uses the datum modifier bonus. Probably just my own ignorance. I click on the use datums button select the A cylinder, and click on the M button for the datum, but it only seems to use the bonus from the keyway. Maybe that's all it's supposed to use. Again, probably my own ignorance. Our engineering dept. thinks it should get a bonus from both.

    Thanks
  • The (M) on your datum is NOT the same as the (M) for your feature. These bonus values do not work the same. For your datum it is a SHIFT allowance within the confines of itself, for the feature it is a direct add on to the tolerance value set by the print. The example I provided does not account for Datum Shift, you would need to use GEOTOL to gain that bonus.

    I would recommend some time reviewing the difference of Datum Shift vs Bonus Tolerance.
  • I'll also add (speaking from a fair bit of experience) that if the keyway is too small to measure planes on each side, it is too small to reliably check with a CMM. This is especially true for internal/broached keyways.

    A milled keyway on a shaft you might be able to do.

    The CMM is not always the best tool for the job!