hexagon logo

Iterative alignment transformation matrix

Is there an easy way to report out the transformation matrix that is applied by an iterative alignment? I want to recall an alignment from a previous fixture alignment and then run an iterative alignment on the part on that fixture and report out the exact rotations and translations used to transform from one alignment to the next.

Thanks for any help.
Parents
  • I try to explain, even if it's a little hard for me in english !!!
    For the "format" function, it's usefull for 2 things : first, it removes the "<" and ">" of a vector or a point value - second, it allows you to write more values than decimal place does.
    For the matrix rotation, if you turn around Z of an angle A, the matrix is wrote like this :
    Cos A Sin A 0
    -Sin A Cos A 0
    0 0 1
    If you do another rotation around another axis, you write another matrix like this one, but cos, sin , 0 and 1 change of place.
    The total rotation matrix result is the product of the first by the second (etc if there are more rotations).
    If you construct a first alignment, for example INIT_REF, then you measure a second alignment (END_REF), you recall init_ref and you assign what I wrote in the first reply.
    ASSIGN\V1=FORMAT("%3.3f,%3.3f,%3.3f",END_REF.ORGIN )
    ASSIGN\V2=FORMAT("%3.8f,%3.8f,%3.8f",END_REF.XAXIS )
    ASSIGN\V3=FORMAT("%3.8f,%3.8f,%3.8f",END_REF.YAXIS )
    ASSIGN\V4=FORMAT("%3.8f,%3.8f,%3.8f",END_REF.ZAXIS )

    You can create a generic feature point with x = V1.X,Y=V1.Y and Z = V1.Z.
    It's the origin of END_REF.
    You can create a plane with X=V1.X,Y=V1.Y and Z = V1.Z and I=V4.X,J=V4.Y and K=V4.Z, and create Z axis of END_REF. The same for X and Y planes.
    If you write matrix in a text file, you can recall values with read function.
    I use it when the init ref is not easily accessible all the long of measurement (after a reversal, for example)

    I hope it's clear, I'm not sure !!!!!!
Reply
  • I try to explain, even if it's a little hard for me in english !!!
    For the "format" function, it's usefull for 2 things : first, it removes the "<" and ">" of a vector or a point value - second, it allows you to write more values than decimal place does.
    For the matrix rotation, if you turn around Z of an angle A, the matrix is wrote like this :
    Cos A Sin A 0
    -Sin A Cos A 0
    0 0 1
    If you do another rotation around another axis, you write another matrix like this one, but cos, sin , 0 and 1 change of place.
    The total rotation matrix result is the product of the first by the second (etc if there are more rotations).
    If you construct a first alignment, for example INIT_REF, then you measure a second alignment (END_REF), you recall init_ref and you assign what I wrote in the first reply.
    ASSIGN\V1=FORMAT("%3.3f,%3.3f,%3.3f",END_REF.ORGIN )
    ASSIGN\V2=FORMAT("%3.8f,%3.8f,%3.8f",END_REF.XAXIS )
    ASSIGN\V3=FORMAT("%3.8f,%3.8f,%3.8f",END_REF.YAXIS )
    ASSIGN\V4=FORMAT("%3.8f,%3.8f,%3.8f",END_REF.ZAXIS )

    You can create a generic feature point with x = V1.X,Y=V1.Y and Z = V1.Z.
    It's the origin of END_REF.
    You can create a plane with X=V1.X,Y=V1.Y and Z = V1.Z and I=V4.X,J=V4.Y and K=V4.Z, and create Z axis of END_REF. The same for X and Y planes.
    If you write matrix in a text file, you can recall values with read function.
    I use it when the init ref is not easily accessible all the long of measurement (after a reversal, for example)

    I hope it's clear, I'm not sure !!!!!!
Children
No Data