Skip to main content
I am trying to build some 3D planes from XYZ centre points.

 

 

I have generated the planes using sector generator coerced these as polygons then 3d Forced them @ZValue  rotated them CLOCKWISE them using ) and I am stuck trying to get the resultant planes to rotate/tilt on their Z axis about their @ZValue centre using an @Value(Dip)

 

 

can someone please provide a screenshot of a 3DAffiner example of a Z-axis affine of say 10 degrees 

 

 

AND

 

 

a 3DRotator example of a custom axis example OR z-axis example to apply a 10 degrees to each plane element?

 

the help file for these two transformers are for irony and i am unable to debug why nothing is tilting.

 

 

Kind Regards,

 

Steve

 

 
Hi,

 

 

have you looked at this article on FMEPedia?

 

 

You can also download the sample workspaces used in the article.

 

 

David
3D rotation matrix:

 

 

Y-axis:

 

cos ?,0,sin?

 

0,1,0

 

-sin ?,0,cos ?

 

 

? = your rotation

 

 

every forth parameter (D,H andL) in the affiner is a "move" If u just rotate use 0 for every forth. 

 

 

If u only want to move an object and not scale and/or rotate it:

 

1,0,0,@MoveX

 

0,1,0,@KMoveY

 

0,0,1,@MoveZ

 

 

U can also use some math here.

 

 

rotate and move:

 

 

cos ?,0,sin?                        1,0,0,@MoveX

 

0,1,0                         +         0,1,0,@KMoveY   =    new transformmatrix

 

-sin ?,0,cos ?                      0,0,1,@MoveZ

 

 

etc.etc.

 

 

 

u can look up x and y-axis rotations on Wiki (keyword: rotationmatrix) or any mathsite.

 

 

haves funs!

 


Thank you for your replies. I have trawled wiki and FMEpedia at the 2.5D buildings example for a solution. Really I needed an application of the transformers which i could backwards engineer to my application.

 

This morning an ACE Safe employee, we shall call him 'Evan Angelist', helped me troubleshoot my workspace and we just wound up using a 3D rotation and then 2D rotation to accomplish what i was after.

 

 

so to apply the Dip angle to each feature about their centres used a 3DRotator.

 

Angle in degrees @Value(Dip)

 

rotate along : Custom axis

 

origin XYZ: pt_X, pt_Y, pt_Z

 

direction XYZ: pt_X, pt_Y, pt_Z

 

 

then a 2D rotator of dip_direction:

 

RotationAngle: )

 

X_origin: pt_X

 

Y Origin: pt_Y

 

(my values are cartesian 0=North and rotators are left turns in FME)

 

 

the separate steps made it easier to debug and acheived what i needed. But I will now go try your method Gio. because the 3dAffiner has higher score because of 'degree of difficulty' i reckon.

 

Cheers Gio and Dave,

 

Steve
Hey Steve,

 

 

In the first approach you took, which transformers did you use for the 3D and 2D rotations? I couldn't find anything under the name 3D/2DRotator and I am also having trouble with the 3DAffiner. I tried to rotate buildings in place (leaving the D, H, and L parameters blank), but still had a massive shift in my dataset. 

 

 

Thanks for any input!

 

Jon

Reply