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")