hexagon logo

Profile of surface

Hello guys, I would need a bit of help as I'm trying to measure this profile of surface dimension. I've been using Hexagon Performance 7.10.7 CMM machine for about 5 months, but this is the first project in which I need to measure profile of surface depended on three datum sufaces A/B/C. For datum A, I tried taking the line of surface, than making a plane, but it always shows me that axis on datum A and datum C are parallel or coincident. Datum B is I assume the circle which I scan and than make constructed circle. For the measurement I scan the radius and use that scan to get profile of surface. 

Can you help me on how to take datums A,B,C and is it correct to scan the radius and use it for my dimension. 


  • When I do it, it works but my dimension is 0.000

  • you should remeasure your datums after your manual alignment and make a new alignment with your dcc datums. you also need to scan the hole contour on several levels not just the one radius.

  • So do my datums manualy, make alignments than do them in dcc mode and do new alignments?

  • Is there any other way to do this? 

    I follow all your instructions, it looks good on paper, but measurements are just too much off. I don't get anywhere near 0.3. 

  • After your first DCC, did you do another round of DCC measurements? The first DCC alignment for me is finding all the features, then second DCC is fine tuning. See if this improves your measurements. Send your program in a reply inside of a code tag. Below the reply box, select Insert > Code. That way it's more readable

  • I would abandon your scan of datum B until you have your actual alignment locked down, there is no need to scan it for now. Seems like your current alignment is unstable and giving you pretty poor results. 

  • Not a single thing I tried has worked for me. I'm over my head with this. My scan, circle B, planes A,C look great in PCDMIS, but I'm having issues with alignment. Is there any other way to try aligning these surfaces? 

    Plane A - vectors 0,0,1 

    Circle B - vectors 0,0,1 

    Plane C - vectors 1,0,0 

    Scan - vectors 0,0,1 

    Is this okay, or should it be changed? I get dimensions like 126, 204 and I use legacy dimensions, select profile surface, set datums on these surfaces and select the scan for measurement. 

  • Well... There are some things to try assuming you didn't get this fixed yet. 

    Is your trihedron correctly aligned to your machine before you are starting the alignment?
    Did you try it without using a scan? 
    Is the part secure on the CMM, it's not sliding around, even slightly?
    You can post your most recent attempt at measurement using the insert code function below. 

  • You should have something like this...

    PLN_A      =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,OUTLINE,LEAST_SQR
                THEO/<0,48,0>,<0,0,1>
                ACTL/<0,48,0>,<0,0,1>
                TARG/<0,48,0>,<0,0,1>
                ANGLE VEC=<0,1,0>,SQUARE
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
    CYL_B      =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<0,0,0>,<0,0,1>,54.6,15.5
                ACTL/<0,0,0>,<0,0,1>,54.6,15.5
                TARG/<0,0,0>,<0,0,1>
                START ANG=-45,END ANG=225
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
    PLN_C      =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,OUTLINE,LEAST_SQR
                THEO/<-40.15,22.6,-7.5>,<-1,0,0>
                ACTL/<-40.15,22.6,-7.5>,<-1,0,0>
                TARG/<-40.15,22.6,-7.5>,<-1,0,0>
                ANGLE VEC=<0,0,1>,SQUARE
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
    A1         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN_A
                  ALIGNMENT/ROTATE,XMINUS,TO,PLN_C,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,CYL_B
                  ALIGNMENT/TRANS,YAXIS,CYL_B
                  ALIGNMENT/TRANS,ZAXIS,PLN_A
                ALIGNMENT/END
                DATDEF/A,FEATURES=PLN_A,,
                DATDEF/B,FEATURES=CYL_B,,
                DATDEF/C,FEATURES=PLN_C,,
    SCN1       =FEAT/SCAN,FREEFORM,NUMBER OF HITS=154,SHOW HITS=NO,SHOWALLPARAMS=NO
                MEAS/SCAN
                  BASICSCAN/FREEFORM,NUMBER OF HITS=154,SHOW HITS=NO,SHOWALLPARAMS=NO
                  ENDSCAN
                ENDMEAS/
    SCN2       =FEAT/SCAN,FREEFORM,NUMBER OF HITS=154,SHOW HITS=NO,SHOWALLPARAMS=NO
                MEAS/SCAN
                  BASICSCAN/FREEFORM,NUMBER OF HITS=154,SHOW HITS=NO,SHOWALLPARAMS=NO
                  ENDSCAN
                ENDMEAS/
    SCN3       =FEAT/SCAN,FREEFORM,NUMBER OF HITS=154,SHOW HITS=NO,SHOWALLPARAMS=NO
                MEAS/SCAN
                  BASICSCAN/FREEFORM,NUMBER OF HITS=154,SHOW HITS=NO,SHOWALLPARAMS=NO
                  ENDSCAN
                ENDMEAS/
    SCN4       =FEAT/SET,CARTESIAN
                THEO/<-0.261,22.426,-7.5>,<0,0,1>
                ACTL/<-0.261,22.426,-7.5>,<0,0,1>
                CONSTR/SET,BASIC,SCN1,SCN2,SCN3,,
    FCFPROF1 =SURFACE PROFILE : SCN4
                FEATCTRLFRAME/SHOWPARAMS=YES,SHOWEXPANDED=YES,
                CADGRAPH=OFF,REPORTGRAPH=OFF,TEXT=OFF,MULT=10.00,ARROWDENSITY=100,OUTPUT=BOTH,UNITS=MM,
                COMPOSITE=NO,
                CUSTOMIZED DRF=NO
                STANDARDTYPE=ASME_Y14_5
                  PRIMARY DIMENSION/PROFILE OF SURFACE,0.3,<UZ>,<UTol>,A,B,C
                  NOTE/FCFPROF1
                FEATURES/SCN4,,
    DIM PROF4= PROFILE OF SURFACE OF SET SCN4    FORMANDLOCATION  UNITS=MM ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  ARROWDENSITY=100  OUTPUT=BOTH
    AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
    M        0.000      0.150      0.150      0.000      0.000      0.000 ----|----

    I've included both XactMeasure (feature control frame) and legacy profile of a surface - ideally, you should use XactMeasure.  XactMeasure will create it's ownm internal alignment from the datums whereas legacy uses the active alignment in your program.

    This is what it looks like in PC-DMIS...