Hide Table of Contents
ICreateTransform Method (IMathUtility)

Creates a new math transform.

.NET Syntax

Visual Basic (Declaration) 
Function ICreateTransform( _
   ByRef ArrayDataIn As Double _
) As MathTransform
Visual Basic (Usage) 
Dim instance As IMathUtility
Dim ArrayDataIn As Double
Dim value As MathTransform
 
value = instance.ICreateTransform(ArrayDataIn)
C# 
MathTransform ICreateTransform( 
   ref double ArrayDataIn
)
C++/CLI 
MathTransform^ ICreateTransform( 
&   double% ArrayDataIn
) 

Parameters

ArrayDataIn
  • in-process, unmanaged C++: Pointer to sixteen (16) components of the transform (see Remarks)
  • VBA, VB.NET, C#, and C++/CLI: Not supported
  • See In-process Methods for details about this type of method.

    Return Value

    Newly created math transform or NULL if the operation fails

    Remarks

    Transformation matrix data:

         |a b c . n |

          |d e f . o |

          |g h i . p |

          |------. --|

          |j k l . m |

    The SolidWorks transformation matrix is stored as a homogeneous matrix of 16 elements, ordered as shown. The first 9 (a to i) are elements of a 3x3 rotational sub-matrix, the next 3 (j,k,l) define a translation vector, the next 1 (m) is a scaling factor. The last 3 elements (n,o,p) are unused in this context.

    The 3X3 rotational sub-matrix represents 3 axis sets: row 1 for x-axis components of rotation, row 2 for y-axis components of rotation, and row 3 for z-axis components of rotations. The 3 axes are constrained to be orthogonal and unified so that they produce a pure rotational transformation. Reflections can also be added to these axes by setting the components to negative. The rotation sub-matrix coupled with the lower-left translation vector and the lower-right corner scaling factor creates an affine (a transformation that preserves lines and parallelism -- maps parallel lines to parallel lines.)

    If the 3 axis sets of the 3x3 rotational sub-matrix are not orthogonal or unified, then they are automatically corrected according to the following rules:

    • If any axis is 0, or any two axes are parallel, or all axes are coplanar, then an identity matrix replaces the rotational sub-matrix.

    • All axes are corrected to be of unit length.

    • The axes are built to be orthogonal to each other in the prioritized order of Z, X, Y (X is orthogonal to Z, Y is orthogonal to Z and X).

    This is compliant with ISO10303 STEP part 42.

     

    See Also

    Availability

    SolidWorks 2001 FCS, Revision Number 9.0


    Provide feedback on this topic

    SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

    * Required

     
    *Email:  
    Subject:   Feedback on Help Topics
    Page:   ICreateTransform Method (IMathUtility)
    *Comment:  
    *   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

    Print Topic

    Select the scope of content to print:

    x

    We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

     Never show this message again
    x

    Web Help Content Version: API Help (English only) 2012 SP05

    To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

    To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.