8.6 BHM Movement Trajectory
Add BHM Movement Trajectory
The BHM Movement Trajectory dialogue for adding BHM movement trajectory 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 Movement Trajectories group context menu in the Tree View
with the BHM->BHM Movement Trajectory… command from main menu
Edit BHM Movement Trajectory
The BHM Movement Trajectory dialogue for editing BHM movement trajectory can be invoked:
with the command from the selected movement trajectory context menu in the Tree View
with the doubleclick on the selected movement trajectory in BHM Movement Trajectories group in the Tree View
The Name is used to identify the name of the movement trajectory.
The movement trajectory can be used in XY plane or along Z axis. For the XY usage we need to define dX and dY values and dZ for Z usage. dX, dY and dZ values represent the shift of the load position with reference to the initial position.
The Add button appends one trajectory step to the list.
The Delete button removes selected trajectory steps from the list.
The Up button moves trajectory step one step up on the list.
The Down button moves trajectory step one step down on the list.
The Import… button loads the trajectory data from *.md3 file.
The Export… button saves the trajectory data to *.md3 file.
Each BHM movement trajectory defined in the project can be assigned to the geometrical object(s) we want to move during the BHM simulation.
Python code
The python code, which can be useful when creating project scripts, generated by Create BHM Movement Trajectory dialogue for the above parameters is as follows:
from FreeCAD import Base
QW_Modeller.addQWObject("QW_Modeller::BHMMovementTrajectory","movetraj")
App.ActiveDocument.movetraj.MovementType = "XY"
App.ActiveDocument.movetraj.dX = [27.00000,54.00000,81.00000,54.00000,27.00000,0.00000]
App.ActiveDocument.movetraj.dY = [52.00000,52.00000,0.00000,-52.00000,-52.00000,0.00000]
App.ActiveDocument.movetraj.dZ = [0.00000,0.00000,0.00000,0.00000,0.00000,0.00000]
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")