Quick Question

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

  • Quick Question

    I have a part that the flat surface (Datum A) is where the part must rest during the program. My question is how do I add the plane of datum A? Which will be hits taking on 1,2,3 block in the program. Do i add the fixture (123 block) or do i build the program taking those hits on the part offline but place instructions in the notes of the program?

  • #2
    You could perform a complete alignment without datum A, then create Auto Vector Points at points outside of the part model that you know will be on the block.

    Comment


    • #3
      I do this a lot.

      I'll import my part model and three separate models for my blocks that I made in solidworks.

      My procedure:

      1) arrange blocks as needed

      2) take picture of blocks to put in program

      DO THIS OVER EACH OF THE THREE BLOCKS-->

      -put read point over center of block, make origin, switch to dcc, measure a plane at XY0, switch back to manual, switch back to original alignment
      -use pictures to tell the operator what to do. (put probe over block one, block two, block three)
      -construct all of the planes together into DATUM_A_SIM
      -use a picture to tell the operator to put the part up on the blocks
      -write program us usual

      Comment


      • DAN_M
        DAN_M commented
        Editing a comment
        If you want I show you a sample

      • NoobNoob
        NoobNoob commented
        Editing a comment
        That would be awesome. Thank you.

    • #4
      I do a manual plane with 3 hits (one on each block or bar). Then I switch to DCC to create (3) Auto vector points using the manual plane as target. See below.

      Code:
      BARM       =FEAT/PLANE,CARTESIAN,TRIANGLE
                  THEO/<1.7867,-0.4727,0>,<0,0,1>
                  ACTL/<15.2224,22.3318,-36.312>,<0.0010745,-0.0001168,0.9999994>
                  MEAS/PLANE,3
                  HIT/BASIC,NORMAL,<-20.75,2.63,0>,<0,0,1>,<36.8372,31.1854,-36.3342>,USE THEO=YES
                  HIT/BASIC,NORMAL,<10.575,-16.74,0>,<0,0,1>,<-5.0621,30.969,-36.2892>,USE THEO=YES
                  HIT/BASIC,NORMAL,<15.535,12.692,0>,<0,0,1>,<13.892,4.841,-36.3126>,USE THEO=YES
                  ENDMEAS/
      MANUAL_ALN =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                  (DO LEVEL,ROTATE & ORIGIN)
      
                  MODE/DCC
                  MOVE/CLEARPLANE (OR MOVE/POINTS)
      BAR1       =FEAT/CONTACT/VECTOR POINT,CARTESIAN
                  THEO/<BARM.HIT[1].X,BARM.HIT[1].Y,0>,<0,0,1>
                  ACTL/<-6.4583,23.317,0.0089>,<0,0,1>
                  TARG/<BARM.HIT[1].X,BARM.HIT[1].Y,0>,<0,0,1>
                  SNAP=YES
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    AVOIDANCE MOVE=NO,DISTANCE=0
                  SHOW HITS=NO
      BAR2       =FEAT/CONTACT/VECTOR POINT,CARTESIAN
                  THEO/<BARM.HIT[2].X,BARM.HIT[2].Y,0>,<0,0,1>
                  ACTL/<-5.7219,-18.5764,0.0038>,<0,0,1>
                  TARG/<BARM.HIT[2].X,BARM.HIT[2].Y,0>,<0,0,1>
                  SNAP=YES
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    AVOIDANCE MOVE=NO,DISTANCE=0
                  SHOW HITS=NO            
      BAR3       =FEAT/CONTACT/VECTOR POINT,CARTESIAN
                  THEO/<BARM.HIT[3].X,BARM.HIT[3].Y,0>,<0,0,1>
                  ACTL/<20.1689,0.7006,0.0093>,<0,0,1>
                  TARG/<BARM.HIT[3].X,BARM.HIT[3].Y,0>,<0,0,1>
                  SNAP=YES
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    AVOIDANCE MOVE=NO,DISTANCE=0
                  SHOW HITS=NO
      PLN_A      =FEAT/PLANE,CARTESIAN,TRIANGLE,NO
                  THEO/<1.7867,-0.4727,0>,<0,0,1>
                  ACTL/<2.6629,1.8137,0.0073>,<-0.0001191,-0.0001238,1>
                  CONSTR/PLANE,BF,BAR1,BAR2,BAR3,,
                  OUTLIER_REMOVAL/OFF,3
                  FILTER/OFF,WAVELENGTH=0
      sigpicIt's corona time!
      737 Xcel Cad++ v2009MR1....SE HABLA ESPAÑOL

      Comment


      • #5
        NoobNoob check this out

        If I need to simulate a datum surface, I'll use inspection risers or some blocks and I'll make my machine measure the fixturing that my part will be put on. The process is controlled with detailed pictures, read points, and carefully manipulating my machine's movement parameters.

        Datums for this part: Top OD is -B- and my bevel gear face is -A-. (If you want to be a little less fancy, you could use single points instead of constructing three planes together).

        Code:
        STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                    ALIGNMENT/END
                    LOADPROBE/7107_G_4X20
                    TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                    MOVESPEED/ 300*0.9
                    TOUCHSPEED/ 5
                    PREHIT/0.125
                    RETRACT/0.125
                    CHECK/0.025,1
                    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                    Get three Ø2" X 4" tall inspection risers. Arrange risers on CMM table
                    so they will contact the part's gear face at 9:00,
                    1:00, and 5:00.
        
                    Press OK to continue.
                    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
                    Make sure part IS NOT ON THE TABLE.
        
                    Press OK to continue.
                    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
                    Put probe directly over riser at 9:00
                    Press OK for CNC Measurement
        READPOINT_RISER_1=FEAT/POINT,CARTESIAN
                    THEO/<-3.5,0,0.1>,<0,0,1>
                    ACTL/<-3.5,0,0.1>,<0,0,1>
                    READPOINT/
        A1         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                      ALIGNMENT/TRANS,XAXIS,READPOINT_RISER_1
                      ALIGNMENT/TRANS,YAXIS,READPOINT_RISER_1
                      ALIGNMENT/TRANS,ZAXIS,READPOINT_RISER_1
                    ALIGNMENT/END
                    MODE/DCC
        PLN_RISER_1=FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
                    THEO/<0,0,-0.1>,<0,0,1>
                    ACTL/<0,0,-0.1>,<0,0,1>
                    TARG/<0,0,-0.1>,<0,0,1>
                    ANGLE VEC=<1,0,0>,RADIAL
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
                    MODE/MANUAL
                    RECALL/ALIGNMENT,INTERNAL,STARTUP
                    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
                    Put probe directly over riser at 1:00
                    Press OK for CNC Measurement
        READPOINT_RISER_2=FEAT/POINT,CARTESIAN
                    THEO/<1.75,3.0311,0.1>,<0,0,1>
                    ACTL/<1.75,3.0311,0.1>,<0,0,1>
                    READPOINT/
        A2         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                      ALIGNMENT/TRANS,XAXIS,READPOINT_RISER_2
                      ALIGNMENT/TRANS,YAXIS,READPOINT_RISER_2
                      ALIGNMENT/TRANS,ZAXIS,READPOINT_RISER_2
                    ALIGNMENT/END
                    MODE/DCC
        PLN_RISER_2=FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
                    THEO/<0,0,-0.1>,<0,0,1>
                    ACTL/<0,0,-0.1>,<0,0,1>
                    TARG/<0,0,-0.1>,<0,0,1>
                    ANGLE VEC=<0,0,1>,RADIAL
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
                    MODE/MANUAL
                    RECALL/ALIGNMENT,INTERNAL,STARTUP
                    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
                    Put probe directly over riser at 5:00
                    Press OK for CNC Measurement
        READPOINT_RISER_3=FEAT/POINT,CARTESIAN
                    THEO/<1.75,-3.0311,0.1>,<0,0,1>
                    ACTL/<1.75,-3.0311,0.1>,<0,0,1>
                    READPOINT/
        A3         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                      ALIGNMENT/TRANS,XAXIS,READPOINT_RISER_3
                      ALIGNMENT/TRANS,YAXIS,READPOINT_RISER_3
                      ALIGNMENT/TRANS,ZAXIS,READPOINT_RISER_3
                    ALIGNMENT/END
                    MODE/DCC
        PLN_RISER_3=FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
                    THEO/<0,0,-0.1>,<0,0,1>
                    ACTL/<0,0,-0.1>,<0,0,1>
                    TARG/<0,0,-0.1>,<0,0,1>
                    ANGLE VEC=<0,0,1>,RADIAL
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
                    RECALL/ALIGNMENT,INTERNAL,STARTUP
        SCN1       =FEAT/SET,CARTESIAN
                    THEO/<0,0,0>,<0,0,1>
                    ACTL/<0,0,0>,<0,0,1>
                    CONSTR/SET,BASIC,PLN_RISER_1.HIT[1..PLN_RISER_1.NUMHITS],PLN_RISER_2.HIT[1..PLN_RISER_2.NUMHITS],PLN_RISER_3.HIT[1..PLN_RISER_3.NUMHITS],,
        PLN_DATUM_A_SIM=FEAT/PLANE,CARTESIAN,TRIANGLE,NO,LEAST_SQR
                    THEO/<0,0,0>,<0,0,1>
                    ACTL/<0,0,0>,<0,0,1>
                    CONSTR/PLANE,BF,SCN1,,
                    OUTLIER_REMOVAL/OFF,3
                    FILTER/OFF,WAVELENGTH=0
        CIR_READPOINTS=FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR,NO
                    THEO/<0,0,0.1>,<0,0,1>,7
                    ACTL/<0,0,0.1>,<0,0,1>,7
                    CONSTR/CIRCLE,BF,2D,READPOINT_RISER_1,READPOINT_RISER_2,READPOINT_RISER_3,,
                    OUTLIER_REMOVAL/OFF,3
                    FILTER/OFF,UPR=0
                    MOVE/POINT,NORMAL,<0,6,6>
                    MODE/MANUAL
                    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                    **********DO NOT MOVE INSPECTION RISERS**********
        
                    Put part on risers. Gear face down.
                    Press OK for CNC Measurement
                    MODE/DCC
                    MOVE/POINT,NORMAL,<0,0,5>
        A4         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                      ALIGNMENT/LEVEL,ZPLUS,PLN_DATUM_A_SIM
                      ALIGNMENT/TRANS,XAXIS,CIR_READPOINTS
                      ALIGNMENT/TRANS,YAXIS,CIR_READPOINTS
                      ALIGNMENT/TRANS,ZAXIS,PLN_DATUM_A_SIM
                    ALIGNMENT/END
                    MOVESPEED/ 300*0.9
                    TOUCHSPEED/ 15
                    PREHIT/3
                    RETRACT/3
                    CHECK/0.025,1
        CIRXY1     =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                    THEO/<0,0,3.3>,<0,0,1>,5.7109,0
                    ACTL/<0,0,3.3>,<0,0,1>,5.7109,0
                    TARG/<0,0,3.3>,<0,0,1>
                    START ANG=0,END ANG=360
                    ANGLE VEC=<1,0,0>
                    DIRECTION=CCW
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        A5         =ALIGNMENT/START,RECALL:A4,LIST=YES
                      ALIGNMENT/TRANS,XAXIS,CIRXY1
                      ALIGNMENT/TRANS,YAXIS,CIRXY1
                    ALIGNMENT/END
                    MOVESPEED/ 300*0.9
                    TOUCHSPEED/ 5
                    PREHIT/0.05
                    RETRACT/0.05
                    CHECK/0.01,1
        CIR_B     =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                    THEO/<0,0,3.3>,<0,0,1>,5.7109,0
                    ACTL/<0,0,3.3>,<0,0,1>,5.7109,0
                    TARG/<0,0,3.3>,<0,0,1>
                    START ANG=-120,END ANG=240
                    ANGLE VEC=<1,0,0>
                    DIRECTION=CCW
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        A6         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                      ALIGNMENT/LEVEL,ZPLUS,PLN_DATUM_A_SIM
                      ALIGNMENT/TRANS,XAXIS,CIRXY2
                      ALIGNMENT/TRANS,YAXIS,CIRXY2
                      ALIGNMENT/TRANS,ZAXIS,PLN_DATUM_A_SIM
                    ALIGNMENT/END
        LIN_CMM_XP =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
        A7         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                      ALIGNMENT/LEVEL,ZPLUS,PLN_DATUM_A_SIM
                      ALIGNMENT/ROTATE,XPLUS,TO,LIN_CMM_XP,ABOUT,ZPLUS
                      ALIGNMENT/TRANS,XAXIS,CIRXY2
                      ALIGNMENT/TRANS,YAXIS,CIRXY2
                      ALIGNMENT/TRANS,ZAXIS,PLN_DATUM_A_SIM
                    ALIGNMENT/END
        pic of bevel gear.PNG
        pic2 for group.PNG
        Last edited by DAN_M; 11-27-2019, 11:10 AM.

        Comment


        • #6
          I feel that this is wholly dependent upon what the part is made from, and the tolerances you are looking at measuring.
          If the part is machined, and tolerances are very tight, I would either elevate the part enough to get a probe under it and touch on the actual part to establish A datum, or I would turn the part on its side (using v-block or other methods for mounting), exposing A datum in a TA90Bx probe orientation.

          If tolerances are relatively lax, or concern for flatness of A or perpendiularity error projecting away from a are null, then yes touching atop the posts you rest the part on will work just fine.

          I typically take 3 hits on the model in manual mode (CTL+F4), then just flip the vector to construct the initial level plane.

          Comment

          Related Topics

          Collapse

          Working...
          X