Is there something wrong with this program?

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

  • Is there something wrong with this program?

    I have had a ticket in with Hexagon for a while with spotty responses, none of which have really addressed the issue I am seeing. I have gone over this program a countless number of times and have finally rewritten it in a much simpler form. I am still experiencing the issue as stated below. I would like some people to confirm that there is nothing fundamentally wrong with the overall structure of this program. This is a "continuation" of the thread https://www.pcdmisforum.com/forum/pc...asure-position

    I have removed the irrelevant starting sections of the program.

    Here is pseudo code:
    Measure Cylinder
    Level to Cylinder
    Measure 4 Circles
    Construct Cylinder from Circles
    Rotate to Constructed Cylinder
    Origin to the two Cylinders
    Measure Plane
    Measure Plane
    Measure Plane
    Rotate Probe
    Measure Plane
    Measure Cylinder
    Rotate Probe


    Issue:
    Position of third Cylinder to First Cylinder (Primary Datum) and Second (Constructed) Cylinder (Secondary Datum).
    Feature and both datums are at MMC/MMB.
    Secondary datum reads OOT




    Code:
                MODE/DCC
                MOVE/POINT,NORMAL,<0,0,2>
    DATUM_C    =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<0,0,-0.02128>,<0,0,1>,0.6569,0.208
                ACTL/<0.00021,-0.00021,-0.02128>,<0.0024162,-0.0023116,0.9999944>,0.65687,0.208
                TARG/<0,0,-0.02128>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/INCREMENT,<0,0,0.4>
                MOVE/INCREMENT,<-0.875,0.4,0>
    AUTO_1     =ALIGNMENT/START,RECALL:MANUAL_3,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,DATUM_C
                ALIGNMENT/END
    CIR2       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                THEO/<-1.05,0,-0.1253>,<1,0,0>,0.2655,0
                ACTL/<-1.05,-0.00094,-0.12869>,<1,0,0>,0.26455,0
                TARG/<-1.05,0,-0.1253>,<1,0,0>
                START ANG=90,END ANG=270
                ANGLE VEC=<0,0,-1>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/INCREMENT,<0,0,0.5>
                MOVE/INCREMENT,<-DX/2 + BUFFER + 1.05,0.5,0>
    CIR3       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                THEO/<-DX/2 + BUFFER,0,-0.1253>,<1,0,0>,0.2655,0
                ACTL/<-1.569,-0.00097,-0.131>,<1,0,0>,0.26514,0
                TARG/<-DX/2 + BUFFER,0,-0.1253>,<1,0,0>
                START ANG=90,END ANG=270
                ANGLE VEC=<0,0,-1>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/INCREMENT,<0,0,3>
                MOVE/INCREMENT,<-2*BUFFER,0,0>
    CIR4       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                THEO/<-DX/2 - BUFFER,0,-0.1253>,<1,0,0>,0.2655,0
                ACTL/<-2.469,-0.00079,-0.13388>,<1,0,0>,0.26549,0
                TARG/<-DX/2 - BUFFER,0,-0.1253>,<1,0,0>
                START ANG=90,END ANG=270
                ANGLE VEC=<0,0,-1>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/INCREMENT,<0,0,0.5>
                MOVE/INCREMENT,<-DX/2 + 1.05,0.5,0>
    CIR5       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                THEO/<-DX + 1.05,0,-0.12525>,<1,0,0>,0.2655,0
                ACTL/<-2.988,-0.00055,-0.13543>,<1,0,0>,0.26539,0
                TARG/<-DX + 1.05,0,-0.12525>,<1,0,0>
                START ANG=90,END ANG=270
                ANGLE VEC=<0,0,-1>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
    DATUM_D    =FEAT/CYLINDER,CARTESIAN,OUT,LEAST_SQR,YES
                THEO/<-1.92565,0,-0.12531>,<-1,0,0>,0.2655,2.145
                ACTL/<-1.92025,-0.00082,-0.1322>,<-0.9999957,0.000182,-0.0029175>,0.26537,2.1365
                CONSTR/CYLINDER,BF,CIR2,CIR5,CIR4,CIR3,,
    AUTO_2     =ALIGNMENT/START,RECALL:AUTO_1,LIST=YES
                  ALIGNMENT/ROTATE,XMINUS,TO,DATUM_D,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,DATUM_C
                  ALIGNMENT/TRANS,YAXIS,DATUM_C
                  ALIGNMENT/TRANS,ZAXIS,DATUM_D
                ALIGNMENT/END
                MOVE/POINT,NORMAL,<-DX + 0.38,-.5,0>
                ASSIGN/FR=.38
                ASSIGN/XP=FR*SQRT(2)/2
    B1         =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,NONE,LEAST_SQR
                THEO/<-DX,-0.12525,0>,<0,-1,0>
                ACTL/<-4.038,-0.1265,0>,<0.0001086,-0.999997,0.0024557>
                TARG/<-4.245,-0.12525,0>,<0,-1,0>
                ANGLE VEC=<1,0,0>,RADIAL
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<-DX + 0.38 ,-.5,1>
                MOVE/INCREMENT,<0,1,0>
    B2         =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,NONE,LEAST_SQR
                THEO/<-DX,0.1253,0>,<0,1,0>
                ACTL/<-4.038,0.12452,0>,<0.0005463,0.9999968,-0.0024553>
                TARG/<-4.245,0.1253,0>,<0,1,0>
                ANGLE VEC=<1,0,0>,RADIAL
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<-DX + 0.38,0.5,1>
                MOVE/INCREMENT,<0,-1,0>
                MOVE/POINT,NORMAL,<0,0,1>
    A1         =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,NONE,LEAST_SQR
                THEO/<0,0,0.1253>,<0,0,1>
                ACTL/<-0.00002,0.00001,0.13211>,<-0.0023616,0.0009121,0.9999968>
                TARG/<0,0,0.1253>,<0,0,1>
                ANGLE VEC=<1,0,0>,RADIAL
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<0,0,6>
                TIP/T5-A-90B90, SHANKIJK=-0.01524, -0.99988, 0.00205, ANGLE=0.19662
                MOVE/POINT,NORMAL,<0,0,2>
                MOVE/POINT,NORMAL,<-0.00788,-0.85356,0.49538>
                MOVE/POINT,NORMAL,<-0.00506,-0.85532,-0.33692>
    A2         =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,NONE,LEAST_SQR
                THEO/<0,0,-0.1253>,<0,0,-1>
                ACTL/<-0.00001,0.00001,-0.11936>,<0.0016055,-0.0009474,-0.9999983>
                TARG/<0,0,-0.1253>,<0,0,-1>
                ANGLE VEC=<0,0,-1>,SQUARE
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/INCREMENT,<0,-1.5,0>
                MOVE/INCREMENT,<-DX,0,0>
                MOVE/POINT,NORMAL,<-DX,-.25,0>
                ASSIGN/CR=.3285
                ASSIGN/ZP=CR*SQRT(2)/2
    DATUM_E    =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<-DX,0.10397,0>,<0,-1,0>,0.6569,-0.2079
                ACTL/<-4.03719,0.10395,-0.00725>,<-0.0017551,-0.9999919,0.0036128>,0.65683,-0.2079
                TARG/<-DX,0.10397,0>,<0,-1,0>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<-DX,-.375,0>
                MOVE/INCREMENT,<0,0,2>
                MOVE/INCREMENT,<6,6,8>
                TIP/T5-A0B0, SHANKIJK=-0.0034, 0.0021, 0.99999, ANGLE=-90.87306
                MOVE/POINT,NORMAL,<0,0,10>
    $$ NO,
                ====================================================
                ------------------ Constructions -------------------
                ====================================================
    
    DATUM_B    =FEAT/WIDTH,CARTESIAN,OUT,LEAST_SQR,NO
                THEO/<-4.038,0.00002,0>,<0,1,0>,0.25055
                MEAS/<-4.03793,-0.00099,-0.00009>,<0.00022,1,-0.00246>,0.25101
                CONSTR/WIDTH,BFRE,B1,B2
    DATUM_A    =FEAT/WIDTH,CARTESIAN,OUT,LEAST_SQR,NO
                THEO/<0.02235,0,0>,<0,0,-1>,0.2506
                MEAS/<0.02233,-0.00001,0.00641>,<0.00195,-0.00093,-1>,0.25148
                CONSTR/WIDTH,BFRE,A1,A2
    $$ NO,
                ====================================================
                ---------------- Datum Definitions -----------------
                ====================================================
    
                DATDEF/FEATURE=DATUM_A,A
                DATDEF/FEATURE=DATUM_B,B
                DATDEF/FEATURE=DATUM_C,C
                DATDEF/FEATURE=DATUM_D,D
                DATDEF/FEATURE=DATUM_E,E
    $$ NO,
                ====================================================
                ------------------- Measurements -------------------
                ====================================================
    
                COMMENT/REPT,
    
                "Inspector I.D. : " + C1.INPUT
                "    Job Number : " + C2.INPUT
                IF/C6.INPUT=="YES"
                  COMMENT/REPT,
                  " Serial Number : " + C7.INPUT
                END_IF/
                COMMENT/REPT,
    
                .002 POSITION - E TO C, D
    
    FCFLOC1 =POSITION : DATUM_E
                FEATCTRLFRAME/SHOWNOMS=NO,SHOWPARAMS=NO,SHOWEXPANDED=NO
                  SIZE TOLERANCES/1DIAMETER,0.6569,0.0003,0.0002
                  PRIMARY DIMENSION/POSITION,DIAMETER,0.002,MMC,,,C,MMC,D,MMC,
                  NOTE/FCFLOC1
                FEATURES/DATUM_E,,

    MMBFAIL.jpg
    Last edited by JacobCheverie; 10-16-2019, 11:28 AM. Reason: Added Report Image

  • #2
    why don't you translate x,y origin to dat -C- during align AUTO_1?
    Che Guevara is a communist scumbag.

    Comment


    • JacobCheverie
      JacobCheverie commented
      Editing a comment
      I like to Rotate before performing any translations. I'm not sure that it matters either way.
      Believe it or not, adding the translation to that alignment made the datum "More OOT" from about .0018 to .0023
      Last edited by JacobCheverie; 10-16-2019, 11:32 AM.

  • #3
    CIR 2, 3, 4 and 5 are measured on 180° only, so there not very accurate.
    I think I would construct DATUM_D from circle hits, even if it seems to be ok.

    Can you post the result with parameters on ?

    Comment


    • JacobCheverie
      JacobCheverie commented
      Editing a comment
      JEFMAN This is the "alignment" scheme with parameters on. I know that datum C is out by about 8 minutes of arc which, when projected over the 3"+ length of the part, will skew the DRF by a large amount. But it appears that the MMB on D is trying too hard to compensate.


      Code:
      DATUM_C    =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
                  THEO/<0,0,-0.02128>,<0,0,1>,0.6569,0.208
                  ACTL/<0.00021,-0.00021,-0.02128>,<0.0024162,-0.0023116,0.9999944>,0.65687,0.208
                  TARG/<0,0,-0.02128>,<0,0,1>
                  START ANG=0,END ANG=360
                  ANGLE VEC=<1,0,0>
                  DIRECTION=CCW
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=6,NUMLEVELS=3,DEPTH=0.025,END OFFSET=0.025,PITCH=0
                    SAMPLE METHOD=SAMPLE_HITS
                    SAMPLE HITS=0,SPACER=0
                    AVOIDANCE MOVE=NO,DISTANCE=0.3937
                    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOW HITS=YES
                    HIT/BASIC,<0.32845,0,-0.20428>,<-1,0,0>,<0.3282,-0.00094,-0.20418>
                    HIT/BASIC,<0.16422,0.28445,-0.20428>,<-0.5,-0.8660254,0>,<0.16551,0.28371,-0.20431>
                    HIT/BASIC,<-0.16423,0.28445,-0.20428>,<0.5,-0.8660254,0>,<-0.16598,0.28375,-0.20427>
                    HIT/BASIC,<-0.32845,0,-0.20428>,<1,0,0>,<-0.32865,0.00091,-0.20438>
                    HIT/BASIC,<-0.16423,-0.28445,-0.20428>,<0.5,0.8660254,0>,<-0.16541,-0.28362,-0.20442>
                    HIT/BASIC,<0.16422,-0.28445,-0.20428>,<-0.5,0.8660254,0>,<0.16497,-0.28362,-0.20278>
                    HIT/BASIC,<0.16422,-0.28445,-0.12528>,<-0.5,0.8660254,0>,<0.1651,-0.28386,-0.12392>
                    HIT/BASIC,<-0.16423,-0.28445,-0.12528>,<0.5,0.8660254,0>,<-0.16554,-0.2836,-0.12391>
                    HIT/BASIC,<-0.32845,0,-0.12528>,<1,0,0>,<-0.32848,0.00094,-0.12552>
                    HIT/BASIC,<-0.16423,0.28445,-0.12528>,<0.5,-0.8660254,0>,<-0.1669,0.28282,-0.12395>
                    HIT/BASIC,<0.16422,0.28445,-0.12528>,<-0.5,-0.8660254,0>,<0.16545,0.28368,-0.12534>
                    HIT/BASIC,<0.32845,0,-0.12528>,<-1,0,0>,<0.3284,0.00051,-0.12532>
                    HIT/BASIC,<0.32845,0,-0.04628>,<-1,0,0>,<0.32857,-0.00095,-0.04638>
                    HIT/BASIC,<0.16422,0.28445,-0.04628>,<-0.5,-0.8660254,0>,<0.16552,0.28359,-0.04633>
                    HIT/BASIC,<-0.16423,0.28445,-0.04628>,<0.5,-0.8660254,0>,<-0.16572,0.28332,-0.04638>
                    HIT/BASIC,<-0.32845,0,-0.04628>,<1,0,0>,<-0.32827,0.00088,-0.04647>
                    HIT/BASIC,<-0.16423,-0.28445,-0.04628>,<0.5,0.8660254,0>,<-0.16554,-0.28368,-0.04493>
                    HIT/BASIC,<0.16422,-0.28445,-0.04628>,<-0.5,0.8660254,0>,<0.16522,-0.28407,-0.04488>
                  ENDMEAS/
                  MOVE/INCREMENT,<0,0,0.4>
                  MOVE/INCREMENT,<-0.875,0.4,0>
      AUTO_1     =ALIGNMENT/START,RECALL:MANUAL_3,LIST=YES
                    ALIGNMENT/LEVEL,ZPLUS,DATUM_C
                  ALIGNMENT/END
      CIR2       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                  THEO/<-1.05,0,-0.1253>,<1,0,0>,0.2655,0
                  ACTL/<-1.05,-0.00094,-0.12869>,<1,0,0>,0.26455,0
                  TARG/<-1.05,0,-0.1253>,<1,0,0>
                  START ANG=90,END ANG=270
                  ANGLE VEC=<0,0,-1>
                  DIRECTION=CCW
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=7,DEPTH=0.19685,PITCH=0
                    SAMPLE METHOD=SAMPLE_HITS
                    SAMPLE HITS=0,SPACER=0
                    AVOIDANCE MOVE=NO,DISTANCE=0.3937
                    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOW HITS=YES
                    HIT/BASIC,<-0.85315,0.13267,-0.12067>,<0,0.9993908,0.0348995>,<-0.85396,0.13109,-0.11856>
                    HIT/BASIC,<-0.85315,0.11339,-0.05627>,<0,0.8541564,0.5200161>,<-0.85382,0.10979,-0.05616>
                    HIT/BASIC,<-0.85315,0.06503,-0.00957>,<0,0.4898897,0.8717844>,<-0.85343,0.06363,-0.01322>
                    HIT/BASIC,<-0.85315,0,0.00745>,<0,0,1>,<-0.85308,-0.00153,0.00356>
                    HIT/BASIC,<-0.85315,-0.06503,-0.00957>,<0,-0.4898897,0.8717844>,<-0.85255,-0.06545,-0.01314>
                    HIT/BASIC,<-0.85315,-0.11339,-0.05627>,<0,-0.8541564,0.5200161>,<-0.85224,-0.11132,-0.05556>
                    HIT/BASIC,<-0.85315,-0.13267,-0.12067>,<0,-0.9993908,0.0348995>,<-0.85219,-0.13295,-0.12027>
                  ENDMEAS/
                  MOVE/INCREMENT,<0,0,0.5>
                  MOVE/INCREMENT,<-DX/2 + BUFFER + 1.05,0.5,0>
      CIR3       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                  THEO/<-DX/2 + BUFFER,0,-0.1253>,<1,0,0>,0.2655,0
                  ACTL/<-1.569,-0.00097,-0.131>,<1,0,0>,0.26514,0
                  TARG/<-DX/2 + BUFFER,0,-0.1253>,<1,0,0>
                  START ANG=90,END ANG=270
                  ANGLE VEC=<0,0,-1>
                  DIRECTION=CCW
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=7,DEPTH=0.19685,PITCH=0
                    SAMPLE METHOD=SAMPLE_HITS
                    SAMPLE HITS=0,SPACER=0
                    AVOIDANCE MOVE=NO,DISTANCE=0.3937
                    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOW HITS=YES
                    HIT/BASIC,<-DX/2 + BUFFER,0.13267,-0.12067>,<0,0.9993908,0.0348995>,<-1.56972,0.13134,-0.1215>
                    HIT/BASIC,<-DX/2 + BUFFER,0.11339,-0.05627>,<0,0.8541564,0.5200161>,<-1.56963,0.10957,-0.05785>
                    HIT/BASIC,<-DX/2 + BUFFER,0.06503,-0.00957>,<0,0.4898897,0.8717844>,<-1.56931,0.06279,-0.01477>
                    HIT/BASIC,<-DX/2 + BUFFER,0,0.00745>,<0,0,1>,<-1.56896,-0.00157,0.00156>
                    HIT/BASIC,<-DX/2 + BUFFER,-0.06503,-0.00957>,<0,-0.4898897,0.8717844>,<-1.56843,-0.06455,-0.01458>
                    HIT/BASIC,<-DX/2 + BUFFER,-0.11339,-0.05627>,<0,-0.8541564,0.5200161>,<-1.56809,-0.1105,-0.05594>
                    HIT/BASIC,<-DX/2 + BUFFER,-0.13267,-0.12067>,<0,-0.9993908,0.0348995>,<-1.56807,-0.1331,-0.1202>
                  ENDMEAS/
                  MOVE/INCREMENT,<0,0,3>
                  MOVE/INCREMENT,<-2*BUFFER,0,0>
      CIR4       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                  THEO/<-DX/2 - BUFFER,0,-0.1253>,<1,0,0>,0.2655,0
                  ACTL/<-2.469,-0.00079,-0.13388>,<1,0,0>,0.26549,0
                  TARG/<-DX/2 - BUFFER,0,-0.1253>,<1,0,0>
                  START ANG=90,END ANG=270
                  ANGLE VEC=<0,0,-1>
                  DIRECTION=CCW
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=7,DEPTH=0.19685,PITCH=0
                    SAMPLE METHOD=SAMPLE_HITS
                    SAMPLE HITS=0,SPACER=0
                    AVOIDANCE MOVE=NO,DISTANCE=0.3937
                    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOW HITS=YES
                    HIT/BASIC,<-DX/2 - BUFFER,0.13267,-0.12067>,<0,0.9993908,0.0348995>,<-2.46982,0.13142,-0.12005>
                    HIT/BASIC,<-DX/2 - BUFFER,0.11339,-0.05627>,<0,0.8541564,0.5200161>,<-2.46966,0.10854,-0.05845>
                    HIT/BASIC,<-DX/2 - BUFFER,0.06503,-0.00957>,<0,0.4898897,0.8717844>,<-2.46927,0.06165,-0.01681>
                    HIT/BASIC,<-DX/2 - BUFFER,0,0.00745>,<0,0,1>,<-2.46894,-0.00152,-0.0011>
                    HIT/BASIC,<-DX/2 - BUFFER,-0.06503,-0.00957>,<0,-0.4898897,0.8717844>,<-2.46837,-0.06336,-0.01674>
                    HIT/BASIC,<-DX/2 - BUFFER,-0.11339,-0.05627>,<0,-0.8541564,0.5200161>,<-2.46808,-0.1098,-0.05786>
                    HIT/BASIC,<-DX/2 - BUFFER,-0.13267,-0.12067>,<0,-0.9993908,0.0348995>,<-2.46803,-0.13289,-0.12025>
                  ENDMEAS/
                  MOVE/INCREMENT,<0,0,0.5>
                  MOVE/INCREMENT,<-DX/2 + 1.05,0.5,0>
      CIR5       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                  THEO/<-DX + 1.05,0,-0.12525>,<1,0,0>,0.2655,0
                  ACTL/<-2.988,-0.00055,-0.13543>,<1,0,0>,0.26539,0
                  TARG/<-DX + 1.05,0,-0.12525>,<1,0,0>
                  START ANG=90,END ANG=270
                  ANGLE VEC=<0,0,-1>
                  DIRECTION=CCW
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=7,DEPTH=0.19685,PITCH=0
                    SAMPLE METHOD=SAMPLE_HITS
                    SAMPLE HITS=0,SPACER=0
                    AVOIDANCE MOVE=NO,DISTANCE=0.3937
                    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOW HITS=YES
                    HIT/BASIC,<-DX + 1.05,0.13267,-0.12062>,<0,0.9993908,0.0348995>,<-2.98745,0.13142,-0.12001>
                    HIT/BASIC,<-DX + 1.05,0.11339,-0.05622>,<0,0.8541564,0.5200161>,<-2.98869,0.11092,-0.0633>
                    HIT/BASIC,<-DX + 1.05,0.06503,-0.00952>,<0,0.4898897,0.8717844>,<-2.98832,0.06218,-0.01846>
                    HIT/BASIC,<-DX + 1.05,0,0.0075>,<0,0,1>,<-2.98801,0.00001,-0.0028>
                    HIT/BASIC,<-DX + 1.05,-0.06503,-0.00952>,<0,-0.4898897,0.8717844>,<-2.98747,-0.06379,-0.01867>
                    HIT/BASIC,<-DX + 1.05,-0.11339,-0.05622>,<0,-0.8541564,0.5200161>,<-2.9887,-0.11062,-0.06132>
                    HIT/BASIC,<-DX + 1.05,-0.13267,-0.12062>,<0,-0.9993908,0.0348995>,<-2.98709,-0.13251,-0.12018>
                  ENDMEAS/
      DATUM_D    =FEAT/CYLINDER,CARTESIAN,OUT,LEAST_SQR,YES
                  THEO/<-1.92565,0,-0.12531>,<-1,0,0>,0.2655,2.145
                  ACTL/<-1.92025,-0.00082,-0.1322>,<-0.9999957,0.000182,-0.0029175>,0.26537,2.1365
                  CONSTR/CYLINDER,BF,CIR2,CIR5,CIR4,CIR3,,
      AUTO_2     =ALIGNMENT/START,RECALL:AUTO_1,LIST=YES
                    ALIGNMENT/ROTATE,XMINUS,TO,DATUM_D,ABOUT,ZPLUS
                    ALIGNMENT/TRANS,XAXIS,DATUM_C
                    ALIGNMENT/TRANS,YAXIS,DATUM_C
                    ALIGNMENT/TRANS,ZAXIS,DATUM_D
                  ALIGNMENT/END

  • #4
    well maybe datum -d- is oot?
    what is the call out for dat -d-?
    Che Guevara is a communist scumbag.

    Comment


    • JacobCheverie
      JacobCheverie commented
      Editing a comment
      D is a secondary datum, this is the only dimension being evaluated at this point. It is not out on size. That section of the Position is related to datum shift/displacement. There is DRF mobility gained from the MMB on D, but apparently D needs to shift outside it's max boundary in order to make the part OK? That is my interpretation as has been discussed in the previous thread on this.

  • #5
    What's DX?

    I think I've read that the Demon doesn't like it when you use variables for feature theo's which are used in an alignment.
    Automettech - Automated Metrology Technology

    Comment


    • JacobCheverie
      JacobCheverie commented
      Editing a comment
      DX is my variable centerline distance. The part is a member of a family of similar parts, the only difference being centerline length. This is a parameterized program. Even running the part on a non-parameterized version of the program leads to similar issues.

    • Kp61dude!
      Kp61dude! commented
      Editing a comment
      It's done ok in my experience with variables on alignment features... but when there's a typo/mistake somewhere it's BAD, as in, it gives you the exact results based on your input errors lol double check yourselves, ladies and gentlemen, you're only as good as you verify.

  • #6
    What is the form of cylinder and circles?

    Comment


  • #7
    I'm following this thread in hopes something gets resolved.

    I really wish one of the PC-DMIS developers could answer this. I've asked tech support about this with multiple programs over the past couple years and haven't gotten a conclusive answer.

    It makes me look incompetent when I can't explain to engineering/customers whether or not the part passed or failed.

    Comment


    • #8
      I may be stupid, but I see this:

      - two datum cylinders with zero positional tolerance
      - the same two cylinders are too far apart.

      = there is no way to fit your datums to the requirement (the functional gage would not fit the datums, and you would not get the chance to verify the dimensioned feature). Note that all available (M) from the datum features has been consumed, and they can still not both be green.

      Why is the positional tolerance zero on the datum features?
      AndersI
      SW support - Hexagon Metrology Nordic AB

      Comment


      • Kp61dude!
        Kp61dude! commented
        Editing a comment
        You're far from stupid IMO AndersI

      • JacobCheverie
        JacobCheverie commented
        Editing a comment
        AndersI I punched the FCF into Xact as I see it on the print. Where would I go about changing the +TOL on the datum features? I have never seen this as being an option, nor necessary.

    • #9
      Originally posted by JacobCheverie
      I punched the FCF into Xact as I see it on the print. Where would I go about changing the +TOL on the datum features? I have never seen this as being an option, nor necessary.
      I would guess there should be a position dimension for the two datums' relation to each other - otherwise how can you be sure a fit is possible? But it's difficult for me to test offline...
      AndersI
      SW support - Hexagon Metrology Nordic AB

      Comment


      • JacobCheverie
        JacobCheverie commented
        Editing a comment
        I do have a Position callout for primary with respect to secondary. Addition of this FCF (before the one in question) does not change the results or the +TOL on either datum.

        A fit can be ensured by considering the nominal geometry in 3-space and the deviation from nominal location coupled with any form errors. The CMM should be able to do this without explicitly knowing how the two relate to one another. The GD&T/DRF dictates the relationship between the two.

    • #10
      Here is another interpretation of the results, kind of going from what AndersI said. With the angular deviation of datum C (about 8 minutes of arc), the coordinate system formed by DRF [C|D] is skewed when leveling to C. Now, D is to be basically oriented (perpendicular) to C when rotating the coordinate system. There is a maximum material boundary of D whose center axis lies on the coordinate axis formed when leveling to C. The angular deviation of C puts the MMB of D at such a location that the actual measured cylinder D is outside of the MMB, thus the datum position is OOT.

      Therefore, the part is bad. Is this the case? Is this how the Xact algorithms work?

      With the amount of time spent on this we should've built a functional gage by now. If this interpretation is true, the part will fail a functional test in the following way:

      Locating on C with a pin of MMC size, datum D must be placed in some sort of cylindrical container with I.D. size equal to MMC size of D. Then E must be fit on a pin of MMC size located basically per the print.
      The failure would come by D not fitting into it's "container".

      Is any of this correct?

      Comment


      • #11
        Datum -D- is 10 x longer than Datum -C-. -C- is Level, make level from -D- if possible........

        Comment


        • JacobCheverie
          JacobCheverie commented
          Editing a comment
          That is not correct per the FCF. I can do that to take my measurements, but at the end of the day, XactMeasure will internally level to C being the primary datum.

      • #12
        Not really a solution but we just had an issue in our NADCAP audit where two Sets of holes where to the same DRF but PCDMIS was calculating the Datum shift differently for each set. The Auditor was convinced that it was PCDMIS that just couldn't calculate Datum Shift properly. I didn't write the program so I just said screw it and removed the MMB from the FCF to be done with it.

        Comment


        • JacobCheverie
          JacobCheverie commented
          Editing a comment
          Loon4ever Do a search through the forum/help files on "Simultaneous Evaluation".

      • #13
        For anybody who is still following this/anybody who has received datum OOT values in XactMeasure -

        Last Friday I spoke with Rob Jensen and he made a few things clear to me, some of which we've heard from Wes Cisco in a previous post. The internal programming and calculations used for Xact are essentially based on Y14.5.1-1994. These algorithms, if you will, are going on 25/26 years old. Sometime early next year we will see a new revision of 14.5.1 which is built on a much stronger mathematical foundation. These methods of calculation will be brought into PC-DMIS at some point and it sounds like we will have something very nice to send XactMeasure off.

        That's the future. For now, there is a known bug in which the report will be red but read OOT 0.0000. The OOT is not truly 0, but out by an amount that is visible at 6+ decimal places. This is representative of a part that is probably right on the border, but I would not fail it. The red on the reports is annoying, but there is nothing Hexagon can do.
        It is also possible for the datum to shift past (not a bug) it's boundary in order to make a feature pass. In my opinion, the software shouldn't do this, but then again, the fitting algorithms are just told to run to completion. It appears that Hexagon just didn't have the logic in that states "If shift leads to datum OOT, shift back and report NG". Again, I think we will see something much cleaner in 2020 and beyond.
        Also, not quite a bug but rather a lack of insight, many people already know this but I'm not sure if they know why: Datum features that are CONSTRUCTED should not be used in a FCF with material boundary modifiers. If you construct a cylinder from a few circles, the cylinder doesn't retain the hit points of the circles. All the constructed cylinder is is an axis going through the center of each individual circle. The hit points from each circle are all projected onto a plane and a best fit (on the plane) is performed to determine cylinder size. So now we have an axis with an associated size, located at the cylinder centroid. This makes for a "perfect" cylinder without a clear way of shifting to satisfy a boundary condition.

        For my issue specifically, the real problem stems from design. A very short cylinder is being used as a primary datum when I have a perfectly long cylinder being used as secondary. Furthermore, there needs to be a geometric control on the secondary datum that respects the order of precedence seen in the DRF. There doesn't exist such a callout on my print, and this is why, as has been pointed out by AndersI , the +Tol column reads 0.0000. It should not. The reason for this requirement is such that a proper boundary can be calculated for the datum features. Without this control, the boundary is not being computed correctly.

        As a last note, as many of you may already know, the required control that I do not have must be placed before the dimension in question. And now I must try to reach out to the supplier of the drawing to tell them that the design is a bit off.

        I hope this helps.

        EDIT: Want to send out another thank you to neil.challinor. Neil came on the forum and responded to some people that were unhappy about support, frankly myself included. He asked people to get in touch with him directly. After doing so, it wasn't long until I had a response on more than one support ticket. Don't lose hope in Hex yet.
        Last edited by JacobCheverie; 11-11-2019, 12:38 PM.

        Comment


        • louisd
          louisd commented
          Editing a comment
          If a rounding glitch/bug is to blame... Couldn't you set displayprecision to 6 or 7 digits, then justify the red as a real value that rounds down (as the machine isn't capable of reproducing anything other than noise, sub 0.0001") that should effectively explain the red report output to anyone concerned, yes?

        • JacobCheverie
          JacobCheverie commented
          Editing a comment
          louisd That is what I do.

        • vpt.se
          vpt.se commented
          Editing a comment
          Thanks for updating JacobCheverie .

          FWIW, I have also pointed out to Rob earlier that the logic that if the datum becomes OOT - shift back and report the feature OOT instead.

      • #14
        Originally posted by louisd
        If a rounding glitch/bug is to blame...
        I'd consider it neither glitch nor bug - if the part is as much as an atom out of tolerance, it *is* out of tolerance according to the standards.

        What's interesting in these circumstances is that no-one, ever, questions a result that is an atom *inside* the limits, while at the same time we *know* we have measurement uncertainty quite larger than that...

        What I really would like is a possibility to enter a 'system uncertainty zone' and call those results neither IN or OUT, but UNCERTAIN. But that's not interesting for the industry, it seems...
        AndersI
        SW support - Hexagon Metrology Nordic AB

        Comment


        • JacobCheverie
          JacobCheverie commented
          Editing a comment
          That would be very interesting, but as you say probably not so much for the industry as a whole. Try it on the idea center?

        • louisd
          louisd commented
          Editing a comment
          that would be a brilliant idea. In my AS9100 days, we would color FAIR dimensions that were on a limit of the tolerance purple, specifically for this reason, (not green or red for defining pass/fail).

      • #15
        Originally posted by JacobCheverie View Post
        Also, not quite a bug but rather a lack of insight, many people already know this but I'm not sure if they know why: Datum features that are CONSTRUCTED should not be used in a FCF with material boundary modifiers. If you construct a cylinder from a few circles, the cylinder doesn't retain the hit points of the circles. All the constructed cylinder is is an axis going through the center of each individual circle. The hit points from each circle are all projected onto a plane and a best fit (on the plane) is performed to determine cylinder size. So now we have an axis with an associated size, located at the cylinder centroid. This makes for a "perfect" cylinder without a clear way of shifting to satisfy a boundary condition.
        Hey Jacob,

        This is the first time i'm hearing this. I've tried to find some more info can you point me to anywhere where this is said?
        Does this apply to all constructed features? How could u create a width without construction?
        What if instead of circles for a cylinder you use a bunch of random vector points for a cylinder?

        Comment


        • JacobCheverie
          JacobCheverie commented
          Editing a comment
          Jakep379 I can't point you to another reference, this is me paraphrasing what I was told by Rob. I didn't know anything about this either. I'm not sure if it applies to all constructed features. As far as I know, you can't create a width without construction. And vector points vs circles won't matter, it is a projection of all the hit points onto a plane that determines the cylinder size.

          It sounds to me like an issue similar to the "Legacy does not compute MMB correctly". Just a flaw in the method of thinking that, at the time, was probably at the top of the class. We know more now, and all we can do is continuously improve. We will see once ASME Y14.5.1-2019/2020 is released and when we formally experience the replacement for XactMeasure.

          It's kind of like Newton's theory of Gravitation. Newton was the expert until Einstein came along with massive refinements.

      Related Topics

      Collapse

      Working...
      X