hexagon logo

Composite true positions in Legacy

I'm being required to use Legacy GDT reporting for a program.
I haven't used legacy before and need help on how to measure/report these composite true positions using it.

Datum A is a surface
Datum B is a bore
Datum C is a bore
I have my alignment set up to ABC.

In TP#1 how do I ignore C to get the AB alignment?
and how do I get just B for the composite?

In TP#2 How do I get the composite with no datums?

Can Legacy do MMC bonus or MMB datum shifts?


TP #1:

{"data-align":"none","data-size":"medium","data-tempid":"temp_22355_1648740249085_596"}
TP #2:

  {"data-align":"none","data-size":"medium","data-tempid":"temp_22356_1648740215078_727"}    ​​
​​
  • I think you have in a serious issue being tied to legacy. it does not use MMB for datums, and I don't think you can use common datum structure in it either. Maybe someone else that has more experience with Legacy can help but in my opinion, there is a reason it was replaced in 2009, and it is NOT because it was so great, just sayin'
  • For all I know, there may be an easier way to do this, but the way I tend to report composite positions using Legacy dimensions is by using best fit alignments.

    As an example, let’s consider a really simple part. Something flat with a center hole and a bolt hole circle around it. We’ll call the plane Datum A, the center hole Datum B, and the hole at the 0deg orientation Datum C.



    To report the position to AB, an under constrained DRF, I’d first align to ABC in the normal fashion. Then create a best fit alignment that recalls the ABC alignment. When creating the best fit alignment, select all the features that are going to be reported and select any degrees of freedom that are not constrained by the DRF. In this case all the DOFs are constrained except Z axis rotation. Ideally, you would use the Max/Min fit to support the ASME or ISO standards, but that is not supported by all combinations of DOFs, so sometimes you have to settle for a Least Squares fit.

    For this example I purposely shifted CIR3 by 0.005” in both X and Y. When the calculate button is pressed you will see the largest deviation on that circle and a small amount on the others.



    Then you report the hole positions using legacy reporting. Below is a graph of the deviations shown in the Graphics Display Window. Below that is the code which includes the reported values. You will see that MMC is applied. MMB could be applied to a single hole, but not to a set of holes (as far as I know). In any case, the way legacy reporting calculates MMB is a little sketchy.



    PLN_A =FEAT/PLANE,CARTESIAN,OUTLINE,NO,LEAST_SQR
    THEO/<0,0,0>,<0,0,1>
    ACTL/<0,0,0>,<0,0,1>
    CONSTR/PLANE,BF,PNT0,PNT5,PNT4,PNT3,PNT2,PNT1,,
    OUTLIER_REMOVAL/OFF,3
    FILTER/OFF,WAVELENGTH=0
    
    CIR_B =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0,0,0>,$
    MEAS/XYZ,<0,0,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    DIAMETER/0.5,0.5
    
    CIR_C =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<1,0,0>,$
    MEAS/XYZ,<1,0,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR1 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0.5,0.866,0>,$
    MEAS/XYZ,<0.5,0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR2 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<-0.5,0.866,0>,$
    MEAS/XYZ,<-0.5,0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR3 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<-1,0,0>,$
    MEAS/XYZ,<-1.005,0.0005,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR4 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<-0.5,-0.866,0>,$
    MEAS/XYZ,<-0.5,-0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR5 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0.5,-0.866,0>,$
    MEAS/XYZ,<0.5,-0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    ALN_ABC =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN_A
    ALIGNMENT/ROTATE_CIRCLE,XPLUS,TO,CIR_B,AND,CIR_C,ABOUT,ZPLUS
    ALIGNMENT/TRANS,ZAXIS,PLN_A
    ALIGNMENT/TRANS,XAXIS,CIR_B
    ALIGNMENT/TRANS,YAXIS,CIR_B
    ALIGNMENT/END
    
    A5 =ALIGNMENT/START,RECALL:ALN_ABC,LIST=YES
    ALIGNMENT/BF2D,ZPLUS,MIN_MAX,CREATE WEIGHTS=NO,ROTONLY,0,0,0,359.9715
    ITERATEANDREPIERCECAD=NO
    Deviation Threshold=0.02
    SHOWALLINPUTS=YES,SHOWALLPARAMS=YES
    ID=CIR_C,Circles,,1,YES
    ID=CIR5,Circles,,1,YES
    ID=CIR1,Circles,,1,YES
    ID=CIR2,Circles,,1,YES
    ID=CIR3,Circles,,1,YES
    ID=CIR4,Circles,,1,YES
    ID=
    ALIGNMENT/END
    
    WORKPLANE/ZPLUS
    DIM LOC1= POSITION OF CIRCLE CIR_C UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=50.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X 1.0000 1.0000 0.0000
    Y 0.0000 0.0005 0.0005
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0010 0.0100 0.0050 0.0010 90.0143 0.0000 #
    END OF DIMENSION LOC1
    
    DIM LOC2= POSITION OF CIRCLE CIR1 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=50.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X 0.5000 0.4996 -0.0004
    Y 0.8660 0.8663 0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0010 0.0100 0.0050 0.0010 150.0143 0.0000 #
    END OF DIMENSION LOC2
    
    DIM LOC3= POSITION OF CIRCLE CIR2 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=50.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X -0.5000 -0.5004 -0.0004
    Y 0.8660 0.8658 -0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0010 0.0100 0.0050 0.0010 -149.9857 0.0000 #
    END OF DIMENSION LOC3
    
    DIM LOC4= POSITION OF CIRCLE CIR3 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=50.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X -1.0000 -1.0050 -0.0050
    Y 0.0000 0.0000 0.0000
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0100 0.0100 0.0050 0.0100 -179.9978 0.0000 #
    END OF DIMENSION LOC4
    
    DIM LOC5= POSITION OF CIRCLE CIR4 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=50.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X -0.5000 -0.4996 0.0004
    Y -0.8660 -0.8663 -0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0010 0.0100 0.0050 0.0010 -29.9857 0.0000 #
    END OF DIMENSION LOC5
    
    DIM LOC6= POSITION OF CIRCLE CIR5 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=50.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X 0.5000 0.5004 0.0004
    Y -0.8660 -0.8658 0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0010 0.0100 0.0050 0.0010 30.0143 0.0000 #
    END OF DIMENSION LOC6
    


    I will try to provide an example for full unconstrained soon, but there is a limit to how many pictures you can put in one post.








  • The process is the same for a fully unconstrained DRF. The only difference is that you will select a full 3D BF alignment. This allows for all DOFs to be shifted. In this case, because only one hole was shifted, you can really see how the Min/Max fit managed to find a happy medium to make all the deviations equal.



    Again, here are the graphs and code. Now, since there are no constraints, you can see that the maximum and minimum deviations are equal and in opposite directions.
    If you want to know how much datum shift there was, look at the BF alignment code. I put a note where to look.


    PLN_A =FEAT/PLANE,CARTESIAN,OUTLINE,NO,LEAST_SQR
    THEO/<0,0,0>,<0,0,1>
    ACTL/<0,0,0>,<0,0,1>
    CONSTR/PLANE,BF,PNT0,PNT5,PNT4,PNT3,PNT2,PNT1,,
    OUTLIER_REMOVAL/OFF,3
    FILTER/OFF,WAVELENGTH=0
    
    CIR_B =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0,0,0>,$
    MEAS/XYZ,<0,0,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    DIAMETER/0.5,0.5
    
    CIR_C =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<1,0,0>,$
    MEAS/XYZ,<1,0,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR1 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0.5,0.866,0>,$
    MEAS/XYZ,<0.5,0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR2 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<-0.5,0.866,0>,$
    MEAS/XYZ,<-0.5,0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR3 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<-1,0,0>,$
    MEAS/XYZ,<-1.005,0.0005,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR4 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<-0.5,-0.866,0>,$
    MEAS/XYZ,<-0.5,-0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR5 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0.5,-0.866,0>,$
    MEAS/XYZ,<0.5,-0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    ALN_ABC =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN_A
    ALIGNMENT/ROTATE_CIRCLE,XPLUS,TO,CIR_B,AND,CIR_C,ABOUT,ZPLUS
    ALIGNMENT/TRANS,ZAXIS,PLN_A
    ALIGNMENT/TRANS,XAXIS,CIR_B
    ALIGNMENT/TRANS,YAXIS,CIR_B
    ALIGNMENT/END
    
    A5 =ALIGNMENT/START,RECALL:ALN_ABC,LIST=YES
    ALIGNMENT/BF3D,MIN_MAX,CREATE WEIGHTS=NO,ROTANDTRANS,-0.0025,0.0002,0,0,0.0001,0.0001   <<<Shift Values XYZ, Xrot, Yrot, Zrot
    ITERATEANDREPIERCECAD=NO
    Deviation Threshold=0.02
    SHOWALLINPUTS=YES,SHOWALLPARAMS=YES
    ID=CIR_C,Circles,LOC1,1,YES
    ID=CIR5,Circles,LOC6,1,YES
    ID=CIR1,Circles,LOC2,1,YES
    ID=CIR2,Circles,LOC3,1,YES
    ID=CIR3,Circles,LOC4,1,YES
    ID=CIR4,Circles,LOC5,1,YES
    ID=
    ALIGNMENT/END
    
    WORKPLANE/ZPLUS
    DIM LOC1= POSITION OF CIRCLE CIR_C UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X 1.0000 1.0025 0.0025
    Y 0.0000 -0.0002 -0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0050 0.0100 0.0050 0.0050 -5.7001 0.0000 #
    END OF DIMENSION LOC1
    
    DIM LOC2= POSITION OF CIRCLE CIR1 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X 0.5000 0.5025 0.0025
    Y 0.8660 0.8658 -0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0050 0.0100 0.0050 0.0050 -5.7002 0.0000 #
    END OF DIMENSION LOC2
    
    DIM LOC3= POSITION OF CIRCLE CIR2 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X -0.5000 -0.4975 0.0025
    Y 0.8660 0.8658 -0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0050 0.0100 0.0050 0.0050 -5.7004 0.0000 #
    END OF DIMENSION LOC3
    
    DIM LOC4= POSITION OF CIRCLE CIR3 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X -1.0000 -1.0025 -0.0025
    Y 0.0000 0.0003 0.0003
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0050 0.0100 0.0050 0.0050 174.2793 0.0000 #
    END OF DIMENSION LOC4
    
    DIM LOC5= POSITION OF CIRCLE CIR4 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X -0.5000 -0.4975 0.0025
    Y -0.8660 -0.8663 -0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0050 0.0100 0.0050 0.0050 -5.7004 0.0000 #
    END OF DIMENSION LOC5
    
    DIM LOC6= POSITION OF CIRCLE CIR5 UNITS=IN ,$
    GRAPH=ON TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X 0.5000 0.5025 0.0025
    Y -0.8660 -0.8663 -0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    TP MMC 0.0050 0.0100 0.0050 0.0050 -5.7002 0.0000 #
    END OF DIMENSION LOC6
    
    
  • Incredibly useful information in every detail.
    Great!
  • Incredibly useful information in every detail.
    Great!


    Thanks! I'm glad you liked it. That was fun to type up.
  • Excellent posts Chris!


    Thanks NB. It means a lot coming from you.
  • Cris_C Thank you! Your post is extremely helpful!
    The Best Fit Alignment was the piece I was missing and you laid it out very clearly.
    Appreciate you!
  • Cris_C Thank you! Your post is extremely helpful!
    The Best Fit Alignment was the piece I was missing and you laid it out very clearly.
    Appreciate you!


    Your welcome Lake Monster. I hope it all works out well for you.

    Some more thoughts that I had, which came up later. It is pretty rare that I see a fully unconstrained position DRF. In the example I gave, even if the lower segment of the composite position called for no datums, I would probably still constrain it to datum A (3 DOFs). I noticed from the code that I provided that the BF alignment rotated the Y-axis by just a little bit (.0001deg). That doesn't make sense to me as all the circles are on the same plane. In this case, doing a 2D BF with rotation would make sure it can't shift too much in wacky ways. I don't know what would be best for your part (I can't see the pictures you provided, I think they are being blocked by my company's web filters), but just be sure to look over the results and make sure they make sense. It may take a bit of tinkering.

    Also, I didn't do this in the code, but I suggest you check the option in the Legacy TP dialog window to report Deviations "Perpendicular to centerline". It didn't matter on my example, but It would matter if you have holes with different vectors used in the same set.

    One more thought on MMB. I figured out how to apply this for a set of hole using Legacy mode. This won't work for all situations, but I think this works properly for this example. In the Legacy Position Dialog box, Select the datums, define a tolerance on that datum (in this case I gave datum B a tolerance of +/-.002), and uncheck the box 'fit to datums' so it uses the current alignment rather than re-calculating the position for just the one hole. It will then apply bonus tolerance for datum B. The problem is that it isn't true MMB because it does not account for datum shift, but on this simple example where all the holes are an equal distance from the datum, I think it works fine. Just something you may want to tinker with.

    Here is how that looks in the Position dialog window. This is for reporting [Position|Ø.01(M)|A|B(M)]
    This is just for the 1st hole. You would need to repeat this for all the holes. When you select datums you can't just select all the holes at once.



    And here is the code. Since Datum B is at nominal, you can see that it applies an additional 0.002 bonus.
    Well, I guess you can see. The formatting doesn't show right on the forum.

    PLN_A =FEAT/PLANE,CARTESIAN,OUTLINE,NO,LEAST_SQR
    THEO/<0,0,0>,<0,0,1>
    ACTL/<0,0,0>,<0,0,1>
    CONSTR/PLANE,BF,PNT0,PNT5,PNT4,PNT3,PNT2,PNT1,,
    OUTLIER_REMOVAL/OFF,3
    FILTER/OFF,WAVELENGTH=0
    
    CIR_B =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0,0,0>,$
    MEAS/XYZ,<0,0,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    DIAMETER/0.5,0.5
    
    CIR_C =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<1,0,0>,$
    MEAS/XYZ,<1,0,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR1 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0.5,0.866,0>,$
    MEAS/XYZ,<0.5,0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR2 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<-0.5,0.866,0>,$
    MEAS/XYZ,<-0.5,0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR3 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<-1,0,0>,$
    MEAS/XYZ,<-1.005,0.0005,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR4 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<-0.5,-0.866,0>,$
    MEAS/XYZ,<-0.5,-0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    CIR5 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0.5,-0.866,0>,$
    MEAS/XYZ,<0.5,-0.866,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/0.1,0.1
    
    ALN_ABC =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN_A
    ALIGNMENT/ROTATE_CIRCLE,XPLUS,TO,CIR_B,AND,CIR_C,ABOUT,ZPLUS
    ALIGNMENT/TRANS,ZAXIS,PLN_A
    ALIGNMENT/TRANS,XAXIS,CIR_B
    ALIGNMENT/TRANS,YAXIS,CIR_B
    ALIGNMENT/END
    
    A5 =ALIGNMENT/START,RECALL:ALN_ABC,LIST=YES
    ALIGNMENT/BF2D,ZPLUS,MIN_MAX,CREATE WEIGHTS=NO,ROTONLY,0,0,0,359.9715
    ITERATEANDREPIERCECAD=NO
    Deviation Threshold=0.02
    SHOWALLINPUTS=YES,SHOWALLPARAMS=YES
    ID=CIR_C,Circles,LOC1,1,YES
    ID=CIR5,Circles,LOC6,1,YES
    ID=CIR1,Circles,LOC2,1,YES
    ID=CIR2,Circles,LOC3,1,YES
    ID=CIR3,Circles,LOC4,1,YES
    ID=CIR4,Circles,LOC5,1,YES
    ID=
    ALIGNMENT/END
    
    WORKPLANE/ZPLUS
    
    DIM LOC1= POSITION OF CIRCLE CIR_C UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=ON DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X 1.0000 1.0000 0.0000
    Y 0.0000 0.0005 0.0005
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    D1 PLANE PLN_A AT RFS
    D2 0.5000 0.5000 0.0020 0.0020 CIRCLE CIR_B AT RFS
    TP MMC 0.0010 0.0100 0.0050 0.0010 90.0143 0.0000 #
    END OF DIMENSION LOC1
    
    DIM LOC2= POSITION OF CIRCLE CIR1 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X 0.5000 0.4996 -0.0004
    Y 0.8660 0.8663 0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    D1 PLANE PLN_A AT RFS
    D2 0.5000 0.5000 0.0020 0.0020 CIRCLE CIR_B AT RFS
    TP MMC 0.0010 0.0100 0.0050 0.0010 150.0143 0.0000 #
    END OF DIMENSION LOC2
    
    DIM LOC3= POSITION OF CIRCLE CIR2 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X -0.5000 -0.5004 -0.0004
    Y 0.8660 0.8658 -0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    D1 PLANE PLN_A AT RFS
    D2 0.5000 0.5000 0.0020 0.0020 CIRCLE CIR_B AT RFS
    TP MMC 0.0010 0.0100 0.0050 0.0010 -149.9857 0.0000 #
    END OF DIMENSION LOC3
    
    DIM LOC4= POSITION OF CIRCLE CIR3 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X -1.0000 -1.0050 -0.0050
    Y 0.0000 0.0000 0.0000
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    D1 PLANE PLN_A AT RFS
    D2 0.5000 0.5000 0.0020 0.0020 CIRCLE CIR_B AT RFS
    TP MMC 0.0100 0.0100 0.0050 0.0100 -179.9978 0.0000 #
    END OF DIMENSION LOC4
    
    DIM LOC5= POSITION OF CIRCLE CIR4 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X -0.5000 -0.4996 0.0004
    Y -0.8660 -0.8663 -0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    D1 PLANE PLN_A AT RFS
    D2 0.5000 0.5000 0.0020 0.0020 CIRCLE CIR_B AT RFS
    TP MMC 0.0010 0.0100 0.0050 0.0010 -29.9857 0.0000 #
    END OF DIMENSION LOC5
    
    DIM LOC6= POSITION OF CIRCLE CIR5 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=70.00 OUTPUT=BOTH FIT TO DATUMS=OFF DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL MEAS +TOL -TOL BONUS DEV DEVANG OUTTOL
    X 0.5000 0.5004 0.0004
    Y -0.8660 -0.8658 0.0002
    DF 0.2000 0.2000 0.0050 0.0050 0.0050 0.0000 0.0000 #
    D1 PLANE PLN_A AT RFS
    D2 0.5000 0.5000 0.0020 0.0020 CIRCLE CIR_B AT RFS
    TP MMC 0.0010 0.0100 0.0050 0.0010 30.0143 0.0000 #
    END OF DIMENSION LOC6
    
    




  • Cris_C

    What typed of measurement difference would be alarming to you if you did a composite profile of a surface with in the newer geometric dropdown deal vs the legacy best fit deal? I tried your above method and the bottom A|B section max measurement value was off from the geometric by .010". The analysis graphic output was quite similar and showed all points relatively similar in their shift pattern. If you are interested I can post it on here, but I only have a couple more days at this school, so I've been tidying up some of the tutorials I've made and fixing some old programs before I new what I was doing.