8.5 BHM Rotation Axis
Add BHM Rotation Axis
The BHM Rotation Axis dialogue for adding BHM rotation axis can be invoked:
· with the command in button in Model tab
· with the button in BHM tab
· with the command from BHM group context menu in the Tree View
· with the command from BHM Rotation Axes group context menu in the Tree View
· with the BHM->BHM Rotation Axis… command from main menu
Edit BHM Rotation Axis
The BHM Rotation Axis dialogue for editing BHM rotation axis can be invoked:
· with the command from the selected rotation axis context menu in the Tree View
· with the doubleclick on the selected rotation axis in BHM Rotation Axes group in the Tree View
The Name is used to identify the name of the rotation axis.
Rotation is facilitated around a point in the xy-plane, or in other words, around an axis parallel to the z-axis.
The Coordinates frame allows introducing X and Y coordinates of the rotation axis centre. The Z coordinate is used for the visualisation only and constitutes the middle of the rotation axis’ Height (indicated with small circle). If the Height is less or equal to 0, only small circle at Z coordinate will be visible.
Pressing the Auto button automatically adjusts the rotation axis height to the height of the project.
The Speed of rotation is given in rpm (revolutions per minute). Please note that the direction of rotation can be changed independently in every BHM step using different heating time steps defined in BHM Heating Steps dialogue.
Each BHM rotation axis defined in the project can be assigned to the geometrical object(s) we want to rotate during the BHM simulation.
Python code
The python code, which can be useful when creating project scripts, generated by Create BHM Rotation Axis dialogue for the above parameters is as follows:
from FreeCAD import Base
QW_Modeller.addQWObject("QW_Modeller::BHMRotationAxis","RotationAxis")
App.ActiveDocument.RotationAxis.Placement = Base.Placement(Base.Vector(40.0000000,50.0000000,0.0000000),Base.Rotation(0.0000000,0.0000000,0.0000000,1.0000000))
App.ActiveDocument.RotationAxis.Length = 200.00000
App.ActiveDocument.RotationAxis.SpeedRPM = 1.00000
Gui.ActiveDocument.RotationAxis.ShowText = True
Gui.ActiveDocument.RotationAxis.TextSize = 14
Gui.ActiveDocument.RotationAxis.TextPlace = 1
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")