CreateTransform Method (IMathUtility)

Creates a new math transform.

# .NET Syntax

Visual Basic (Declaration)
```Function CreateTransform( _
ByVal ArrayDataIn As Object _
) As Object```
Visual Basic (Usage)
``````Dim instance As IMathUtility
Dim ArrayDataIn As Object
Dim value As Object

value = instance.CreateTransform(ArrayDataIn)``````
C#
```object CreateTransform(
object ArrayDataIn
)```
C++/CLI
```Object^ CreateTransform(
&   Object^ ArrayDataIn
) ```

#### Parameters

ArrayDataIn

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

#### 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.

# Availability

SolidWorks 2001 FCS, Revision Number 9.0

Provide feedback on this topic

* Required

 *Email: Subject: Feedback on Help Topics Page: CreateTransform 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) 2010 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.