hexagon logo

Iterative alignment and using XactMeasure

Alright here is my problem/question.
I have a part where Datum -A- (Z axis) is not prismatic, however datum -B- (X axis) and -C- (Y axis) are.

I do not have much experience with Iterative alignments other than that I have been to the Level 2 Hexagon class (Just don't use them or have the need too).

My thoughts were, this is a good time, to try an Iterative alignment.
I believe I have that part of the program correct:
I created 6 auto vector points on top (Datum -A-),
then 5 auto vector points on left side (Datum -B-)
then finally 5 auto vector points on the front of the part (Datum -C-).

When I create the Iterative alignment I pick top 6 points as level (Datum -A-),
5 points on left rotate (Datum -B-),
then 5 points on front as origin (Datum -C-).

After completing this Iterative alignment my trihedron doesn't move from before the alignment.
So I constructed planes out of the five points for datum -B- and -C- respectively.
I then origin my "X" to Datum -B- and my "Y" to datum -C-.
How do I origin my "Z", and how do I assign my datum -A- for exact measure? Where did I go wrong? Please any help would be greatly appreciated.
Parents
  • Thank you for the thorough explanation of Iterative alignments. I think there is one misunderstanding, that is entirely my fault, because I did not explain it entirely.Slight smile My customer supplied model comes to me with the CAD origin (Trihedron) in aircraft/car body coordinates. I then transform my model in a way that it is square with my machine and the origin is now in a hole that we do a read point alignment with and run the entire part in DCC. So my question is if my trihedron is not at the A-B-C alignment, how do I report my true position, and profile dimensions to a A-B-C FCF? I do not want my report in aircraft or car body coordinates either. I want my dimensions to come from my Datums A-B-C. I think this eliminates using a Iterative alignment, because I did some tests today and the Iterative alignment will use the origin from wherever it is on the model, not necessarily from the Datums?

    1. You're totally overthinking this.
    2. See below.


    [hijack]
    Josh, I appreciate the detailed explanations here. Like BWIZZLE, I went to Level 2 training but never fully grasped Iterative alignments because our shop does not make use of them. I have to ask, though, if the origin does not move following iteration then what is the value of this type of alignment?

    I only use alignments to manipulate the coordinate system as a means for measuring other features. If Iterative Alignment instead moves the measured values closer to the nominals then is the goal only to reduce probing error of the alignment features? Would I then create a regular alignment to move my coordinate system to the alignment features?

    I've tried many times to wrap my head around this, but I just can't seem to understand the application.
    [/hijack]



    Head wrapping for all:
    Let's say the 123 block is given to you in a CAD file, but in that CAD file the corner of the A, B, and C planes is sitting at X 1000, Y -500, and Z 300.
    Also, the block is tilted 45 degrees in YZ and 10 degrees in ZX.

    You pick a minimum of 3 points on Datum A face, a minimum of 2 points on Datum B face, and minimum 1 point on Datum C face.
    Note these points will have wacky nominal XYZ values in the X 1000, Y -500, and Z 300 neighborhhod - as well as wacky IJK values as the faces are at compound angles.

    You create the Iterative, and run it.
    Your manual points are taken and PC-DMIS creates an alignment that tries to MOVE all actual measured results as a package to get each of them as close to their nominals as possible.
    It gets close, and then re-measures the points in DCC for less cosine error and repeats the process until it gets as little deviation as possible.
    When it's done, the part is fully aligned to the datums.
    However, the datum points are not sitting at zero on each X, Y and Z scale - they are sitting at their nominal coordinates as defined in the original CAD coordinate system. So the corner of the block is now sitting at X 1000, Y -500, and Z 300, and points taken on those datum faces will have wacky XYZ-IJK nominals but T-value deviations very close to zero (if the faces are flat ha ha).

    The model's nominals are in a CAD coordinate system, and Iterative merely takes the CMM-Startup-relative actuals and moves them as close as possible to the CAD coordinate system.

    ~~~

    Xactmeasure mode is different than Legacy Mode.
    In Legacy Mode, the nominals and actuals are relative to the current alignment.
    In Xactmeasure, the datum inputs are used to create a miniature custom alignment and new nominals and actuals are calculated internally based on that.

    So, on the Tilted-in-CAD 123 block: we need to measure a hole drilled in the A face to ABC. The nominal centerpoint of the hole is some wacky XYZ number near the X 1000, Y -500, and Z 300 area - but in a print view tilted to look normal down at the Datum A face we see that the hole is really 1" from the B edge and 0.5" from the C edge.

    In Xactmeasure mode, a miniature custom alignment and new nominals and actuals are calculated: the new nominals of that hole for dimensioning purposes only are X 1.000, Y 0.500, Z 0.00, and the results will be in similar format.

    In Legacy mode with the Iterative Alignment as current, the results would be output in the X 1000, Y -500, and Z 300 area system...

    ...unless you went and made Another Alignment that leveled to a plane on A, rotated to a line/plane on B, and origined on C. Then you would see results in the X 1.000 Y 0.500 Z 0.000 system you just made.

    On BWIZZLE's part, there is no way to Level to the irregular A datum. There's also no way to define it as a single 3D feature (plane or cylinder) that could be used for leveling by an Xactmeasure internal calculation. Therefore, the best way is (as I explained above) a good Iterative - which has been written - and some good Legacy position dimensions.

    /THREAD
Reply
  • Thank you for the thorough explanation of Iterative alignments. I think there is one misunderstanding, that is entirely my fault, because I did not explain it entirely.Slight smile My customer supplied model comes to me with the CAD origin (Trihedron) in aircraft/car body coordinates. I then transform my model in a way that it is square with my machine and the origin is now in a hole that we do a read point alignment with and run the entire part in DCC. So my question is if my trihedron is not at the A-B-C alignment, how do I report my true position, and profile dimensions to a A-B-C FCF? I do not want my report in aircraft or car body coordinates either. I want my dimensions to come from my Datums A-B-C. I think this eliminates using a Iterative alignment, because I did some tests today and the Iterative alignment will use the origin from wherever it is on the model, not necessarily from the Datums?

    1. You're totally overthinking this.
    2. See below.


    [hijack]
    Josh, I appreciate the detailed explanations here. Like BWIZZLE, I went to Level 2 training but never fully grasped Iterative alignments because our shop does not make use of them. I have to ask, though, if the origin does not move following iteration then what is the value of this type of alignment?

    I only use alignments to manipulate the coordinate system as a means for measuring other features. If Iterative Alignment instead moves the measured values closer to the nominals then is the goal only to reduce probing error of the alignment features? Would I then create a regular alignment to move my coordinate system to the alignment features?

    I've tried many times to wrap my head around this, but I just can't seem to understand the application.
    [/hijack]



    Head wrapping for all:
    Let's say the 123 block is given to you in a CAD file, but in that CAD file the corner of the A, B, and C planes is sitting at X 1000, Y -500, and Z 300.
    Also, the block is tilted 45 degrees in YZ and 10 degrees in ZX.

    You pick a minimum of 3 points on Datum A face, a minimum of 2 points on Datum B face, and minimum 1 point on Datum C face.
    Note these points will have wacky nominal XYZ values in the X 1000, Y -500, and Z 300 neighborhhod - as well as wacky IJK values as the faces are at compound angles.

    You create the Iterative, and run it.
    Your manual points are taken and PC-DMIS creates an alignment that tries to MOVE all actual measured results as a package to get each of them as close to their nominals as possible.
    It gets close, and then re-measures the points in DCC for less cosine error and repeats the process until it gets as little deviation as possible.
    When it's done, the part is fully aligned to the datums.
    However, the datum points are not sitting at zero on each X, Y and Z scale - they are sitting at their nominal coordinates as defined in the original CAD coordinate system. So the corner of the block is now sitting at X 1000, Y -500, and Z 300, and points taken on those datum faces will have wacky XYZ-IJK nominals but T-value deviations very close to zero (if the faces are flat ha ha).

    The model's nominals are in a CAD coordinate system, and Iterative merely takes the CMM-Startup-relative actuals and moves them as close as possible to the CAD coordinate system.

    ~~~

    Xactmeasure mode is different than Legacy Mode.
    In Legacy Mode, the nominals and actuals are relative to the current alignment.
    In Xactmeasure, the datum inputs are used to create a miniature custom alignment and new nominals and actuals are calculated internally based on that.

    So, on the Tilted-in-CAD 123 block: we need to measure a hole drilled in the A face to ABC. The nominal centerpoint of the hole is some wacky XYZ number near the X 1000, Y -500, and Z 300 area - but in a print view tilted to look normal down at the Datum A face we see that the hole is really 1" from the B edge and 0.5" from the C edge.

    In Xactmeasure mode, a miniature custom alignment and new nominals and actuals are calculated: the new nominals of that hole for dimensioning purposes only are X 1.000, Y 0.500, Z 0.00, and the results will be in similar format.

    In Legacy mode with the Iterative Alignment as current, the results would be output in the X 1000, Y -500, and Z 300 area system...

    ...unless you went and made Another Alignment that leveled to a plane on A, rotated to a line/plane on B, and origined on C. Then you would see results in the X 1.000 Y 0.500 Z 0.000 system you just made.

    On BWIZZLE's part, there is no way to Level to the irregular A datum. There's also no way to define it as a single 3D feature (plane or cylinder) that could be used for leveling by an Xactmeasure internal calculation. Therefore, the best way is (as I explained above) a good Iterative - which has been written - and some good Legacy position dimensions.

    /THREAD
Children
No Data