hexagon logo

Validate my method is fine please (programmers differ in opinion)

Good Morning Interweb,

So I have a simple alignment. Plane A, circle B, circle C. I Leveled to the plane A and origin Z to it. Translate XY to circle B. Rotate to a line made from B to C. Done.

A different programmer believes I must rotate before translating.... I totally disagree on this simple alignment. Using Legacy btw.

Without being degrading... please reply.
  • IMO the only time the progressive alignment is actually useful is when your plane (for the alignment) is NOT a machine plane (as in, not square to a machine axis). I work with fixtures 99.999% of the time. They are flat to the machine. A plane on the fixture will show a MACHINE ALIGNMENT vector of 0.99999997 or some such. THAT is plenty close enough for you to measure a line or a circle and still get a manual alignment that is WAY MORE accurate than needed for the DCC alignment. It really is needed for portable arms, but not so much on a cmm machine.
  • I was taught (burnt n learnt with noms changing) that you have to level, rotate, origin then offset as needed. If you use a best fist for anything you need to lock the 6 DOF, then in another alignment following the lock down alignment use the best fit as needed. Another thing is when I create the 1st full 6 DOF alignment is to recall the STARTUP alignment to clear out anything that you or the software has inadvertently fubared
  • Quantifying actual cosine error contribution is pretty complex and depends on your probe diameter as well as how far from "normal" your part sits on the machine's volume.
    --If your actual part is a few degrees off, & you're using a 2mm or smaller probe, the chances of having cosine error contribution over 0.001" are pretty low. But, if your angle is off by 15 degrees or more, and/or you're using a larger probe, you can bet your rear that cosine error contribution is more significant.
  • Every single alignment that I make...I don't care what it is...goes like this:

    Recall STARTUP
    Level
    Rotate
    XYZ Origin

    In that exact order

    Allows me to look at any alignment and know exactly what is going on without having to jump around & figure it out
  • Once I have my main alignment set up ( A-B-C- for instance ) every recall goes back to that. ( similar to what Dan stated above ). I understand the reason you do this is that if you hose the alignment and miss a Degree Of Freedom, the tri-hedron will tell you that when you recall startup. That being said, I have no issues changing an X -Y or Z origin without a new level or rotate. If I do need a NEW LEVEL or ROTATION, I will always do a 100% complete complete self contained alignment.
  • I was going through my old level 101 stuff and I found this on auto-align. This is the progressive style alignment.

    1. Measure Plane.
    2. Open alignment dialog box and select Plane.
    3. click auto-align.

    1. Measure Line.
    2. Open alignment dialog box and select Plane and Line.
    3. click auto-align.

    1. Measure Point.
    2. Open alignment dialog box and select Plane, Line, and Point.
    3. click auto-align.

    There is also a note saying that any alignment that constrains all 6 DOF, recalls startup.​​
  • The reason we teach Level > Roate > Origin, is that for Level 1 (or 101 as you call it across the pond), is that if you do it that way it will always be correct. At the initial stage of programming, it's sometimes easier to teach a method that will produce the correct results, without having to teach the 'why'.

    In your case, Level Z, origin Z, Origin XY, then Rotate will also be fine.


    When we do a rotation, we rotate the specified axis to the vector of the selected feature, (or the vector of the line between the centers if you select two features) about the current origin.

    So for a plane-line-point (for example) you must rotate first.

    For a Plane>Circle>Circle it makes no difference.







  • it's sometimes easier to teach a method that will produce the correct results, without having to teach the 'why'.


    but why? for what the courses cost now they should know why its the correct method. All to often i see "young" programmers that know how to do something but not why. Take for example when you use vector points to construct datum A plane they all know to select "primary" datum in the drop down, but don't know why its different then "best fit" or "BF recomp". I get that there are only so many hours in a day.
  • It's a proven learning/curriculum strategy.
    If you try to teach every detail in an introductory course, 90% of the details or other ways, or why's will not only confuse beginners, but most of it won't be absorbed or comprehended. You ultimately inhibit the learning process by overloading someone walking in off the street with that level of detail.
    101 = fundmentals. you need to know how to crawl before you learn to walk
    201 = you're moving, and can now learn the techniques to get off your knees and walk at your leisure
    301 = here's some detailed tips and tweaks to learn how to sprint, hopefully faster than even the instructor.
  • What louisd said basically. We get a wide range of abilities and previous experience on a level 1 course.

    I could impart in great detail they 'why's' and maybe a quarter of the students would benefit. The other three quarters would potentially get confused and ultimately disheartened and lose confidence.

    The brighter ones will either ask the questions, or figure it out, or self-teach (like a lot of the folks on here).

    For level 1 my aim is to have all students to be able to return to their companies and write accurate and robust programs.

    Sometimes you get lucky and have a bright group, and you can explain stuff a bit more - those are the courses that are more fun from my perspective - but it's also really satisfying to take a group of student with no previous CMM experience, and get them programming to a good standard in five days.