Improper datum shift - Xact

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Improper datum shift - Xact

    I wrote a very basic shell of a program to test the functionality of XactMeasure - I believe it is not acting correctly and would like some input. I can send the program to anyone willing to play around, but it is also very easy to construct for yourself.

    START PROGRAM
    ENTER DCC MODE
    CREATE AUTO INNER CYLINDER DATUM_C (X = 0, Y = 0, Z = 0, D = .6572, L = .2505) ALONG Z - LEVEL Z+
    CREATE AUTO OUTER CYLINDER DATUM_D (X = .3286, Y = 0, Z = -.1253, D = .265, L = 3.5878) ALONG X - ROTATE X+ ABOUT Z+
    ORIGIN X,Y TO DATUM_C
    ORIGIN Z TO DATUM_D

    CREATE AUTO INNER CYLINDER DATUM_E (X = 4.245, Y = .125, Z = 0, D = .6572, L = .2505) ALONG Y
    MEASURE POSITION OF DATUM_E TO [PRIMARY DATUM_C AT MMB|SECONDARY DATUM_D AT MMB]
    POSITION = 0 - DATUM_C CONTROLS XROTATION, YROTATION, XTRANSLATION, YTRANSLATION & DATUM_D CONTROLS ZROTATION, ZTRANSLATION

    Following so far? Everything is as expected. All results should be 0.

    CREATE AUTO INNER CYLINDER DATUM_CM (X = 0, Y = 0, Z = .1253, D = .6572, L = .2505) ALONG Z WHICH IS THE SAME FEATURE AS DATUM_C
    BUT - FOR DATUM_CM CHANGE THE UNIT VECTOR I = 0.004

    This will create a feature DATUM_CM in the place of DATUM_C but slightly tilted toward DATUM_E.

    MEASURE POSITION OF DATUM_E AS BEFORE, BUT USE DATUM_CM AS PRIMARY.

    Once your feature tolerances are set correctly (as listed below), you should see a large ZTranslation shift.
    Now shut MMB off of DATUM_D and the ZTranslation goes away - the part fails.
    The issue here is that while DATUM_D constrains ZTranslation, it certainly should not allow it to shift as much as it is.
    Also, it claims that DATUM_D is not even using any bonus.
    You can even exaggerate the tilt of DATUM_CM and not watch the situation improve.

    The feature tolerances are DATUM_C = .6572 +0/-.0005
    DATUM_D = .265 +.005/-.005
    DATUM_E = .6572 +0/-.0005
    DATUM_CM = .6572 +0/-.0005

    I will also attach the code.

    Code:
    STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
    ALIGNMENT/END
    MODE/MANUAL
    FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, ,
    LOADPROBE/T5
    TIP/T5-A0B0, SHANKIJK=0, 0, 1, ANGLE=0
    MODE/DCC
    
    DATUM_C =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0,0,0>,<0,0,1>,0.6572,0.2505
    ACTL/<0,0,0>,<0,0,1>,0.6572,0.2505
    TARG/<0,0,0>,<0,0,1>
    START ANG=0,END ANG=360
    ANGLE VEC=<0,0,-1>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    
    AUTO_1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,DATUM_C
    ALIGNMENT/END
    
    DATUM_D =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,OUT,LEAST_SQR
    THEO/<0.3286,0,-0.1253>,<1,0,0>,0.265,3.5878
    ACTL/<0.3286,0,-0.1253>,<1,0,0>,0.265,3.5878
    TARG/<0.3286,0,-0.1253>,<1,0,0>
    START ANG=0,END ANG=360
    ANGLE VEC=<0,0,1>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    
    AUTO_2 =ALIGNMENT/START,RECALL:AUTO_1,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,DATUM_C
    ALIGNMENT/ROTATE,XPLUS,TO,DATUM_D,ABOUT,ZPLUS
    ALIGNMENT/TRANS,XAXIS,DATUM_C
    ALIGNMENT/TRANS,YAXIS,DATUM_C
    ALIGNMENT/TRANS,ZAXIS,DATUM_D
    ALIGNMENT/END
    
    DATUM_E =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<4.245,0.1253,0>,<0,1,0>,0.6572,0.2505
    ACTL/<4.245,0.125,0>,<0,1,0>,0.6572,0.2505
    TARG/<4.245,0.125,0>,<0,1,0>
    START ANG=0,END ANG=360
    ANGLE VEC=<0,0,-1>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    
    DATDEF/FEATURE=DATUM_C,C
    DATDEF/FEATURE=DATUM_D,D
    DATDEF/FEATURE=DATUM_E,E
    
    COMMENT/REPT,
    
    .002 Position - E to [C(M)|D(M)]
    
    FCFLOC1 =POSITION : DATUM_E
    FEATCTRLFRAME/SHOWNOMS=YES,SHOWPARAMS=YES,SHOWEXPANDED=YES
    CADGRAPH=OFF,REPORTGRAPH=OFF,TEXT=OFF,MULT=10.00,A RROWDENSITY=100,OUTPUT=BOTH,UNITS=IN
    COMPOSITE=NO,FIT TO DATUMS=YES,DEV PERPEN CENTERLINE=ON,OUTPUT ALIGNMENT=Datum Reference Frame
    CUSTOMIZED DRF=NO
    STANDARDTYPE=ASME_Y14_5
    SIZE TOLERANCES/1,DIAMETER,0.6572,0,0.0005
    PRIMARY DIMENSION/POSITION,DIAMETER,0.002,MMC,<PZ>,<len>,C,MMC,<size >,D,MMC,<size>,<dat>
    SECONDARY DIMENSION/<Dim>,<tol>,<MC>,<dat>,<dat>,<dat>
    NOTE/FCFLOC1
    FEATURES/DATUM_E,,
    DATUM_E
    X:NOM=4.245
    Z:NOM=0
    <NEW>
    DATUMS
    D1:NOM=0.6572,+TOL=0,-TOL=0.0005
    D2:NOM=0.265,+TOL=0.005,-TOL=0.005
    
    DATUM_CM =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0,0,0.1253>,<0.0043081,0,0.9999907>,0.6572,0.25 05
    ACTL/<0,0,0.1253>,<0.004,0,0.9284703>,0.6572,0.2505
    TARG/<0,0,0.1253>,<0.0043081,0,0.9999907>
    START ANG=0,END ANG=360
    ANGLE VEC=<0,0,-1>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    
    DATDEF/FEATURE=DATUM_CM,CM
    
    COMMENT/REPT,
    
    .002 Position - E to [CM(M)|D(M)]
    
    FCFLOC2 =POSITION : DATUM_E
    FEATCTRLFRAME/SHOWNOMS=YES,SHOWPARAMS=YES,SHOWEXPANDED=YES
    CADGRAPH=OFF,REPORTGRAPH=OFF,TEXT=OFF,MULT=10.00,A RROWDENSITY=100,OUTPUT=BOTH,UNITS=IN
    COMPOSITE=NO,FIT TO DATUMS=YES,DEV PERPEN CENTERLINE=ON,OUTPUT ALIGNMENT=Datum Reference Frame
    CUSTOMIZED DRF=NO
    STANDARDTYPE=ASME_Y14_5
    SIZE TOLERANCES/1,DIAMETER,0.6572,0,0.0005
    PRIMARY DIMENSION/POSITION,DIAMETER,0.002,MMC,<PZ>,<len>,CM,MMC,<siz e>,D,MMC,<size>,<dat>
    SECONDARY DIMENSION/<Dim>,<tol>,<MC>,C,MMC,<size>,D,MMC,<size>,<dat>
    NOTE/FCFLOC2
    FEATURES/DATUM_E,,
    DATUM_E
    X:NOM=4.245
    Z:NOM=0
    <NEW>
    DATUMS
    D1:NOM=0.6572,+TOL=0,-TOL=0.0005
    D2:NOM=0.265,+TOL=0.005,-TOL=0.005
    Last edited by JacobCheverie; 04-22-2020, 01:59 PM.

Related Topics

Collapse

Working...
X