multiple part prgramimg

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

  • multiple part prgramimg

    does anyone out there know how to use 1 program to measure several identical parts? ie datum shift or use the part program as a sub program.

    I have a fixture that holds 30 parts 6 rows of 5 pcs, 90mm appart.

  • #2
    There are several ways to do that:

    1) Copy and paste with pattern (VERY long program)
    2) Loops (shorter program, might not be possible to have 'clean' stats)
    3) A single program that aligns each 'cavity' on the fixture and a single program to check the part, but with operator input to select the cavity to run. Clean stats.
    4) Combination of 2 & 3 above, single alignment program, automatic loop with auto-stat-update and loop increment calls proper alignment for proper cavity (to check all cavities at one go)
    sigpic
    Originally posted by AndersI
    I've got one from September 2006 (bug ticket) which has finally been fixed in 2013.

    Comment


    • #3
      I would add:

      Paste with pattern and marked sets. If you want it as a sub program, create a marked set for it. You can have 6 marked sets for, 1 row, 2 rows, 3 rows, etc. But create the program first with "paste with pattern" then do your marked sets.
      I used to be high on life but I built up a tolerance.

      Brown & Sharpe Global Advantage
      PCDMIS CAD++ v2011mr2
      PH10MQ/SP600M


      sigpic

      Comment


      • #4
        Originally posted by Matthew D. Hoedeman View Post
        There are several ways to do that:

        1) Copy and paste with pattern (VERY long program)
        2) Loops (shorter program, might not be possible to have 'clean' stats)
        3) A single program that aligns each 'cavity' on the fixture and a single program to check the part, but with operator input to select the cavity to run. Clean stats.
        4) Combination of 2 & 3 above, single alignment program, automatic loop with auto-stat-update and loop increment calls proper alignment for proper cavity (to check all cavities at one go)
        Matt,
        I have run other CMM Software that allows pattern running where you can do multiple executions of a program with an offset between them. I have not had the occasion to try anything like this in PC DMIS. Not available, huh?
        Bill Jarrells
        A lie can travel half way around the world while the truth is putting on its shoes. - Mark Twain

        Comment


        • #5
          Originally posted by Wingman View Post
          Matt,
          I have run other CMM Software that allows pattern running where you can do multiple executions of a program with an offset between them. I have not had the occasion to try anything like this in PC DMIS. Not available, huh?
          That would be the loop function, you can tell it the offset for each loop (I HAVE NOT USED IT!). In your case, it would be a double loop, loop 1 would increment in the X axis, then a loop in the Y axis 'around' the x axis offset loop.
          sigpic
          Originally posted by AndersI
          I've got one from September 2006 (bug ticket) which has finally been fixed in 2013.

          Comment


          • #6
            Originally posted by Matthew D. Hoedeman View Post
            That would be the loop function, you can tell it the offset for each loop (I HAVE NOT USED IT!). In your case, it would be a double loop, loop 1 would increment in the X axis, then a loop in the Y axis 'around' the x axis offset loop.
            Not exactly the same thing. Loops are internal to a program, right? I am not talking about loops.
            For example, another brand of DMIS uses offsets in executes that are external to the program. Multiple, clean executions of a program that are patterned for a multi part fixture. I have never used PC DMIS Multi Execute but I presumed it worked the same way and allowed offsets between runs.
            I suppose it does not.
            Bill Jarrells
            A lie can travel half way around the world while the truth is putting on its shoes. - Mark Twain

            Comment


            • #7
              If you are not collecting stats I'd loop it. I like loops especially when ofsetting is needed, they work well. You can still collect stats with looping but it will not be organized the same as data that is collected not using a loop so queries will be cumbersome at first.

              Wingman what are you talking about? Are you saying that as an execution option an offset can be entered for other software you have used? Not sure I am following.
              <internet bumper sticker goes here>

              Comment


              • #8
                Originally posted by craiger_ny View Post
                If you are not collecting stats I'd loop it. I like loops especially when ofsetting is needed, they work well. You can still collect stats with looping but it will not be organized the same as data that is collected not using a loop so queries will be cumbersome at first.

                Wingman what are you talking about? Are you saying that as an execution option an offset can be entered for other software you have used? Not sure I am following.
                Yes.
                I just looked at the multiple execute function and was surprised it was so generic. I thought the purpose of it was to set up multiple parts on a fixture with known offsets. And yes, the other DMIS software that I used before PC DMIS woked this way. On multiple execute you just entered in the X and Y offsets, How many rows, and how many columns. In the original example here I would have entered 90 X, 90 Y, (I think he said they were both 90), 5 for rows, and 6 for columns and voila - program would run 30 times with programmed offsets.
                Hmm
                Bill Jarrells
                A lie can travel half way around the world while the truth is putting on its shoes. - Mark Twain

                Comment


                • #9
                  ok so do I loop everything after doing a DCC alignment?

                  and can i print/save a report to each individual part?

                  Comment


                  • #10
                    I need to collect the information from the reports, ie save/print them.

                    I also need to be able to remove or mark parts that aren't there and change their id that is on the report and file, if I only have 20 parts to measure for example. Then I need to mark the next ten pcs.

                    Comment


                    • #11
                      I would use a double loop. The last loop entered runs first. I always start with the Y_loop and then the next line of code is for the x_loop (it will run the last loop first.) I run parts on a fixture plate with a grid of 1" spacing, 3/8 slip fit on dowel and every other hole is a 3/8-16 tap. Yours might look like this?:

                      Y_LOOP =LOOP/START, ID = YES, NUMBER = 6, START = 1, SKIP = ,
                      OFFSET: XAXIS = 0, YAXIS = 90 ZAXIS = 0, ANGLE = 0
                      X_LOOP =LOOP/START, ID = YES, NUMBER = 5, START = 1, SKIP = ,
                      OFFSET: XAXIS = 90, YAXIS = 0, ZAXIS = 0, ANGLE = 0

                      I found it helpfull to manually align on first part, same as DCC alignment.

                      Comment


                      • #12
                        Did I mention i hate looping? It doesn't retain data from the previous run and creates problems when collecting stats.
                        I used to be high on life but I built up a tolerance.

                        Brown & Sharpe Global Advantage
                        PCDMIS CAD++ v2011mr2
                        PH10MQ/SP600M


                        sigpic

                        Comment


                        • #13
                          Originally posted by Underspec View Post
                          Did I mention i hate looping? It doesn't retain data from the previous run and creates problems when collecting stats.

                          I use looping all the time and I don't have problems with collecting stats. It does make a difference where your stats command is though. It works fine if you put your stats command INSIDE the loop. If it goes outside the loop it seems to only save the last part.
                          Saving the world, one bad part at a time.

                          Comment


                          • #14
                            Here is some sample code from what we have done for a few companies. :

                            COMMENT/OPER,============================================= ================================
                            , PLEASE NOTE: THE GRID STARTS AT THE LOWER LEFT CORNER OF THE FIXTURE AND
                            , MOVES TO THE REAR AND TOP OF THE MACHINE.
                            ,================================================= ============================
                            ,
                            H_COUNTER =COMMENT/INPUT,'# of parts in the fixture HORIZONTALLY?
                            ,
                            ,Min. Value: 1
                            ,
                            ,Max. value: 5'
                            V_COUNTER =COMMENT/INPUT,'# of parts in the fixture VERTICALLY?
                            ,
                            ,Min. Value: 1
                            ,
                            ,Max. value: 3'
                            C1 =COMMENT/YESNO,============================================ ============
                            , DO YOU NEED TO MEASURE THE MANUAL FIXTURE ALIGNMENT?
                            ,================================================= =======
                            ,
                            IF_GOTO/C1.INPUT=="NO",GOTO = PART

                            a bunch of code for pt measurement in here for the fixture it self.


                            PART =LABEL/
                            COMMENT/OPER,PREPARE FOR DCC MODE!!!!
                            ,
                            ,PLACE THE PROBE ABOVE AND BEHIND THE FIXTURE.
                            MOVE/POINT,-10.4903,19.6404,12.4623
                            MOVE/POINT,-15.9444,19.1582,13.3597
                            TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                            LOADPROBE/SMALL_3X18
                            TIP/T1A90B90, SHANKIJK=-1, 0, 0, ANGLE=90
                            MOVE/POINT,-8.1624,2.8067,13.7665
                            LCL_OFFSET =ALIGNMENT/START,RECALL:FIXT_ALN, LIST= YES
                            ALIGNMENT/TRANS_OFFSET,XAXIS,-4.555
                            ALIGNMENT/TRANS_OFFSET,YAXIS,1.6067
                            ALIGNMENT/TRANS_OFFSET,ZAXIS,2.835
                            ALIGNMENT/END
                            ASSIGN/V3 = 1
                            VERTICAL =LOOP/START, ID = YES, NUMBER = V_COUNTER.INPUT, START = 1, SKIP = ,
                            OFFSET: XAXIS = 0, YAXIS = 0, ZAXIS = 2.5, ANGLE = 0
                            HORIZONTAL =LOOP/START, ID = YES, NUMBER = H_COUNTER.INPUT, START = 1, SKIP = ,
                            OFFSET: XAXIS = 0, YAXIS = 3, ZAXIS = 0, ANGLE = 0
                            START =LABEL/
                            MOVE/POINT,-2,1.2,0.28

                            all the lignments and part meaurement code here

                            ASSIGN/V3 = V3+1
                            STATS/UPDATE
                            LOOP/END
                            LOOP/END
                            RECALL/ALIGNMENT,INTERNAL,FIXT_ALN
                            MOVE/POINT,-15.8659,19.1584,13.3627
                            STATS/OFF
                            End of program.....

                            This was a 15 part fixture, it asks the operator how many rows and how many columns ect ect.

                            I think this is the way to go, stats work pretty good.
                            Jim Jewell

                            Comment

                            Related Topics

                            Collapse

                            Working...
                            X