dimensions from loop cycle?

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

  • dimensions from loop cycle?

    i've made a loop with features inside it
    and a counter;

    pretty basic, it goes from a counter to measuring to testing the counter
    and remeasuring or quiting using a " do/ until " loop.

    my problem is i can't get a dimension report for each loop of the cycle

    anybody encountered this ??

  • #2
    Features within your loop get dynamically placed inside of a feature array.

    Therefore if your first feature in you loop is called Cir1. The first iteration or loop through your program PCDMIS will assign it a new name of sort like Cir1[1]. (the brakets hold the loop ID, but you wont notice this in your code.

    Each Dimension you have in your program will have to know which iteration or Loop number from within you are requesting data from.

    If you have alot of ireration of parts and features I find it best to variablize the loop ids you call in your dimension commands.

    Or you can also place your dimensions within the loop as well.

    Hope this helps
    Mr. Comment
    SCIROCCO-NT 13-20-10
    B3C-LC Controller (Leitz Protocol), SP600M, TP200
    PCDMIS CAD++ v4.3 MR1(Build: 12/11/08)
    sigpic

    Comment


    • #3
      yeah i'm familiar with arrays...

      i didn't know that though, maybe i should look into creating dimensions on the fly or stop wasting time at work...

      i just wanted to check through some huge bins of the same parts

      Comment


      • #4
        I knew you were'nt dead. Your in New Zealand & as a CMM programmer

        Welcome to the forum.
        sigpic.....Its called golf because all the other 4 letter words were taken

        Comment


        • #5
          my dimensions are in the same loop as the features, did you say you had variables related to the dimension?
          you sai "I find it best to variablize the loop ids you call in your dimension" can you elaborate?

          Comment


          • #6
            lol
            Attached Files

            Comment


            • #7
              Hi Elvis - It's nice to have someone else from NZ here - Welcome!!

              If you create your dimension at the end of your program using the feature name used in the loop, it will give you results for the last iteration. Then edit the dimension callout and put [1] after the feature name and it will give you results for the 1st iteration, [2] will give you results for the 2nd iteration etc..

              It should look something like this:

              If this is the code for your loop...



              Code:
              ASSIGN/YVAL = 0
              VARI1      =LOOP/START, ID = YES, NUMBER = 10, START = 1, SKIP = ,
                             OFFSET: XAXIS = 0, YAXIS = 0, ZAXIS = 0, ANGLE = 0
                          ASSIGN/YVAL = YVAL+20
              POINT      =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                          THEO/20,YVAL,0,0,0,1
                          ACTL/19.945,199.992,0.001,0,0,1
                          TARG/20,YVAL,0,0,0,1
                          LOOP/END
              The dimensions should look like this...

              Code:
              DIM DIM1= LOCATION OF POINT POINT[1]  UNITS=MM ,$
              GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH
              AX    MEAS      NOMINAL     +TOL       -TOL        DEV      OUTTOL   
              X      19.969     20.000      0.050      0.050     -0.031      0.000 -#-------
              Y      19.996     20.000      0.050      0.050     -0.004      0.000 ----#----
              Z       0.005      0.000      0.050      0.050      0.005      0.000 ----#----
              T       0.005      0.000      0.050      0.050      0.005      0.000 ----#----
              END OF DIMENSION DIM1
              DIM DIM2= LOCATION OF POINT POINT[2]  UNITS=MM ,$
              GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH
              AX    MEAS      NOMINAL     +TOL       -TOL        DEV      OUTTOL   
              X      19.943     20.000      0.050      0.050     -0.057      0.007 <--------
              Y      39.992     40.000      0.050      0.050     -0.008      0.000 ---#-----
              Z       0.004      0.000      0.050      0.050      0.004      0.000 ----#----
              T       0.004      0.000      0.050      0.050      0.004      0.000 ----#----
              END OF DIMENSION DIM2
              DIM DIM3= LOCATION OF POINT POINT[3]  UNITS=MM ,$
              GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH
              AX    MEAS      NOMINAL     +TOL       -TOL        DEV      OUTTOL   
              X      19.944     20.000      0.050      0.050     -0.056      0.006 <--------
              Y      59.994     60.000      0.050      0.050     -0.006      0.000 ---#-----
              Z       0.004      0.000      0.050      0.050      0.004      0.000 ----#----
              T       0.004      0.000      0.050      0.050      0.004      0.000 ----#----
              END OF DIMENSION DIM3
              DIM DIM4= LOCATION OF POINT POINT[4]  UNITS=MM ,$
              GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH
              AX    MEAS      NOMINAL     +TOL       -TOL        DEV      OUTTOL   
              X      19.944     20.000      0.050      0.050     -0.056      0.006 <--------
              Y      79.993     80.000      0.050      0.050     -0.007      0.000 ---#-----
              Z       0.004      0.000      0.050      0.050      0.004      0.000 ----#----
              T       0.004      0.000      0.050      0.050      0.004      0.000 ----#----
              END OF DIMENSION DIM4
              A bit of a pain if you've got heaps of iterations... but you can set this up using variables to make it quicker.

              Hope it helps!!

              Comment


              • #8
                Example

                This would be one example, like NZ CMM girl mentioned earlier.

                VARI1 =LOOP/START, ID = YES, NUMBER = 10, START = 1, SKIP = ,
                OFFSET: XAXIS = 0, YAXIS = 0, ZAXIS = 0, ANGLE = 0
                DIM DIM1= LOCATION OF POINT POINT[VARI1] UNITS=MM ,$
                GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
                AX MEAS NOMINAL +TOL -TOL DEV OUTTOL
                X 19.969 20.000 0.050 0.050 -0.031 0.000 -#-------
                Y 19.996 20.000 0.050 0.050 -0.004 0.000 ----#----
                Z 0.005 0.000 0.050 0.050 0.005 0.000 ----#----
                T 0.005 0.000 0.050 0.050 0.005 0.000 ----#----
                END OF DIMENSION DIM1
                LOOP/END
                On a side note, I've always found Kiwi's to be friendliest people. I like them so much I decided to marry one. She's from Upper Hutt, about 30mins north of Wellington. I couldnt ask for a better wife.
                Mr. Comment
                SCIROCCO-NT 13-20-10
                B3C-LC Controller (Leitz Protocol), SP600M, TP200
                PCDMIS CAD++ v4.3 MR1(Build: 12/11/08)
                sigpic

                Comment


                • #9
                  lol, yeah nz the greatest thats funny, such a small world.

                  i managed to (almost) get things going thanks, i've never been so
                  addicted to a machine

                  Comment


                  • #10
                    ok, if anyone has done this here is my specific problem...

                    i was using a different kind of loop, but i find the same problem
                    with this code that nz cmm girl and mr comment have put up as examples-

                    the problem is, when pcdmis prints the report, it happens at the end of program-
                    i've got the last instance of the loop,
                    "DIM DIM1= LOCATION OF POINT POINT[<index of last loop here>]"

                    for some reason i can't get reports as they occur in the code, i've a suspicion
                    that they all overwrite the previous at the end of the program...

                    if i use "last execution report" i can see each instance being created but then only
                    one report at the end!!

                    anyone got any idea?
                    Last edited by elvis; 12-09-2006, 01:56 AM.

                    Comment


                    • #11
                      Originally posted by elvis View Post
                      ok, if anyone has done this here is my specific problem...

                      i was using a different kind of loop, but i find the same problem
                      with this code that nz cmm girl and mr comment have put up as examples-

                      the problem is, when pcdmis prints the report, it happens at the end of program-
                      i've got the last instance of the loop,
                      "DIM DIM1= LOCATION OF POINT POINT[<index of last loop here>]"

                      for some reason i can't get reports as they occur in the code, i've a suspicion
                      that they all overwrite the previous at the end of the program...

                      if i use "DIMINFO" i can see each instance being created but then only
                      one report at the end!!

                      anyone got any idea?
                      Try using last execution report mode and see if they are there, print that if they are.

                      .02

                      TK
                      sigpicHave a homebrew

                      Comment

                      Related Topics

                      Collapse

                      Working...
                      X