Package mbdyn :: Package elts :: Module joint :: Class RevoluteHinge
[hide private]

Class RevoluteHinge

source code

record.RecordBase --+                        
                    |                        
        record.Record --+                    
                        |                    
       common.BasicObject --+                
                            |                
  elements_base.CommonElement --+            
                                |            
    elements_base.ElementWithNode --+        
                                    |        
                          CommonJoint --+    
                                        |    
                        CommonJoint2Nodes --+
                                            |
                                           RevoluteHinge

A pivot hinge between two nodes. The rotation will occur around the node 1, the axis being defined by set_rotation_axis.

If an offset is applied on a clamped node 1, the center of rotation of the joint will move but the node will stay where it is. If an offset is applied on the node 2, the node will move, modifying its initial position due to the constraint.

Instance Methods [hide private]
 
__init__(self, name='revolute hinge') source code
 
set_default(self)
Set the default for a pivot hinge.
source code
 
set_offset1(self, *args, **kargs)
Set the relative offset of the node 1
source code
 
set_orientation_matrix1(self, *args, **kargs)
Set the orientation matrix of the node 1
source code
 
set_offset2(self, *args, **kargs)
Set the relative offset of the node 2
source code
 
set_orientation_matrix2(self, *args, **kargs)
Set the orientation matrix of the node 2
source code
 
set_rotation_axis(self, *args, **kargs)
The third axis of the revolute pin is supposed to be the axis of rotation of the joint.
source code

Inherited from CommonJoint2Nodes: attach_to_node, set_node1, set_node2, set_node_label

Inherited from CommonJoint: get_mbdyn_instance

Inherited from elements_base.ElementWithNode: set_relative_from

Inherited from elements_base.CommonElement: do_as_init, update

Inherited from common.BasicObject: get_lines, set_comment, set_label, set_name, set_simulation_ref

Inherited from record.Record: common_init_results, init_results, save, set_own_parameters, will_save, will_save_nothing, will_save_only

Inherited from record.RecordBase: collect_own_parameters, collect_parameters, set_own_para, set_parameters

Inherited from record.RecordBase (private): _collect_own_para

Method Details [hide private]

__init__(self, name='revolute hinge')
(Constructor)

source code 
Overrides: CommonJoint2Nodes.__init__

set_default(self)

source code 
Set the default for a pivot hinge. It will be a null offset and and identity matrix for its two connections
Overrides: elements_base.CommonElement.set_default

set_rotation_axis(self, *args, **kargs)

source code 
The third axis of the revolute pin is supposed to be the axis of rotation of the joint. This method will set the orientation_matrix1 and the orientation_matrix2 to the same value, that's why a matrix is expected. Example:
   joint.set_rotation_axis(two=(0., 1., 0.),
                           three=(1., 0., 0.))
It will make the joint rotate along the x axis of the joint reference frame. In that example, the two keyword is needed to build the orientation matrix, it confirms that the second axis of the joint reference frame is also the second axis of the joint orientation matrix. Another example for rotating along the y axis:
   joint.set_rotation_axis(one=(1., 0., 0.),
                           three=(0., 1., 0.))
You can still use that method if both orientation matrix are the same and you know them. If both orientation matrix are not the same, use set_orientation_matrix1 and set_orientation_matrix2 instead.
Decorators:
  • @_SetRevoluteDocumentation("orientation_matrix1", "orientation_matrix2")