Overview
Creating a Generic Revit Family that could be rotated by a Parameter proved to be a much more complicated task than expected. Rotation about the Z-Axis is easily achievable, but rotating about the X- or Y-Axes seems to yield varying results such as "Constraints are not satisfied" or "Can't rotate element into this position".
When creating 3D geometry, adding a parameter to an angular dimension, an error sometimes occurs as shown below.
Adding the parameter:
Attempting to edit the parameter:
The error that occurs:
An error also occurs when loading this family into a Revit project, and attempting to rotate it around the X- or Y-Axes:
Changing the "Always Vertical" and "Work Plane-Based" check boxes does not seem solve this issue either.
Solution(s)
By exporting the 3D geometry to AutoCAD, then re-importing it, seems to solve this problem.
Export from a 3D View in the Family dcoument, using "ACIS Solids":
Delete the existing geometry and import the previously exported DWG, you do not have to open it in AutoCAD prior to this step:
Unpin the imported model an optionally Explode or Partially Explode the model:
Rotate the model in an Elevation View and Add an Angular Dimension and Assign a Parameter:
Test the Parameter by changing the rotation value:
Load into a Project and use the Parameter:
Note(s)
Some 3D model might work without the need for these steps, and there are other more complex solutions out there. I find this method the easiest and fastest.
Conclusion
Exporting and then re-importing 3D geometry in a Revit Family to DWG (depending on the Family template) would solve the multi-axes rotation issue in most cases.