Question about TMD-File Syntax

  • Hi all,

    in the last few days I had the time to analyse the tmd-file syntax a bit . Now I have some questions, maybe someone could help me.

    First of all, maybe a dumb question but in the rigidbody definition you have the position R0



    <[tmvector3d][InertiaLength][ 25.0 3.8 3.8 ]>

    <[tmvector3d][R0][-2.0 0.0 -1.2]>

    <[tmmatrix3d][B0][1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0]>

    <[tmvector3d][C0][1.3 5.838 -2.72]>

    <[tmmatrix3d][Inertia][34.959270 0.000000 0.000000 0.000000 4.370571 0.000000 0.000000 0.000000 39.174112]>

    I understood the rigidbody as a box that is connected to the graphic representation and interacts with the environment. Which position of the box does the position R0 refer to (the center?) ?

    My second question is, to connect two rigidbodies you can use jointlinear and multibody_joint what is the difference between these two variants?

    Thanks in advance!

    Kind regards


  • Hi Thomas,

    (try using the code </> section when pasting tmd code in the forum, it preserves most of the indentation and makes it able for all of us to copy paste things.)

    like this:

    1. <[rigidbody][Fuselage][]
    2. <[float64][Mass][25540.0]>
    3. <[tmvector3d][InertiaLength][ 25.0 3.8 3.8 ]>
    4. <[tmvector3d][R0][-2.0 0.0 -1.2]>
    5. <[tmmatrix3d][B0][1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0]>
    6. >

    The R0 position is a vector that represents the position of the center of mass of the rigidbody, relative to the aircraft's origin, which also happens to be the origin of the 3D model for all of our aircraft but doesn't have to be. So in almost all cases the position can be though of as relative to the 3d model origin.

    The rigidbody is an object affected by gravity which has a position, velocity, orientation and angular velocity and is affected by outside forces such as gravity. You can also add forces onto it with aerowings, wheels, propellers, engines, etc. and you can connect two rigidbodies using the joints.

    The graphic representation has nothing to do with the movements, the graphics just attaches to the position of the rigidbody (not the other way around).

    Jointlinear is a spring-damper system in all three dimensions (forward/backward x, left/right y, up/down z) as well as torsion springs and dampers around these axes. It can break off above a certain load but is computationally more expensive.

    On the other hand multibody_joint is a simplified connection between two rigidbodies, only one-dimensional, it can be either a rotation axis (like for the propeller shaft) or a linear displacement (like in a damper on a landing gear). It is used when you don't need the extra dimensions of freedom, e.g. you just want your prop to move around the axis, you don't want it to move forward, left or right of the center or rotation.