True Position Reporting Zero?

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

  • True Position Reporting Zero?

    I'm running a 5 piece 100% inspection (or is it called layout?). On the first 2 pieces, the TP was within tolerance but for the last 3 pieces, the TP is 0. I find this odd. Would someone please check the code for me to see if I am programming this incorrectly or if the parts are actually solid?

    Thanks.

    Code:
    PLN1 =FEAT/PLANE,CARTESIAN,TRIANGLE
    THEO/<-0.3379,2.9281,0>,<0,0,1>
    ACTL/<56.6969,47.2561,-600.8236>,<0.0011703,-0.0000505,0.9999993>
    MEAS/PLANE,3
    HIT/BASIC,NORMAL,<20.7984,1.481,0>,<0,0,1>,<77.6732,46 .8856,-600.8481>,USE THEO=YES
    HIT/BASIC,NORMAL,<-8.579,20.1156,0>,<0,0,1>,<46.1042,65.7948,-600.8102>,USE THEO=YES
    HIT/BASIC,NORMAL,<-13.233,-12.8124,0>,<0,0,1>,<46.3134,29.0879,-600.8123>,USE THEO=YES
    ENDMEAS/
    CIR1 =FEAT/CIRCLE,CARTESIAN,OUT,LEAST_SQR
    THEO/<0,0,1.2313>,<-0.0013721,0.0002556,0.999999>,78.0918,0
    ACTL/<55.2107,46.7364,-599.4994>,<0,0,1>,78.0735,0
    MEAS/CIRCLE,3,ZPLUS
    HIT/BASIC,NORMAL,<-23.7967,-30.9563,1.132>,<-0.6094578,-0.7928183,-0.0006336>,<39.0732,11.1914,-599.8673>,USE THEO=YES
    MOVE/CIRCULAR
    HIT/BASIC,NORMAL,<-11.7441,37.238,1.401>,<-0.300771,0.9536962,-0.0006564>,<26.9566,73.673,-599.4029>,USE THEO=YES
    MOVE/CIRCULAR
    HIT/BASIC,NORMAL,<39.0393,0.7267,1.164>,<0.9998259,0.0 186118,0.0013671>,<94.2466,46.9963,-599.2279>,USE THEO=YES
    ENDMEAS/
    PNT1 =FEAT/POINT,CARTESIAN
    THEO/<39.0425,0.5246,1.0503>,<0.9999991,0,0.0013721>
    ACTL/<94.2453,46.9945,-599.6437>,<0.999751,0.0222892,0.0010873>
    MEAS/POINT,1,WORKPLANE
    HIT/BASIC,NORMAL,<39.0425,0.5246,1.0503>,<0.9999991,0, 0.0013721>,<94.2453,46.9945,-599.6437>,USE THEO=YES
    ENDMEAS/
    A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1
    ALIGNMENT/TRANS,ZAXIS,PLN1
    ALIGNMENT/TRANS,XAXIS,CIR1
    ALIGNMENT/TRANS,YAXIS,CIR1
    ALIGNMENT/ROTATE,XPLUS,TO,PNT1,ABOUT,ZPLUS
    ALIGNMENT/END
    MODE/DCC
    CLEARP/ZPLUS,10,ZPLUS,0,ON
    PREHIT/5
    RETRACT/2
    MOVE/CLEARPLANE
    PLN2 =FEAT/PLANE,CARTESIAN,TRIANGLE
    THEO/<-3.3467,1.0365,-0.005>,<0.0001454,0.0004066,0.9999999>
    ACTL/<-3.3481,1.0324,0.0044>,<0.000329,0.0002901,0.999999 9>
    MEAS/PLANE,3
    HIT/BASIC,NORMAL,<15.7227,0.5496,-0.0076>,<0.0001454,0.0004066,0.9999999>,<15.7219,0 .545,-0.0017>,USE THEO=YES
    HIT/BASIC,NORMAL,<-14.9081,18.1692,-0.0103>,<0.0001454,0.0004066,0.9999999>,<-14.9095,18.1656,0.0033>,USE THEO=YES
    HIT/BASIC,NORMAL,<-10.8548,-15.6094,0.0028>,<0.0001454,0.0004066,0.9999999>,<-10.8568,-15.6134,0.0117>,USE THEO=YES
    ENDMEAS/
    DATDEF/FEATURE=PLN2,A
    MOVE/CLEARPLANE
    CIR2 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
    THEO/<0,0,-0.1>,<0,0,1>,78.085,0
    ACTL/<0.0011,-0.002,-0.1>,<0,0,1>,78.074,0
    TARG/<0,0,-0.1>,<0,0,1>
    START ANG=0,END ANG=360
    ANGLE VEC=<0.9973254,-0.0730888,0>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=7,DEPTH=1,PITCH=0
    SAMPLE METHOD=SAMPLE_HITS
    SAMPLE HITS=0,SPACER=0
    AVOIDANCE MOVE=NO,DISTANCE=0
    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    MOVE/CLEARPLANE
    DATDEF/FEATURE=CIR2,B
    PNT2 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<39.0423,0,1>,<0.9999958,0.0029093,0>
    ACTL/<39.0394,-0.002,1.0008>,<0.9999958,0.0029093,0>
    TARG/<39.0423,0,1>,<0.9999958,0.0029093,0>
    SNAP=NO
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    AVOIDANCE MOVE=NO,DISTANCE=1.778
    SHOW HITS=NO
    MOVE/CLEARPLANE
    A2 =ALIGNMENT/START,RECALL:A1,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN2
    ALIGNMENT/TRANS,ZAXIS,PLN2
    ALIGNMENT/TRANS,XAXIS,CIR2
    ALIGNMENT/TRANS,YAXIS,CIR2
    ALIGNMENT/ROTATE,XPLUS,TO,PNT2,ABOUT,ZPLUS
    ALIGNMENT/END
    CIR3 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
    THEO/<-0.0009,-0.0024,3.5>,<-0.0001466,-0.0004062,0.9999999>,74,0
    ACTL/<-0.0005,-0.0019,3.5>,<-0.0001466,-0.0004062,0.9999999>,74.0352,0
    TARG/<-0.0009,-0.0024,3.5>,<-0.0001466,-0.0004062,0.9999999>
    START ANG=0,END ANG=360
    ANGLE VEC=<0.9999958,-0.0029093,0.0001454>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=7,DEPTH=1,PITCH=0
    SAMPLE METHOD=SAMPLE_HITS
    SAMPLE HITS=0,SPACER=0
    AVOIDANCE MOVE=NO,DISTANCE=0
    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    FCFLOC2 =POSITION : CIR3
    FEATCTRLFRAME/SHOWNOMS=NO,SHOWPARAMS=NO,SHOWEXPANDED=NO
    SIZE TOLERANCES/1,DIAMETER,74,0.13,0.13
    PRIMARY DIMENSION/POSITION,DIAMETER,0.2, ,A,B,
    NOTE/FCFLOC2
    FEATURES/CIR3,,

  • #2
    Ok, so...
    First things first. Alignments should be organized as follows:
    Level
    Rotate
    Origin
    Origin
    Origin
    Any other order, and your nominals can shift around on you.

    Second:
    is this really the BASIC or Theoretical perfect location of your circle?
    THEO/<-0.0009,-0.0024,3.5>
    Seems odd to have the theo's off by 9 tenths in x and only 2.4 thousandths in Y...
    This would certainly have an impact.

    C:
    If you see nominals shifting on you like this you can lock them in place by converting the theo's into a math formula like nominalvalue+0 so THEO/,-0.0009+0,-0.0024+0,3.5+0> as an example.

    Fourth:
    Once you set up a routine, prove that it works the way you intend, I would go into windows explorer and set the PRG file to "Read Only" that way it doesn't constantly evolve or devolve in this case.
    (see what i did there with the numbers teehee)

    Comment


    • ALousyUser
      ALousyUser commented
      Editing a comment
      1. I fixed both the manual and DCC alignments to execute in the order you listed. Thanks for that.

      2. I didn't notice that before. I tried to lock the THEOs per your recommendation; I am still getting this in the report (see attached screenshot).

      2a. Before locking the THEOs in place, I tried to reset them to 0 (with the exception of Z) to see if anything changed. Nothing did.

      C. Yes, I spotted that right away. A sharp exhale left my nostrils due to a momentarily elevated sense of amusement.

      Anyway, I'm a bit confused here. I'm still new, so I might be missing something.
      Last edited by ALousyUser; 02-07-2020, 10:17 AM.

  • #3
    Code:
    pln1 =feat/plane,cartesian,triangle
    theo/<-0.3379,2.9281,0>,<0,0,1>
    actl/<58.3131,45.3366,-600.8152>,<0.0013624,0.0001894,0.9999991>
    meas/plane,3
    hit/basic,normal,<20.7984,1.481,0>,<0,0,1>,<78.4167,46 .153,-600.8428>,use theo=yes
    hit/basic,normal,<-8.579,20.1156,0>,<0,0,1>,<44.7823,59.7922,-600.7995>,use theo=yes
    hit/basic,normal,<-13.233,-12.8124,0>,<0,0,1>,<51.7405,30.0647,-600.8034>,use theo=yes
    endmeas/
    cir1 =feat/circle,cartesian,out,least_sqr
    theo/<0,0,1.2313>,<-0.0013721,0.0002556,0.999999>,78.0918,0
    actl/<57.669,46.2541,-599.8381>,<0,0,1>,78.0916,0
    meas/circle,3,zplus
    hit/basic,normal,<-23.7967,-30.9563,1.132>,<-0.6094578,-0.7928183,-0.0006336>,<41.1042,10.8962,-599.8251>,use theo=yes
    move/circular
    hit/basic,normal,<-11.7441,37.238,1.401>,<-0.300771,0.9536962,-0.0006564>,<34.6836,77.8176,-599.6494>,use theo=yes
    move/circular
    hit/basic,normal,<39.0393,0.7267,1.164>,<0.9998259,0.0 186118,0.0013671>,<96.7044,47.1547,-600.0398>,use theo=yes
    endmeas/
    pnt1 =feat/point,cartesian
    theo/<39.0425,0.5246,1.0503>,<0.9999991,0,0.0013721>
    actl/<96.7033,46.7183,-600.4853>,<0.9996096,0.0278961,0.0015498>
    meas/point,1,workplane
    hit/basic,normal,<39.0425,0.5246,1.0503>,<0.9999991,0, 0.0013721>,<96.7033,46.7183,-600.4853>,use theo=yes
    endmeas/
    a1 =alignment/start,recall:startup,list=yes
    alignment/level,zplus,pln1
    alignment/rotate,xplus,to,pnt1,about,zplus
    alignment/trans,xaxis,cir1
    alignment/trans,yaxis,cir1
    alignment/trans,zaxis,pln1
    alignment/end
    mode/dcc
    clearp/zplus,10,zplus,0,on
    prehit/5
    retract/2
    move/clearplane
    pln2 =feat/plane,cartesian,triangle
    theo/<-3.3467,1.0365,-0.005>,<0.0001454,0.0004066,0.9999999>
    actl/<-3.3488,1.033,-0.0026>,<0.0001022,0.0000744,1>
    meas/plane,3
    hit/basic,normal,<15.7227,0.5496,-0.0076>,<0.0001454,0.0004066,0.9999999>,<15.7207,0 .5447,-0.0045>,use theo=yes
    hit/basic,normal,<-14.9081,18.1692,-0.0103>,<0.0001454,0.0004066,0.9999999>,<-14.9099,18.1665,-0.0027>,use theo=yes
    hit/basic,normal,<-10.8548,-15.6094,0.0028>,<0.0001454,0.0004066,0.9999999>,<-10.8572,-15.6121,-0.0006>,use theo=yes
    endmeas/
    datdef/feature=pln2,a
    move/clearplane
    cir2 =feat/contact/circle/default,cartesian,out,least_sqr
    theo/<0,0,-0.1>,<0,0,1>,78.085,0
    actl/<0.0016,-0.0027,-0.1>,<0,0,1>,78.09,0
    targ/<0,0,-0.1>,<0,0,1>
    start ang=0,end ang=360
    angle vec=<0.9973254,-0.0730888,0>
    direction=ccw
    show feature parameters=no
    show contact parameters=yes
    numhits=7,depth=1,pitch=0
    sample method=sample_hits
    sample hits=0,spacer=0
    avoidance move=no,distance=0
    find hole=disabled,onerror=no,read pos=no
    show hits=no
    move/clearplane
    datdef/feature=cir2,b
    pnt2 =feat/contact/vector point/default,cartesian
    theo/<39.0423,0,1>,<0.9999958,0.0029093,0>
    actl/<39.0492,-0.0018,0.9997>,<0.9999958,0.0029093,0>
    targ/<39.0423,0,1>,<0.9999958,0.0029093,0>
    snap=no
    show feature parameters=no
    show contact parameters=yes
    avoidance move=no,distance=1.778
    show hits=no
    move/clearplane
    a2 =alignment/start,recall:a1,list=yes
    alignment/level,zplus,pln2
    alignment/rotate,xplus,to,pnt2,about,zplus
    alignment/trans,zaxis,pln2
    alignment/trans,xaxis,cir2
    alignment/trans,yaxis,cir2
    alignment/end
    cir3 =feat/contact/circle/default,cartesian,out,least_sqr
    theo/<-0.0009+0,-.0024+0,3.5+0>,<-0.0001466,-0.0004062,0.9999999>,74,0
    actl/<-0.0027,-0.0012,3.5>,<-0.0001466,-0.0004062,0.9999999>,74.0544,0
    targ/<-0.0009,-0.0024,3.5>,<-0.0001466,-0.0004062,0.9999999>
    start ang=0,end ang=360
    angle vec=<0.9999958,-0.0029093,0.0001454>
    direction=ccw
    show feature parameters=no
    show contact parameters=yes
    numhits=7,depth=1,pitch=0
    sample method=sample_hits
    sample hits=0,spacer=0
    avoidance move=no,distance=0
    find hole=disabled,onerror=no,read pos=no
    show hits=no
    fcfloc2 =position : Cir3
    featctrlframe/shownoms=no,showparams=no,showexpanded=no
    size tolerances/1,diameter,74,0.13,0.13
    primary dimension/position,diameter,0.2, ,a,b,
    note/fcfloc2
    features/cir3,,
    Attached Files

    Comment


    • ALousyUser
      ALousyUser commented
      Editing a comment
      What would happen if I rotated to a point? The reason I did that is because the part is circular and there are no straight edges to rotate to except for the fixture its sitting on. Does it matter if the plane or line you're trying to rotate to, isn't a part of the actual part itself?

    • ALousyUser
      ALousyUser commented
      Editing a comment
      Just a heads up, I replaced the XactMeasure Position command with a new one after applying the changes suggested by everyone here. My nominals are at 0, 0 now and I'm seeing the actual TP now. Thanks everyone for the help. It's really appreciated, every time.

    • JacobCheverie
      JacobCheverie commented
      Editing a comment
      ALousyUser Glad you got it. This is a great place to come for help and for occasional humor. Welcome to the demon. Good luck.

  • #4
    You missed the point of "C" in post #2 by louisd
    1st your theo's need to be correct for the perfect part: 0.0000, 0.0000, 3.5
    2nd if they are changing PCDMIS doesn't like how you have done things...so as a work around "lock them down" with +0. (0.0000+0, 0.0000+0,3.5+0)

    Comment


    • ALousyUser
      ALousyUser commented
      Editing a comment
      I reran the program after updating the X/Y THEOs to 0 (and locked them down as well), and made sure my target values were set at 0. I'm still getting a TP of 0.

      However, I did notice that my ACTLs actually changed after re-running the program. X = -.0059, Y = -.0005. For some reason this isn't being reported into the correct TP value.

  • #5
    Square up your vectors, Zero up your dimensions, do it to all, I'll show example

    Yours

    Code:
    cir3 =feat/contact/circle/default,cartesian,out,least_sqr
    [COLOR=#27AE60]theo/<-0.0009+0,-.0024+0,3.5+0>,<-0.0001466,-0.0004062,0.9999999>,74,0
    actl/<-0.0027,-0.0012,3.5>,<-0.0001466,-0.0004062,0.9999999>,74.0544,0                <<<<<<<<<<What a mess
    targ/<-0.0009,-0.0024,3.5>,<-0.0001466,-0.0004062,0.9999999>[/COLOR]
    start ang=0,end ang=360
    angle vec=<0.9999958,-0.0029093,0.0001454>
    direction=ccw
    show feature parameters=no
    show contact parameters=yes
    numhits=7,depth=1,pitch=0
    sample method=sample_hits
    sample hits=0,spacer=0
    avoidance move=no,distance=0
    find hole=disabled,onerror=no,read pos=no
    show hits=no
    Fixed

    Code:
    cir3 =feat/contact/circle/default,cartesian,out,least_sqr
    [COLOR=#27AE60]theo/<-0+0,0+0,3.5+0>,<0,0,1>,74,0
    actl/<0,0,3.5>,<0,0,1>,74.0544,0
    targ/<0+0,0+0,3.5+0>,<0,0,1>                                 <<<<<<<<<<<<<<<<Pretty[/COLOR]
    start ang=0,end ang=360
    angle vec=<1,0,0>
    direction=ccw
    show feature parameters=no
    show contact parameters=yes
    numhits=7,depth=1,pitch=0
    sample method=sample_hits
    sample hits=0,spacer=0
    avoidance move=no,distance=0
    find hole=disabled,onerror=no,read pos=no
    show hits=no
    (In Memory of my Loving wife, "Ronda" who I lost March 7, 2016. I love you baby.)
    They say "Nobody's Perfect." I must be Nobody.

    Comment


    • anthony.alfaro
      anthony.alfaro commented
      Editing a comment
      note: you can't change "actl" numbers.

    • KIRBSTER269
      KIRBSTER269 commented
      Editing a comment
      well yeah but it would look like that if you fix everything until you run it. anthony.alfaro

    • ALousyUser
      ALousyUser commented
      Editing a comment
      That fixed it. Thanks.

  • #6
    Am I wrong in assuming that you do not need to do this 0+0 business if the program is made correctly? Your nominal values should never change unless there is a dependency. A well-written program will not have these untraceable and/or unaccountable dependencies...

    Comment


    • Matthew D. Hoedeman
      Matthew D. Hoedeman commented
      Editing a comment
      I've been programming since DOS, and the ONLY time I ever had to use the +0 is on generic features. Never had to use it on any DCC feature.

    • ALousyUser
      ALousyUser commented
      Editing a comment
      I made the CAD = Part during my manual alignment part. Not sure what happened here. But this is only my 3rd or 4th written program. I'm still learning.

      PCDMIS CAD ++ Version 2014.

    • louisd
      louisd commented
      Editing a comment
      yeah, my bad, forgot the word 'dimension' in my post. Don't need +0 on anything else other than generics and nominal dims that don't match CAD.

  • #7
    Originally posted by KIRBSTER269 View Post
    Square up your vectors, Zero up your dimensions, do it to all, I'll show example

    Yours

    Code:
    cir3 =feat/contact/circle/default,cartesian,out,least_sqr
    [COLOR=#27AE60]theo/<-0.0009+0,-.0024+0,3.5+0>,<-0.0001466,-0.0004062,0.9999999>,74,0
    actl/<-0.0027,-0.0012,3.5>,<-0.0001466,-0.0004062,0.9999999>,74.0544,0 <<<<<<<<<<What a mess
    targ/<-0.0009,-0.0024,3.5>,<-0.0001466,-0.0004062,0.9999999>[/COLOR]
    start ang=0,end ang=360
    angle vec=<0.9999958,-0.0029093,0.0001454>
    direction=ccw
    show feature parameters=no
    show contact parameters=yes
    numhits=7,depth=1,pitch=0
    sample method=sample_hits
    sample hits=0,spacer=0
    avoidance move=no,distance=0
    find hole=disabled,onerror=no,read pos=no
    show hits=no
    Fixed

    Code:
    cir3 =feat/contact/circle/default,cartesian,out,least_sqr
    [COLOR=#27AE60]theo/<-0+0,0+0,3.5+0>,<0,0,1>,74,0
    actl/<0,0,3.5>,<0,0,1>,74.0544,0
    targ/<0+0,0+0,3.5+0>,<0,0,1> <<<<<<<<<<<<<<<<Pretty[/COLOR]
    start ang=0,end ang=360
    angle vec=<1,0,0>
    direction=ccw
    show feature parameters=no
    show contact parameters=yes
    numhits=7,depth=1,pitch=0
    sample method=sample_hits
    sample hits=0,spacer=0
    avoidance move=no,distance=0
    find hole=disabled,onerror=no,read pos=no
    show hits=no
    of course, if he had done a CAD=PART for that manual alignment, Pcdmis would have made them all 'correct' itself.
    sigpic
    Originally posted by AndersI
    I've got one from September 2006 (bug ticket) which has finally been fixed in 2013.

    Comment


    • ALousyUser
      ALousyUser commented
      Editing a comment
      I actually did that while in the manual alignment window. Not sure what happened here.

  • #8
    Obviously those parts were just made perfectly. I wouldn't worry about it at all.

    Comment


    • ALousyUser
      ALousyUser commented
      Editing a comment
      Thanks for your wonderful input.

    • KIRBSTER269
      KIRBSTER269 commented
      Editing a comment
      ALousyUser a little humor does help, or you WILL go crazy

    • ALousyUser
      ALousyUser commented
      Editing a comment
      Fair point ha ha.

Related Topics

Collapse

Working...
X