volmdlr_tools.graph.kinematics package#
Kinematics analysis tools for finding joints and computing torsors between solids.
Submodules#
volmdlr_tools.graph.kinematics.findjoint module#
Specific module to find the joint between two solids using only geometric constraints.
- class volmdlr_tools.graph.kinematics.findjoint.JointFinder(geometric_constraints: list[GeometricConstraint], solid1: Solid, solid2: Solid, name: str = '')#
Bases:
DessiaObjectClass to find joint between two solids.
- analyse_intersection_result() KinematicTorsor#
Analyze the vector from the intersection of subspaces.
- static analysis(torsor: Torsor, solid1: Solid = None, solid2: Solid = None, geometric_constraints: GeometricConstraint = None) <module 'volmdlr_tools.graph.utils.joint_types' from '/builds/dessia/sdk/volmdlr_tools/src/volmdlr_tools/graph/utils/joint_types.py'>#
Return the type of joint from the type of equivalent torsor.
- check_direction(tol: float = 0.001) bool#
Check if constraints are globally aligned with reference frame.
- check_displacement() Torsor#
Force to displace plane when there is plane and cylindrical constraints.
- construct_matrix_dof() ndarray#
Construct the matrix of all constraints.
- static count_dof_constraints(torsors: Torsor, threshold: float = 0.01)#
Compute the numbers of blocked degree of freedom.
- create_torsor_from_unconstrained() Torsor#
Generate a Torsor from the dof that have never been blocked.
- detect_minimal_constraints() dict[str, int]#
Return which constraints is never blocked.
- find_subspace_intersection(matrix: ndarray, subspace_dims: list[int]) ndarray | None#
Compute the intersection between constraints.
- get_dict_constraints_name() dict[str, Torsor]#
Link the name of the geometric_constraints to his torsor.
- get_kinematic_list() list[ndarray]#
Return the list of cinematic torsor.
- get_most_unknown() int#
Get the key of a constraint with the most static unknown.
- get_torsor_kinematic_list() list[KinematicTorsor]#
Return the list of KinematicTorsor object.
- get_torsor_static_list() list[StaticTorsor]#
Return the array corresponding of static torsor.
- joint_torsor() KinematicTorsor#
Compute the equivalent torsor between two solids.
- merge_torsors(torsor: Torsor) Torsor#
Compute the merge of the equivalent torsor and the torsor of unblocked dof.
- should_merge_torsors(merge_threshold: float = 0.9) bool#
Check if the mechanism is deeply connected or not.
volmdlr_tools.graph.kinematics.torsor module#
Class to represent and manipulate torsor object.
- class volmdlr_tools.graph.kinematics.torsor.DynamicTorsor(resultant: Vector3D, moment: Vector3D, position: Point3D, name: str = '')#
Bases:
TorsorClass to represent and manipulate Dynamic Torsor.
- static type() str#
Get Torsor type.
- class volmdlr_tools.graph.kinematics.torsor.GeometricTorsor(resultant: Vector3D, moment: Vector3D = None, position: Point3D = None, name: str = '')#
Bases:
TorsorClass to represent and manipulate Geometric Torsor.
- classmethod from_kinematic_torsor(kinematic_torsor: KinematicTorsor) GeometricTorsor#
Return GeometricTorsor from a Kinematic Torsor.
- geometric_torsor_matrix() list[GeometricTorsor]#
Return the matrix that contains all GeometricTorsor.
- geometric_torsor_rotation_x() GeometricTorsor#
Geometric torsor of rotation along x.
- geometric_torsor_rotation_y() GeometricTorsor#
Geometric torsor of rotation along y.
- geometric_torsor_rotation_z() GeometricTorsor#
Geometric torsor of rotation along z.
- geometric_torsor_translation_x() GeometricTorsor#
Geometric torsor of translation along x.
- geometric_torsor_translation_y() GeometricTorsor#
Geometric torsor of translation along y.
- geometric_torsor_translation_z() GeometricTorsor#
Geometric torsor of translation along z.
- static type() str#
Get Torsor type.
- class volmdlr_tools.graph.kinematics.torsor.KinematicTorsor(resultant: Vector3D, moment: Vector3D, position: Point3D, name: str = '')#
Bases:
TorsorClass to represent and manipulate Kinematic Torsor.
- static type() str#
Get Torsor type.
- class volmdlr_tools.graph.kinematics.torsor.KineticTorsor(resultant: Vector3D, moment: Vector3D, position: Point3D, name: str = '')#
Bases:
TorsorClass to represent and manipulate Kinetic Torsor.
- static type() str#
Get Torsor type.
- class volmdlr_tools.graph.kinematics.torsor.StaticTorsor(resultant: Vector3D, moment: Vector3D, position: Point3D, name: str = '')#
Bases:
TorsorClass to represent and manipulate Static Torsor.
- static type() str#
Get Torsor type.
- class volmdlr_tools.graph.kinematics.torsor.Torsor(resultant: Vector3D, moment: Vector3D, position: Point3D, name: str = '')#
Bases:
DessiaObjectClass to represent and manipulate Torsor.
- check_direction_dof() bool#
Check if the equivalent torsor is rotation and translation.
- check_rotary() bool#
Check if the equivalent torsor is only rotation.
- compute_norm() float#
Compute the norm of a Torsor to count dof.
- classmethod dict_to_object(dict_: dict[str, Any], **kwargs) SerializableObject#
Deserialize a dictionary to a Torsor object.
- get_unknown() int#
Compute the number of unknown.
- moment_dual() Vector3D#
Convert the resultant from a torsor to the moment of another.
- resultant_dual() Vector3D#
Convert the moment from a torsor to the resultant of another.
- to_dict(use_pointers: bool = True, memo=None, path: str = '#', **kwargs) dict[str, Any]#
Convert the Torsor object to a serializable dictionary.
- torsor_to_column(reference_position: Point3D) ndarray#
Convert torsor to column vector with 6 components.
- transport_moment(position: Point3D, tolerance: float = 1e-09) Vector3D#
Compute the new torsor at the position.
- transport_resultant(position: Point3D) Vector3D#
Compute the transport of moment for a torsor.
Module contents#
Kinematics module.