hexagon logo

Unknown Move Point Deviation

Let me preface that I'm very new to programming, as well as, operating the CMM. So something that might seem like a obvious solution to most of you is like finding a needle in a hay stack for me, haha. Thanks!

While writing a program for a part, I have run into an issue with the probes movement. You can see, in the image above, that there is a line moving out of frame to the cylinder highlighted. I have been taught to prevent unintentional contact leading to a system crash to add a move point as seen (or use clearance planes/cube). The move point line should move all the way to the probe (indicated by the arrow), but instead stops at the question mark then deviates downwards and along the x-axis the then back towards the cylinder. The path then collides with the structure (indicated by the yellow X) and we cant be having that. My question is why? Why is it just randomly pivoting like this?

  • What is the actual XYZ of your probe in that graphic? Its hard to tell, but looks like you're wanting your X to be closer to 0. Seems like maybe you have 2 move points active, judging by the 2 zigzags in the path line.

    Other questions I have, are you using clearance planes, or clearance cube? Are you meaning to use the "Offset from feature" and "Offset Along Tip Vector" options?

    Additionally, I would suggest using Avoidance moves when measuring holes (circles/cylinders) this will help prevent crashes as well, and reduce the need for move/point commands.

  • If you post your code it would be very helpful.

    However, from experience clearance cube causes more problems than it solves. (sorry I know they have made it better)
    Clearance planes are fine, but waste time in the long run. When used with a combination of clearplanes and avoidance moves you can get a good efficient flow going until you are comfortable with only move points.

    As   said, avoidance moves are good, I use them on holes to keep it all simple and safe.

  • partial SHOW PATH LINES is a pain in Pcdmis.  I would guess the path that is shown off the image is the COMING FROM point.  If you are only showing the path of part of the program, the 'come from point' will have no bearing on the program, it could be 'anywhere' but I've not yet figured out the source, it has to be related to either the machine itself o the last thing executed in the program.  As for the circled move point position, it could be one of several things, like maybe you JUST did a head rotation and it is slightly confused.  BUT, to fix that 'crash' into the part turn on AVOIDANCE MOVE for the cylinder, then it will move to the center point of the cylinder, but 'above' it by the amount of the avoidance move.

  • Here is the code for the last three features.

    B1         =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<25.2111,1.7607,0.113>,<0,0,1>,0.2
                ACTL/<25.2111,1.7607,0.113>,<0,0,1>,0.2
                TARG/<25.2111,1.7607,0.113>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,DEPTH=0.03,PITCH=0
                  SAMPLE METHOD=SAMPLE_FEATURE
                  SAMPLE FEATURE=NONE
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=0.1,DISTANCE AFTER=0.1
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
    CIR14      =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<25.2358,0.8864,0.113>,<0,0,1>,0.4755
                ACTL/<25.2358,0.8864,0.113>,<0,0,1>,0.4755
                TARG/<25.2358,0.8864,0.113>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,DEPTH=0.03,PITCH=0
                  SAMPLE METHOD=SAMPLE_FEATURE
                  SAMPLE FEATURE=NONE
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=0.1,DISTANCE AFTER=0.1
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
                MOVE/POINT,NORMAL,<25.2358,0.8864,0.2425>
                TIP/T1A75B180, SHANKIJK=0, -0.9659, 0.2588, ANGLE=180
                MOVE/POINT,NORMAL,<0.4001,-0.5,2>
    CIR11      =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<0.4001,0,0.66>,<0,-1,0>,0.5
                ACTL/<0.4001,0,0.66>,<0,-1,0>,0.5
                TARG/<0.4001,0,0.66>,<0,-1,0>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,DEPTH=0.02,PITCH=0
                  SAMPLE METHOD=SAMPLE_FEATURE
                  SAMPLE FEATURE=NONE
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=0.1,DISTANCE AFTER=0.1
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO

  • Can you share the whole code? The lack of any whole numbers for your features is a bit concerning.

  • I use clearance plane and move points between features, and I

    B1         =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<25.2111,1.7607,0.113>,<0,0,1>,0.2
                ACTL/<25.2111,1.7607,0.113>,<0,0,1>,0.2
                TARG/<25.2111,1.7607,0.113>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,DEPTH=0.03,PITCH=0
                  SAMPLE METHOD=SAMPLE_FEATURE
                  SAMPLE FEATURE=NONE
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=0.1,DISTANCE AFTER=0.1
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
    CIR14      =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<25.2358,0.8864,0.113>,<0,0,1>,0.4755
                ACTL/<25.2358,0.8864,0.113>,<0,0,1>,0.4755
                TARG/<25.2358,0.8864,0.113>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,DEPTH=0.03,PITCH=0
                  SAMPLE METHOD=SAMPLE_FEATURE
                  SAMPLE FEATURE=NONE
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=0.1,DISTANCE AFTER=0.1
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
                MOVE/POINT,NORMAL,<25.2358,0.8864,0.2425>
                TIP/T1A75B180, SHANKIJK=0, -0.9659, 0.2588, ANGLE=180
                MOVE/POINT,NORMAL,<0.4001,-0.5,2>
    CIR11      =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<0.4001,0,0.66>,<0,-1,0>,0.5
                ACTL/<0.4001,0,0.66>,<0,-1,0>,0.5
                TARG/<0.4001,0,0.66>,<0,-1,0>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,DEPTH=0.02,PITCH=0
                  SAMPLE METHOD=SAMPLE_FEATURE
                  SAMPLE FEATURE=NONE
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=0.1,DISTANCE AFTER=0.1
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
     use avoidance moves when creating circles/cylinders. I have linked the code for the last 3 features (including the section im having issues with). Im not sure if I am meaning to use the "offset from feature" or "offset along tip vector", as those were not things that I willfully chose to change.

  • The whole program? Its quite large. Not a problem though if needed.

  • It's fine if it's large. As long as you put it in a code block like you did above, it will be easier to digest.

  • It will be ok, we all stare at code all day, unless your one of the weirdos that uses summary mode....