DCC alignment without manual

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

  • DCC alignment without manual

    I have heard of read point alignment being used to get rid of using a manual alignment. If I use consistent fixturing (a J-corner base) being scaled to the edge of my table within a mm or two of being in the same place every time, do I need a manual alignment or readpoint still since my gage is "essentially" in the same place the last time the program was ran? would I just need to make sure I have adequate avoidance to run my dcc or do I have to have another alignment?

  • #2
    You have a few options here.

    1) Readpoint--> When PC DMIS reads the line of code "READPOINT", it reads the active probe position & stores the value. You can then use that feature as an XYZ origin. Trap the readpoint code with an OPERATOR/COMMENT telling them where to put the probe. If you use a read point alignment, you don't have to worry about fixturing. You can put the part anywhere you want on your table as long as the CMM will have enough measurement volume to complete the program where you've put it. Here is an example of how I set these types of programs up (take special note of how I ply with my movespeed/touchspeed/prehit/retract as I work in the location in my initial alignments):
    Code:
    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
    Put probe in TOP ID at the height you want the CMM to find the part
    
    Press OK to continue
    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
    Press OK for CNC Measurement
    MODE/DCC
    WORKPLANE/ZPLUS
    MOVESPEED/ 300*0.9
    TOUCHSPEED/ 10
    PREHIT/1
    RETRACT/1
    CHECK/1,1
    READPNT1 =FEAT/POINT,CARTESIAN
    THEO/<0,0,2.3>,<0,0,1>
    ACTL/<0,0,2.3>,<0,0,1>
    READPOINT/
    A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/TRANS,XAXIS,READPNT1
    ALIGNMENT/TRANS,YAXIS,READPNT1
    ALIGNMENT/TRANS,ZAXIS,READPNT1
    ALIGNMENT/END
    CIRXY1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0,0,0>,<0,0,1>,2.3642
    ACTL/<0,0,0>,<0,0,1>,2.3642
    TARG/<0,0,0>,<0,0,1>
    START ANG=0,END ANG=360
    ANGLE VEC=<1,0,0>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    A2 =ALIGNMENT/START,RECALL:A1,LIST=YES
    ALIGNMENT/TRANS,XAXIS,CIRXY1
    ALIGNMENT/TRANS,YAXIS,CIRXY1
    ALIGNMENT/END
    MOVESPEED/ 300*0.9
    TOUCHSPEED/ 5
    PREHIT/0.125
    RETRACT/0.125
    CHECK/0.125,1
    CIRXY2 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0,0,0>,<0,0,1>,2.3642
    ACTL/<0,0,0>,<0,0,1>,2.3642
    TARG/<0,0,0>,<0,0,1>
    START ANG=-120,END ANG=240
    ANGLE VEC=<1,0,0>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    A3 =ALIGNMENT/START,RECALL:A2,LIST=YES
    ALIGNMENT/TRANS,XAXIS,CIRXY2
    ALIGNMENT/TRANS,YAXIS,CIRXY2
    ALIGNMENT/END
    MOVESPEED/ 300*0.9
    TOUCHSPEED/ 5
    PREHIT/0.25
    RETRACT/0.05
    CHECK/0.25,1
    MOVE/INCREMENT,<0,0,1>
    PNTZ1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
    THEO/<1.26,168,0.0899>,<0,0,1>
    ACTL/<1.26,168,0.0899>,<0,0,1>
    TARG/<1.26,168,0.0899>,<0,0,1>
    SNAP=NO
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    A4 =ALIGNMENT/START,RECALL:A3,LIST=YES
    ALIGNMENT/TRANS,ZAXIS,PNTZ1
    ALIGNMENT/END
    MOVESPEED/ 300*0.9
    TOUCHSPEED/ 5
    PREHIT/0.05
    RETRACT/0.05
    CHECK/0.05,1
    PLN_Z =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
    THEO/<0,0,0>,<0,0,1>
    ACTL/<0,0,0>,<0,0,1>
    TARG/<0,0,0>,<0,0,1>
    ANGLE VEC=<-0.978555,0.2059858,0>,RADIAL
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    A5 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN_Z
    ALIGNMENT/TRANS,XAXIS,CIRXY2
    ALIGNMENT/TRANS,YAXIS,CIRXY2
    ALIGNMENT/TRANS,ZAXIS,PLN_Z
    ALIGNMENT/END
    LIN1 =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
    THEO/<-0.5,0,0>,<1,0,0>
    ACTL/<-0.5,0,0>,<1,0,0>
    CONSTR/LINE,ALIGN,1,XPLUS
    A6 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN_Z
    ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS
    ALIGNMENT/TRANS,XAXIS,CIRXY2
    ALIGNMENT/TRANS,YAXIS,CIRXY2
    ALIGNMENT/TRANS,ZAXIS,PLN_Z
    ALIGNMENT/END

    Comment


    • #3
      2) External Alignment-->

      Measure your J corner base. Save the alignment as an external alignment file.

      Recall this external alignment in your new programs. Play with move/touch parameters as shown in my above comment to account for operator slack/the fixture moving slightly.

      Comment


      • #4
        I run production with fixtures that are repeatable as you describe, I only do alignments in DCC to align to the part. I use the first as a "rough" alignment and the second as a "fine" alignment. Depending on your tolerances/parts, just doing one would be fine. For me running two alignments only takes another 30 seconds so its not a big deal for me to refine the alignment a little more

        Comment


        • #5
          I would use an external manual alignment if you have consistent fixturing. Create a separate program where you measure you're alignment features manually. Create your alignment. Then, under Insert>Alignment>Save, save the alignment you created. In your main program, you will go Insert>Alignment>Recall and select the external alignment you created from the dropdown box. If your fixturing is consistent, you can then just measure your features in DCC and do another alignment to fine tune it. As long as your fixturing is consistent, you never have to drive the probe manually. If you ever have to move the fixturing, go back to your original manual alignment program and remeasure your fixturing in its new location.

          Comment


          • #6
            so essentially I still need two run two alignment, correct? An initial one to "roughly" locate the part and another to fine tune? regardless if its 2 dcc or a manual and a dcc?

            Comment


            • #7
              Also just to clarify, when I say J corner base I mean each part has its own j corner value and all vary in size and fixture "type" I do not have a set block I am pushing against, simply scaling to the edges of my table

              Comment


              • #8
                Yes, you will have to run the manual alignment once to roughly teach the CMM where the part is. But once you've done that, you never have to do it again as long as you're fixturing stays in the same place. So for all practical purposes you only need to let the main program run DCC all by itself without any intervention from you.

                Comment


                • #9
                  Is your part always in the same place in relation to your table edges?

                  Comment


                  • Smallsvillanova
                    Smallsvillanova commented
                    Editing a comment
                    yes sir. Like I said give or take a MM. I try to be precise as possible but we always scale the same distance to the edge as defined in each program. All J corners will not go in the same place but every job has a specific place its J corner will always be set to.

                • #10
                  Then it will work fine. A few mm difference won't make a difference. Post some code if you want to try it and I'll help you out.

                  Comment


                  • #11
                    Awesome, Thank you. Here is a sample of a program I am running now with a manual then a dcc


                    Code:
                    STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                                ALIGNMENT/END
                                MODE/MANUAL
                                PREHIT/8
                                RETRACT/8
                                MANRETRACT/8
                                MOVESPEED/ 100
                                TOUCHSPEED/ 5
                                FORMAT/TEXT,OPTIONS,ID,HEADINGS, , ;NOM,TOL,MEAS,DEV,OUTTOL, ,
                                LOADPROBE/3BLK_20EXT_1RUBY_BARREL_OUT
                                TIP/T1A90B180, SHANKIJK=0, 0, 1, ANGLE=0
                                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                                remove all 3 center stansions (marked 1-2-3)
                                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                                setup new aluminum cmm holding fixture with rear of hood towards cmm and 180
                                from cmm edge and 470 from computer edge
                                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                                iterative alighnment - pick up origin 1st then hole on left then on right
                                3pnts plane followed by 4 pnts in bushing for all 3 bushings
                                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                                parts are to have hinges on
                    MAN_ORIGIN =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                                THEO/<450.149,-0.1,800.14>,<0,0,1>,12
                                ACTL/<1195.39,1518.685,-1417.217>,<-0.0009789,0.0000358,0.9999995>,12.024
                                TARG/<450.149,-0.1,800.14>,<0,0,1>
                                START ANG=93.242,END ANG=360.002
                                ANGLE VEC=<0.991238,0,0.1320876>
                                DIRECTION=CCW
                                USE_PIN=NO
                                REPORT VEC=<-0.9929405,0.1186133,0>
                                SHOW FEATURE PARAMETERS=NO
                                SHOW CONTACT PARAMETERS=NO
                    MAN_TB2    =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                                THEO/<1750,-849.706,800.14>,<0,0,1>,12
                                ACTL/<345.358,219.111,-1417.004>,<0.0001797,0.000422,0.9999999>,12.006
                                TARG/<1750,-849.706,800.14>,<0,0,1>
                                START ANG=93.242,END ANG=360.002
                                ANGLE VEC=<0.991238,0,0.1320876>
                                DIRECTION=CCW
                                USE_PIN=NO
                                REPORT VEC=<-0.9929405,0.1186133,0>
                                SHOW FEATURE PARAMETERS=NO
                                SHOW CONTACT PARAMETERS=NO
                    MAN_TB3    =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                                THEO/<1750,850.329,800.14>,<0,0,1>,12
                                ACTL/<2045.369,218.567,-1417.178>,<0.000045,-0.0001309,1>,11.992
                                TARG/<1750,850.329,800.14>,<0,0,1>
                                START ANG=93.242,END ANG=360.002
                                ANGLE VEC=<0.991238,0,0.1320876>
                                DIRECTION=CCW
                                USE_PIN=NO
                                REPORT VEC=<-0.9929405,0.1186133,0>
                                SHOW FEATURE PARAMETERS=NO
                                SHOW CONTACT PARAMETERS=NO
                    MAN_ALIGN  =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                                  ALIGNMENT/ITERATE
                                    PNT TARGET RAD=5,START LABEL=,FIXTURE TOL=0.1,ERROR LABEL=
                                    MEAS ALL FEAT=NO,LEVEL AXIS=ZAXIS,ROTATE AXIS=XAXIS,ORIGIN AXIS=YAXIS
                                  LEVEL=MAN_ORIGIN,MAN_TB2,MAN_TB3,,
                                  ROTATE=MAN_TB2,MAN_TB3,,
                                  ORIGIN=MAN_ORIGIN,,
                                ALIGNMENT/END
                                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                                move probe to safe position dcc alignment will begin
                                MODE/DCC
                    DCC_ORIGIN =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                                THEO/<450.149,-0.1,800.14>,<0,0,1>,12
                                ACTL/<450.148,-0.075,800.119>,<-0.0006747,0.0000395,0.9999998>,11.991
                                TARG/<450.149,-0.1,800.14>,<0,0,1>
                                START ANG=102.3,END ANG=369.1
                                ANGLE VEC=<0.991238,0,0.1320876>
                                DIRECTION=CCW
                                USE_PIN=NO
                                REPORT VEC=<-0.9929405,0.1186133,0>
                                SHOW FEATURE PARAMETERS=NO
                                SHOW CONTACT PARAMETERS=NO
                                MOVE/POINT,NORMAL,<1805.01,-428.994,820.625>
                    DCC_TB2    =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                                THEO/<1750,-849.706,800.14>,<0,0,1>,12
                                ACTL/<1750.003,-849.744,800.143>,<0.0005305,-0.0003163,0.9999998>,12.003
                                TARG/<1750,-849.706,800.14>,<0,0,1>
                                START ANG=104,END ANG=370.7
                                ANGLE VEC=<0.991238,0,0.1320876>
                                DIRECTION=CCW
                                USE_PIN=NO
                                REPORT VEC=<-0.9929405,0.1186133,0>
                                SHOW FEATURE PARAMETERS=NO
                                SHOW CONTACT PARAMETERS=NO
                                MOVE/POINT,NORMAL,<1870.906,3.849,820.595>
                    DCC_TB3    =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                                THEO/<1750,850.329,800.14>,<0,0,1>,12
                                ACTL/<1750.013,850.298,800.14>,<0.0001682,0.0005453,0.9999998>,11.994
                                TARG/<1750,850.329,800.14>,<0,0,1>
                                START ANG=82.2,END ANG=348.9
                                ANGLE VEC=<0.991238,0,0.1320876>
                                DIRECTION=CCW
                                USE_PIN=NO
                                REPORT VEC=<-0.9929405,0.1186133,0>
                                SHOW FEATURE PARAMETERS=NO
                                SHOW CONTACT PARAMETERS=NO
                    DCC_ALIGN  =ALIGNMENT/START,RECALL:MAN_ALIGN,LIST=YES
                                  ALIGNMENT/ITERATE
                                    PNT TARGET RAD=5,START LABEL=,FIXTURE TOL=0.1,ERROR LABEL=
                                    MEAS ALL FEAT=NO,LEVEL AXIS=ZAXIS,ROTATE AXIS=XAXIS,ORIGIN AXIS=YAXIS
                                  LEVEL=DCC_ORIGIN,DCC_TB2,DCC_TB3,,
                                  ROTATE=DCC_TB2,DCC_TB3,,
                                  ORIGIN=DCC_ORIGIN,,
                                ALIGNMENT/END
                    This is my manual and dcc alignment on a gage that isn't a j corner but same principle applies, its in the same place it always is, so essentially would I just copy and paste my dcc alignment give it unique names and then just run my two dcc alignments the next time I throw it up?

                    Comment


                    • DAN_M
                      DAN_M commented
                      Editing a comment
                      You'll need to save the location of the J corner in an external alignment.

                      Then, recall that alignment in the beginning of your new program. Say "NO" to the alignment question.

                      Now, with your part on the table, probe your origin faces & create some dummy features (features you're going to use to steal numbers from that you're going to delete in a minute). Create those dummy features in your edit window. Look at their nominals. Insert an alignment shift (call it A_1) that offsets those values. This will sync your new alignment with your pre-existing program if you make A_1 the recall alignment in "DCC_ALIGN". Delete dummy features.

                      Then, re-do iterative align. Maybe do two of them (1st one with larger target point radius) ORRRR make a fine tuning alignment (A_2) then go into your DCC Iterative.
                      Last edited by DAN_M; 11-11-2019, 03:52 PM.

                  • #12
                    Like this:

                    STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                    ALIGNMENT/END
                    MODE/MANUAL
                    PREHIT/8
                    RETRACT/8
                    MANRETRACT/8
                    MOVESPEED/ 100
                    TOUCHSPEED/ 5
                    FORMAT/TEXT,OPTIONS,ID,HEADINGS, , ;NOM,TOL,MEAS,DEV,OUTTOL, ,
                    LOADPROBE/3BLK_20EXT_1RUBY_BARREL_OUT
                    TIP/T1A90B180, SHANKIJK=0, 0, 1, ANGLE=0
                    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                    remove all 3 center stansions (marked 1-2-3)
                    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                    setup new aluminum cmm holding fixture with rear of hood towards cmm and 180
                    from cmm edge and 470 from computer edge
                    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                    iterative alighnment - pick up origin 1st then hole on left then on right
                    3pnts plane followed by 4 pnts in bushing for all 3 bushings
                    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                    parts are to have hinges on
                    MAN_ORIGIN =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                    THEO/<450.149,-0.1,800.14>,<0,0,1>,12
                    ACTL/<1195.39,1518.685,-1417.217>,<-0.0009789,0.0000358,0.9999995>,12.024
                    TARG/<450.149,-0.1,800.14>,<0,0,1>
                    START ANG=93.242,END ANG=360.002
                    ANGLE VEC=<0.991238,0,0.1320876>
                    DIRECTION=CCW
                    USE_PIN=NO
                    REPORT VEC=<-0.9929405,0.1186133,0>
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
                    MAN_TB2 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                    THEO/<1750,-849.706,800.14>,<0,0,1>,12
                    ACTL/<345.358,219.111,-1417.004>,<0.0001797,0.000422,0.9999999>,12.006
                    TARG/<1750,-849.706,800.14>,<0,0,1>
                    START ANG=93.242,END ANG=360.002
                    ANGLE VEC=<0.991238,0,0.1320876>
                    DIRECTION=CCW
                    USE_PIN=NO
                    REPORT VEC=<-0.9929405,0.1186133,0>
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
                    MAN_TB3 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                    THEO/<1750,850.329,800.14>,<0,0,1>,12
                    ACTL/<2045.369,218.567,-1417.178>,<0.000045,-0.0001309,1>,11.992
                    TARG/<1750,850.329,800.14>,<0,0,1>
                    START ANG=93.242,END ANG=360.002
                    ANGLE VEC=<0.991238,0,0.1320876>
                    DIRECTION=CCW
                    USE_PIN=NO
                    REPORT VEC=<-0.9929405,0.1186133,0>
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
                    MAN_ALIGN =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                    ALIGNMENT/ITERATE
                    PNT TARGET RAD=5,START LABEL=,FIXTURE TOL=0.1,ERROR LABEL=
                    MEAS ALL FEAT=NO,LEVEL AXIS=ZAXIS,ROTATE AXIS=XAXIS,ORIGIN AXIS=YAXIS
                    LEVEL=MAN_ORIGIN,MAN_TB2,MAN_TB3,,
                    ROTATE=MAN_TB2,MAN_TB3,,
                    ORIGIN=MAN_ORIGIN,,
                    ALIGNMENT/END
                    SAVE/ALIGNMENT, PARTNAME_MAN_ALIGN.aln, MACHINETOPARTS

                    This is your first program that you run only once. As long as your fixturing stays consistent you never have to run it again.

                    Then you use this command in your DCC program like this:

                    STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                    ALIGNMENT/END
                    MODE/DCC
                    PREHIT/8
                    RETRACT/8
                    MANRETRACT/8
                    MOVESPEED/ 100
                    TOUCHSPEED/ 5
                    FORMAT/TEXT,OPTIONS,ID,HEADINGS, , ;NOM,TOL,MEAS,DEV,OUTTOL, ,
                    LOADPROBE/3BLK_20EXT_1RUBY_BARREL_OUT
                    TIP/T1A90B180, SHANKIJK=0, 0, 1, ANGLE=0
                    RECALL/ALIGNMENT, EXTERNAL, PARTNAME_MAN_ALIGN


                    Now you can measure your features in DCC without ever having to take manual hits or readpoints. Make sense?

                    Comment


                    • Smallsvillanova
                      Smallsvillanova commented
                      Editing a comment
                      Yes, Exactly the sort of thing i had in my head just had no idea how to get there. Thank you!

                  • #13
                    We recall an external alignment to "start" our program and then jump right into our dcc alignment. We never run a manual alignment.

                    Comment


                    • #14
                      Once you get yourself all setup on the readpoint alignment you'll find yourself (I believe) never wanting to do a manual alignment again! I love the readpoint feature! It's a definite time saver.

                      Comment


                      • #15
                        I know it's been beaten to death, but as said above: Recalling an external alignment, or my favorite, the read point.

                        If you work in an a non-production environment, the read point alignment is a massive time saver.
                        B&S Globals/7.10.7s/ Zeiss Contura
                        PCDMIS v2012MR1/v2010 - Don't Ask lol
                        Calypso 5.4

                        Comment


                        • DAN_M
                          DAN_M commented
                          Editing a comment
                          External alignments are my favorite.

                          I really like having my operators put a part on the fixture plate & type in some serial numbers while not having to touch the jogbox at all.

                      Related Topics

                      Collapse

                      Working...
                      X