DO/UNTIL issue.

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

  • DO/UNTIL issue.


    I am trying to do a measurement routine to where it will "DO" until the part is measured not out of tolerance.
    I have it set so that each iteration it makes its start point moves 22.5° This is to show that the parts do measure good but at certain instances. I've managed to do this with roundness but can't seem to get it to work with the OUTTOL.
    I need it to measure until the OUTTOL measures "0.000"

    ASSIGN/START_ANG=0

    DO/

    MOVE/CLEARPLANE

    LOC1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0,0,-0.0221>,<0,0,1>,3.853
    ACTL/<0,0,-0.0221>,<0,0,1>,3.853
    TARG/<0,0,-0.0221>,<0,0,1>
    START ANG=START_ANG,END ANG=START_ANG
    ANGLE VEC=<1,0,0>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=6DEPTH=0.4,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=NO

    MOVE/CLEARPLANE

    DIM 3.8530 BORE DIA.= LOCATION OF CIRCLE LOC1 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    D 3.8530 0.0010 0.0010 3.8520 -0.0010 0.0000 <--------
    END OF DIMENSION 3.8530 BORE DIA.


    ASSIGN/START_ANG=START_ANG+22.5

    UNTIL/LOC1.D.OUTTOL==0.0 OR START_ANG==45
    Last edited by [email protected]; 01-23-2020, 05:54 PM.

  • #2
    maybe your part is out of tolerance.

    Comment


    • #3
      Don't do the 0.0, just put 0. Also, you can't do an OUTTOL on a feature, only on a dimension. LOC1 is your feature and the dimension is DIM 3.8530 BORE DIA.

      The dimension or features should not have spaces or periods in it. Only use numbers, letters, or underscores. This will screw with your variables.

      Maybe name your dimension: DIM_38530_BORE_DIA. Then do the code as this: UNTIL/DIM_38530_BORE_DIA.D.OUTTOL==0 OR START_ANG==45
      Last edited by bfire85; 01-23-2020, 06:20 PM.

      Comment


      • Ekneel28@gmail.com
        [email protected] commented
        Editing a comment
        the example you gave is spot on to my needs but the code isn't working, did you try the code you gave?
        and thank you, your explanation was sweet and simple!

    • #4
      Increase the number of hits in the circle until you don't get variation no matter where you start it, then you will have an accurate result and can pass the part if it's good or reject it if it's bad.

      If you're determined to bodge it then what bfire says will probably work.


      Although you might need DIM_38530_BORE_DIA[x].d.outtol (where x is the number of times it's executed, so you'd need a second Assignment to count that)

      Automettech - Automated Metrology Technology

      Comment


      • Ekneel28@gmail.com
        [email protected] commented
        Editing a comment
        I cant get neither yours nor bfires code to work, have you tried this yourself?
        I hoping its me. im just trying to figure out a way to get the cmm to iterate until it either does x amount of times or the outtol box is no longer triggered. theres gotta be a way. The thing is the customer says if the cmm checks them in theyre good. well these are super thin walled rings that are egging when finished but they are getting pressed onto something so the functionality of the part is good its just the paperwork. along with the capabilities of being able to do this when called for.

    • #5
      PCDMISFORUMPIC.jpg
      NinjaBadger
      bfire85
      Here's a snipit of the code thats not working.
      it looks clean???
      Last edited by [email protected]; 01-28-2020, 05:41 PM.

      Comment


      • #6
        Maybe

        Code:
        UNTIL/ UNTIL/(BORE.D.OUTTOL==0 OR START_ANG==45)
        A heads-up, do note with this code the START_ANG can be 40° then adds 5° to become 45° but will never be measured with START_ANG at 45°. To solve that, put the

        Code:
        ASSIGN/START_ANG=START_ANG+5
        after the UNTIL-clause (at the bottom).
        Last edited by vpt.se; 01-30-2020, 07:34 AM.
        PC-DMIS CAD++ 2o19 R1 SP6

        Comment


        • Ekneel28@gmail.com
          [email protected] commented
          Editing a comment
          Thank you, I will try this today fingers crossed!

      • #7
        Originally posted by vpt.se View Post
        Maybe

        Code:
        UNTIL/ UNTIL/(BORE.D.OUTTOL==0 OR START_ANG==45)
        A heads-up, do note with this code the START_ANG can be 40° then adds 5° to become 45° but will never be measured with START_ANG at 45°. To solve that, put the

        Code:
        ASSIGN/START_ANG=START_ANG+5
        after the UNTIL-clause (at the bottom).
        Capture.JPG This code works perfect.
        Thank you to everyone for your help! And a big high five to VPT.SE

        Comment


        • #8
          Glad to have helped! Do note that when START_ANG is 45, it will exit the loop without measuring the bore.
          PC-DMIS CAD++ 2o19 R1 SP6

          Comment

          Related Topics

          Collapse

          Working...
          X