Hide Table of Contents
CreateTransform Method (IMathUtility)

Creates a new math transform.

.NET Syntax

Visual Basic (Declaration) 
Function CreateTransform( _
   ByVal ArrayDataIn As System.Object _
) As System.Object
Visual Basic (Usage) 
Dim instance As IMathUtility
Dim ArrayDataIn As System.Object
Dim value As System.Object
value = instance.CreateTransform(ArrayDataIn)
System.object CreateTransform( 
   System.object ArrayDataIn
System.Object^ CreateTransform( 
&   System.Object^ ArrayDataIn



Sixteen (16) components of the transform (see Remarks)

Return Value

Newly created math transform or nothing or null if the operation fails



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 elements (a to i) are elements of a 3x3 rotational sub-matrix, the next 3 elements (j,k,l) define a translation vector, and the next 1 element (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
  • row 3 for z-axis components of rotation

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 transformation, which is a transformation that preserves lines and parallelism; i.e., 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).


See Also


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

Subject:   Feedback on Help Topics
Page:   CreateTransform Method (IMathUtility)
*   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:


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

Web Help Content Version: API Help (English only) 2013 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.