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

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

TimSharp
Regular Member

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

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

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

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

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