hexagon logo

Legacy dimension - profile of a surface

First of all, I am aware this topic has been covered, but my google-fu failed to find a solution for my current conundrum.

All that follows is relative to PC-DMIS 2012

Part setup:
Datum A: Cylinder along Z, locking X, Y and two rotational DoF
Datum B: Plane perpendicular to A, locking Z
Datum C: Plane perpendicular to B at 5.5 basic from A's axis, locking the last rotational DoF

Callout:
Profile of a surface of datum C relative to datum A

The issue:
While this is pretty straightforward to do with exact dimensions, the report template at my current workplace plays nicely only with legacy dimensions.
The result of legacy profile of a surface (form and position, LSQ best fit) while aligned to ABC are different (worse) than exact above.
To my understanding this is to be expected as legacy "form and location" fits to the current alignment, which is restricting 6 DoF instead of just 4 as Datum A alone would.
If this is the case, is there any way to use legacy with the callout that I have?
Parents

  • OK, so I found out what was going on. Your datum C plane is a constructed plane made up of several vector points. When the plane is referenced for the bestfit alignment, only the centroid is being used. If you construct a feature set from the datum C points and reference that in the bestfit alignment instead, the legacy and Xact numbers match. It looks like the Xact bestfit is a little more intelligent than the bestfit option in an alignment and takes into account all of the individual hits rather than just the centroid.

    This is the change I made to the code...
    SCN5 =FEAT/SET,CARTESIAN
    THEO/<0,-5.5,-22.5>,<0,0,1>
    ACTL/<0.035,-5.534,-22.56>,<0.0000206,0.0004782,0.9999999>
    CONSTR/SET,BASIC,DATC_1,DATC_2,DATC_3,DATC_4,DATC_5,DATC_ 6,DATC_7,DATC_8,DATC_9,DATC_10,,
    ALN_PROFILE=ALIGNMENT/START,RECALL[emoticon:6D505171FAA4497C85C5CA27290C555D]ATUM_ABC,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,DATUM_A
    ALIGNMENT/TRANS,XAXIS,DATUM_A
    ALIGNMENT/TRANS,YAXIS,DATUM_A
    ALIGNMENT/BF2D,ZMINUS,MIN/MAX,CREATE WEIGHTS=NO,ROTONLY,0,0,0,0.3
    ITERATEANDREPIERCECAD=YES,TOLERANCE=20,MAX ITERATIONS=100
    Deviation Threshold=0.2
    SHOWALLINPUTS=YES,SHOWALLPARAMS=YES
    ID=SCN5,Feature Sets,,1,YES
    DATC_1,Points,,1,YES
    DATC_2,Points,,1,YES
    DATC_3,Points,,1,YES
    DATC_4,Points,,1,YES
    DATC_5,Points,,1,YES
    DATC_6,Points,,1,YES
    DATC_7,Points,,1,YES
    DATC_8,Points,,1,YES
    DATC_9,Points,,1,YES
    DATC_10,Points,,1,YES
    ID=
    ALIGNMENT/END
    DISPLAYPRECISION/5
    DIM CTQ_13_PROF_DAT_C_A= PROFILE OF SURFACE OF PLANE DATUM_C FORMANDLOCATION UNITS=MM ,$
    GRAPH=OFF TEXT=ON MULT=100.00 ARROWDENSITY=100 OUTPUT=BOTH
    AX NOMINAL MEAS +TOL -TOL DEV OUTTOL MAX MIN
    M 0.00000 0.04895 0.05000 0.05000 0.04895 0.00000 0.04895 0.00577 ---|---#
    XACT_PROFILE =SURFACE PROFILE : DATUM_C
    FEATCTRLFRAME/SHOWPARAMS=YES,SHOWEXPANDED=YES
    CADGRAPH=POSITION,REPORTGRAPH=OFF,TEXT=BOTH,MULT=1 00.00,ARROWDENSITY=100,OUTPUT=BOTH,UNITS=MM
    COMPOSITE=NO,
    CUSTOMIZED DRF=NO
    STANDARDTYPE=ASME_Y14_5
    PRIMARY DIMENSION/PROFILE OF SURFACE,0.1,<UZ>,<UTol>,A,<MC>,<dat>,<dat>
    NOTE/XACT_PROFILE
    FEATURES/DATUM_C,,
    IF/CTQ_13_PROF_DAT_C_A.OUTTOL<>0
    ASSIGN/OUTTOL_TOT=OUTTOL_TOT+1
    END_IF/
    DISPLAYPRECISION/3


    Since you have a CAD model, I also turned on iterate and re-pierce since this will also improve the accuracy.
Reply

  • OK, so I found out what was going on. Your datum C plane is a constructed plane made up of several vector points. When the plane is referenced for the bestfit alignment, only the centroid is being used. If you construct a feature set from the datum C points and reference that in the bestfit alignment instead, the legacy and Xact numbers match. It looks like the Xact bestfit is a little more intelligent than the bestfit option in an alignment and takes into account all of the individual hits rather than just the centroid.

    This is the change I made to the code...
    SCN5 =FEAT/SET,CARTESIAN
    THEO/<0,-5.5,-22.5>,<0,0,1>
    ACTL/<0.035,-5.534,-22.56>,<0.0000206,0.0004782,0.9999999>
    CONSTR/SET,BASIC,DATC_1,DATC_2,DATC_3,DATC_4,DATC_5,DATC_ 6,DATC_7,DATC_8,DATC_9,DATC_10,,
    ALN_PROFILE=ALIGNMENT/START,RECALL[emoticon:6D505171FAA4497C85C5CA27290C555D]ATUM_ABC,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,DATUM_A
    ALIGNMENT/TRANS,XAXIS,DATUM_A
    ALIGNMENT/TRANS,YAXIS,DATUM_A
    ALIGNMENT/BF2D,ZMINUS,MIN/MAX,CREATE WEIGHTS=NO,ROTONLY,0,0,0,0.3
    ITERATEANDREPIERCECAD=YES,TOLERANCE=20,MAX ITERATIONS=100
    Deviation Threshold=0.2
    SHOWALLINPUTS=YES,SHOWALLPARAMS=YES
    ID=SCN5,Feature Sets,,1,YES
    DATC_1,Points,,1,YES
    DATC_2,Points,,1,YES
    DATC_3,Points,,1,YES
    DATC_4,Points,,1,YES
    DATC_5,Points,,1,YES
    DATC_6,Points,,1,YES
    DATC_7,Points,,1,YES
    DATC_8,Points,,1,YES
    DATC_9,Points,,1,YES
    DATC_10,Points,,1,YES
    ID=
    ALIGNMENT/END
    DISPLAYPRECISION/5
    DIM CTQ_13_PROF_DAT_C_A= PROFILE OF SURFACE OF PLANE DATUM_C FORMANDLOCATION UNITS=MM ,$
    GRAPH=OFF TEXT=ON MULT=100.00 ARROWDENSITY=100 OUTPUT=BOTH
    AX NOMINAL MEAS +TOL -TOL DEV OUTTOL MAX MIN
    M 0.00000 0.04895 0.05000 0.05000 0.04895 0.00000 0.04895 0.00577 ---|---#
    XACT_PROFILE =SURFACE PROFILE : DATUM_C
    FEATCTRLFRAME/SHOWPARAMS=YES,SHOWEXPANDED=YES
    CADGRAPH=POSITION,REPORTGRAPH=OFF,TEXT=BOTH,MULT=1 00.00,ARROWDENSITY=100,OUTPUT=BOTH,UNITS=MM
    COMPOSITE=NO,
    CUSTOMIZED DRF=NO
    STANDARDTYPE=ASME_Y14_5
    PRIMARY DIMENSION/PROFILE OF SURFACE,0.1,<UZ>,<UTol>,A,<MC>,<dat>,<dat>
    NOTE/XACT_PROFILE
    FEATURES/DATUM_C,,
    IF/CTQ_13_PROF_DAT_C_A.OUTTOL<>0
    ASSIGN/OUTTOL_TOT=OUTTOL_TOT+1
    END_IF/
    DISPLAYPRECISION/3


    Since you have a CAD model, I also turned on iterate and re-pierce since this will also improve the accuracy.
Children
No Data