cancel
Showing results for
Did you mean:
cancel
Showing results for
Did you mean:

Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X

6-Contributor

## Can someone explain the 3d transform command for Cad Process?

I'm wondering how you use the 3d transform command within macros.

I want to let users set a rotation angle and then click on x, y or z icons to rotate that amount on a 3d drawing.

Problem is that macro help doesn't explain how it's used.

The syntax is just:

3D TRANSFORM 3d-matrix

and the example is:

#stretching the drawing to double size

#along the y-axis
3D TRANSFORM 1 0 0 0 0 2 0 0 0 0 1 0 0 0 0 0

I can't find any reference to this 3d-matrix - how are we to know what each number represents?

I've recorded some macros setting the Y angle rotation to 90 degrees but this hasn't helped me understand the matrix any better as it comes up with:

3D Transform 0 0 (-1) 0 0 1 0 0 1 0 0 0 0 0 0 1

No record of 90 degrees in that matrix, so I guess one of the numbers - "1" or "(-1)" must refer to the 90 degrees.

2 REPLIES 2
1-Newbie
(To:TimSharp)

You can read the 16 values as the four rows of a 4x4 transformation matrix.
Here you can find a nice short description how to get such a matrix from rotation values:

http://planning.cs.uiuc.edu/node104.html

E.g.:

Macro Rotate_3d_y
Define beta as Float
beta = Get Float "Rotation angle around y "
3D Transform \
cos(beta) 0 sin(beta) 0 \
0 1 0 0 \
(-sin(beta)) 0 cos(beta) 0 \
0 0 0 1
End Macro

6-Contributor
(To:bgraffmann)

Thanks for that.

I won't pretend to understand it, but at least it explains that the numbers all represent something and I'll work on your example - much appreciated.

Announcements

Top Tags