Alignment from one point

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

  • Alignment from one point

    Hey folks,

    I'm attempting to set up a program where I can touch off on a fixture at one point, set that as my origin, have it measure datum features in DCC, then translate back to car body alignment based on given coordinates on a gauge.

    I can get it to touch off on the point and then measure the features, but it doesn't seem to want to revert to the car body alignment following this.

    Thanks for the assistance in advance!

  • #2
    One size fits all response.... . Post your code

    Comment


    • #3
      Here's the code:

      Code:
      STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                  ALIGNMENT/END
                  MODE/MANUAL
                  MOVESPEED/ 90
                  TOUCHSPEED/ 2.5
                  FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,MEAS,DEV,TOL,OUTTOL, , 
                  LOADPROBE/EX50_35X20X2
                  TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                  COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                  Please Edit Comment Text!
                  COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                  Please Edit Comment Text!
      569_PNT1   =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                  THEO/<106.826,-1071.555,-891.495>,<0,0,1>
                  ACTL/<106.826,-1071.555,-891.495>,<0,0,1>
                  TARG/<106.826,-1071.555,-891.495>,<0,0,1>
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    AVOIDANCE MOVE=BOTH,DISTANCE=10
                  SHOW HITS=NO
      A1         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                    ALIGNMENT/TRANS,XAXIS,569_PNT1
                    ALIGNMENT/TRANS,YAXIS,569_PNT1
                    ALIGNMENT/TRANS,ZAXIS,569_PNT1
                  ALIGNMENT/END
                  MODE/DCC
      569_PLN1   =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
                  THEO/<-0.492,-6.91,0.003>,<0.0048102,0.0000915,0.9999884>
                  ACTL/<-0.492,-6.91,0.003>,<0.0048102,0.0000915,0.9999884>
                  TARG/<-0.492,-6.91,0.003>,<0.0048102,0.0000915,0.9999884>
                  ANGLE VEC=<0.9999884,0,-0.0048102>,SQUARE
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=3,NUMROWS=2
                    SPACER=6
                    AVOIDANCE MOVE=BOTH,DISTANCE=10
                  SHOW HITS=NO
                  MOVE/POINT,NORMAL,<0.148,-4.922,3.543>
      569_CIR1   =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                  THEO/<1.044,-5.243,-2.645>,<-0.0001639,0.0002407,1>,8
                  ACTL/<1.044,-5.243,-2.645>,<-0.0001639,0.0002407,1>,8
                  TARG/<1.044,-5.243,-2.645>,<-0.0001639,0.0002407,1>
                  START ANG=0,END ANG=360
                  ANGLE VEC=<0,0,-1>
                  DIRECTION=CCW
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=3,DEPTH=1.5,PITCH=0
                    SAMPLE METHOD=SAMPLE_HITS
                    SAMPLE HITS=0,SPACER=2
                    AVOIDANCE MOVE=BOTH,DISTANCE=10
                    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOW HITS=NO
                  MOVE/POINT,NORMAL,<-0.56,-4.919,230.889>
                  MOVE/POINT,NORMAL,<-0.558,-262.159,230.889>
                  MOVE/POINT,NORMAL,<-0.358,-288.999,13.412>
      569_PLN2   =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
                  THEO/<1.56,-296.411,-0.027>,<0.0078292,-0.0026447,0.9999659>
                  ACTL/<1.56,-296.411,-0.027>,<0.0078292,-0.0026447,0.9999659>
                  TARG/<1.56,-296.411,-0.027>,<0.0078292,-0.0026447,0.9999659>
                  ANGLE VEC=<0.9999694,0,-0.0078292>,SQUARE
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=3,NUMROWS=2
                    SPACER=6
                    AVOIDANCE MOVE=BOTH,DISTANCE=10
                  SHOW HITS=NO
                  MOVE/POINT,NORMAL,<1.558,-295.543,3.447>
      569_CIR2   =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                  THEO/<2.031,-294.034,-3.04>,<-0.0002808,-0.0000318,1>,8
                  ACTL/<2.031,-294.034,-3.04>,<-0.0002808,-0.0000318,1>,8
                  TARG/<2.031,-294.034,-3.04>,<-0.0002808,-0.0000318,1>
                  START ANG=0,END ANG=360
                  ANGLE VEC=<0,0,-1>
                  DIRECTION=CCW
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=3,DEPTH=1.5,PITCH=0
                    SAMPLE METHOD=SAMPLE_HITS
                    SAMPLE HITS=0,SPACER=2
                    AVOIDANCE MOVE=BOTH,DISTANCE=10
                    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOW HITS=NO
                  MOVE/POINT,NORMAL,<2.244,-302.21,263.996>
                  MOVE/POINT,NORMAL,<318.173,-294.211,263.997>
      569_PLN3   =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
                  THEO/<322.027,-293.622,-0.029>,<-0.000054,-0.000676,0.9999998>
                  ACTL/<322.027,-293.622,-0.029>,<-0.000054,-0.000676,0.9999998>
                  TARG/<322.027,-293.622,-0.029>,<-0.000054,-0.000676,0.9999998>
                  ANGLE VEC=<1,0,0.000054>,SQUARE
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=3,NUMROWS=2
                    SPACER=6
                    AVOIDANCE MOVE=BOTH,DISTANCE=10
                  SHOW HITS=NO
                  MOVE/POINT,NORMAL,<322.746,-292.134,4.4>
      569_CIR3   =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                  THEO/<323.459,-292.914,-2.849>,<-0.000221,-0.000152,1>,8
                  ACTL/<323.459,-292.914,-2.849>,<-0.000221,-0.000152,1>,8
                  TARG/<323.459,-292.914,-2.849>,<-0.000221,-0.000152,1>
                  START ANG=0,END ANG=360
                  ANGLE VEC=<0,0,-1>
                  DIRECTION=CCW
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    NUMHITS=3,DEPTH=1.5,PITCH=0
                    SAMPLE METHOD=SAMPLE_HITS
                    SAMPLE HITS=0,SPACER=2
                    AVOIDANCE MOVE=BOTH,DISTANCE=10
                    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOW HITS=NO
                  MOVE/POINT,NORMAL,<321.437,-292.671,240.66>
      569CIR1    =FEAT/CIRCLE,CARTESIAN,IN,YES
                  THEO/<464.02,-1059.9,349.979>,<1,0,0>,8
                  ACTL/<1.057,-5.242,-0.005>,<0.0048102,0.0000915,0.9999884>,8
                  CONSTR/CIRCLE,PROJ,569_CIR1,569_PLN1
      569CIR2    =FEAT/CIRCLE,CARTESIAN,IN,YES
                  THEO/<464.021,-1059.97,60>,<1,0,0>,8
                  ACTL/<2.054,-294.042,-0.025>,<0.0078292,-0.0026447,0.9999659>,8
                  CONSTR/CIRCLE,PROJ,569_CIR2,569_PLN2
      569CIR3    =FEAT/CIRCLE,CARTESIAN,IN,YES
                  THEO/<464.02,-740.024,60>,<1,0,0>,8
                  ACTL/<323.459,-292.916,-0.029>,<-0.000054,-0.000676,0.9999998>,8
                  CONSTR/CIRCLE,PROJ,569_CIR3,569_PLN3
      A2         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                    ALIGNMENT/ITERATE
                      PNT TARGET RAD=0.05,START LABEL=,FIXTURE TOL=0.05,ERROR LABEL=
                      MEAS ALL FEAT=NO,LEVEL AXIS=XAXIS,ROTATE AXIS=YAXIS,ORIGIN AXIS=ZAXIS
                    LEVEL=569CIR1,569CIR2,569CIR3,,
                    ROTATE=569CIR1,569CIR2,,
                    ORIGIN=569CIR2,,
                  ALIGNMENT/END

      Comment


      • MUlissi
        MUlissi commented
        Editing a comment
        It's apparently what they physically are. Ultimately, they need to translate back to car position at:

        464.02,-1059.9,349.979
        464.021,-1059.97,60
        464.02,-740.024,60

      • NinjaBadger
        NinjaBadger commented
        Editing a comment
        "vectors are all over the place, square everything up to start with. You're telling PC-DMIS that all your planes are not flat at all and your circles are a little lopsided."

        He's attempting a 3 hole iterative, if this is automotive it's quite probable/likely that the vectors aren't nice and square etc.

      • MUlissi
        MUlissi commented
        Editing a comment
        That's exactly the case, NinjaBadger.

        Barely anything is nice and square.

    • #4
      When you use an iterative, it doesn't actually change your 0.0. Don't you need the 0.00 where it the print calls it out before the alignment ?

      Comment


      • #5
        Shouldn't you recall your alignment A1 for your iterative?
        Why not make a readpoint (which is exactly what you are doing with the touch-off, it just eliminates the need to probe any points), instead of a single touch-off hit?
        A readpoint is one less chance for an operator to crash the probe. :-D

        Comment


        • #6
          Oh, there's a more than good chance that my original approach is completely wrong. That's why I didn't initially post the code, since I knew it was almost definitely irrelevant to the question. I just didn't want to argue about that with anyone.

          I've not worked with readpoints a lot, but they're quite possibly exactly what I need.

          I just know that the goal is to do just what louisd suggested and give the operator one less chance to crash the probe.

          Comment


          • #7
            Hi,

            For an iterative alignment the theoretical values of the circles need to be as they are per the CAD (it's the software knowing these offsets which allows the CAD origin to be kept). You can lose the planes and the projected circles - instead measure the circles with sample hits.

            Use readpoint (insert > point > readpoint). This stores the location of the probe in machine coords which you can origin on, as you have done with the single point. Typically you'd have the theo's of the readpoint as zero, but in order to maintain the CAD co-ord system you need to use the theoretical location of the hole you position the probe to as the theo's for the readpoint.



            Automettech - Automated Metrology Technology

            Comment


            • #8
              Followup: In addition to the assistance I got here, Hexagon gave me a few tips.

              As of right now, it functions by creating a readpoint at a known location (inside a tooling hole on the gauge,) setting an origin there, then offsetting that origin to the coordinates specified on the gauge/print.

              Thanks for the help folks!

              Comment

              Related Topics

              Collapse

              Working...
              X