How to adjust the DNS file for easyfly
(by rodeo)

v.1   27.09.2002


When we create a new model for easyfly, we have to create a new OBJ file for the geometry or use an existing one.
The flight model data are in the DNS file and in the first step we can copy this file from a similar model.


Get the aircraft properly to the ground:
Positive X value moves object to the nose
Positive Y value moves object to the left
Positive Z value moves object upwards

   Leftwheel.R = vector( -0.160, 0.30, -0.320 );
   Leftwheel.S = vector( -0.160, 0.30, -0.390 );
   Leftwheel.Radius = 0.0700;

    Rightwheel.R = vector( -0.160, -0.30, -0.320 );
    Rightwheel.S = vector( -0.160, -0.30, -0.390 );
    Rightwheel.Radius = 0.0700;

See formula for Z values: R - Radius = S


Switch from tailwheel to frontwheel if necessary:

    wheel Frontwheel;
    Frontwheel.R = vector( 0.59, 0.000, -0.36 );
    Frontwheel.S = vector( 0.59, 0.0, -0.39 );
    Frontwheel.Radius = 0.0400;

    wheel Tailwheel;
    Tailwheel.R = vector( -1.253, 0.000, -0.235 );
    Tailwheel.S = vector( -1.253, 0.0, -0.288 );
    Tailwheel.Radius = 0.0530;

How can you find the appropriate values?
Open the OBJ file, search for the section and read the coordinates there:

    # Object Leftwheel
    g Leftwheel
    texture pc9.bmp 1 1
    ambient 1.00 1.00 1.00
    diffuse 1.00 1.00 1.00 1.00
    specular 1.00 1.00 1.00
    shininess 0.20
    f tnv
    v -0.075215      0.314685          -0.353857 
    v -0.073143      0.324716          -0.357448 
    v -0.091392      0.324716          -0.362341 

Compare the columns and find a good median value to set into the DNS.
All aircrafts need the wheels, even gliders without visible wheels. 
These sections define the distance from aircraft to ground.
If your glider fuselage is half buried in the ground, you have to increase these values.

If your gear is not strong enough and brakes too easy, increase this value:

    Frontwheel.Kz = 4200.6313;

The propeller spins irregularly, we have to find the rotation axis.
Again, open the OBJ file, search for the section propeller and calculate a median value.
It has to be entered here:

    Propeller.R = vector( 0.845, 0.000, 0.05 );

In most cases you have to test it in easyfly, see the result and edit your values again.

The size of the propeller shadow should match the blade size of the model:

    Propeller.Radius = 0.33;

To modify the strength of the propeller, edit this value:

    Propeller.Area = 0.196;

Note for easyfly and aerofly pro:
In afpro the propeller consists of propeller and blades separately.
In easyfly the propeller contains both the nose and blades.
So if you use an afpro model the blades will not spin in easyfly.
This can only be changed in the 3D Meta file of the model.

Make ailerons, rudders and elevators movable:

You need a main section like Rightwing with an entry for the movable part:

    wing Rightwing;
    strcpy( Rightwing.Flap, "Rightaileron" );

    other examples:
    strcpy( Leftwing.Flap, "Leftaileron" );
    strcpy( Wingrud.Flap, "Rudder" );
    strcpy( RightStabilizer.Flap, "Rightelevator" );
    strcpy( LeftStabilizer.Flap, "Leftelevator" );

You need a  flap section with the movable part.
The rotation axes have to be set by the X, Y, Z entries
and attachment point has to be set by the R entry:

    flap Rightaileron;
    Rightaileron.X = vector( 0.980, 0.198, 0.006 );
    Rightaileron.Y = vector( 0.006, 0.001, -0.999 );
    Rightaileron.Z = vector( -0.198, 0.980, 0.000 );
    Rightaileron.R = vector( -0.17, -1.00, 0.0 );

    other examples:
    flap Leftaileron;
    flap Rudder;
    flap Rightaileron;
    flap Leftelevator;

Again, check the OBJ file for Rightaileron and find a median value of the X,Y,Z coordinates.
The attachment point is rather easy, but the rotation is a little bit fiddling.


If the reaction of your aileron is too strong, modify another value.

C0 is used for the center position of the flap,
    C1 is the maximum position. 

In our example you would decrease the C1 value, don't forget the other side.

    Leftwing.C0 = 0.0000;
    Leftwing.C1 = 0.7000;


Change the weight of your model in kg with this value:

    Dummy.M = 5.2;


For crash detection you need the tip sections:

    tip Upperpropellertip;
    tip Ruddertip;
    tip Leftwingtip;
    tip Lowerpropellertip;
    tip Rightwingtip;

Set the wingtips according to the wingspan of your aircraft.
Again read the values from the wing section of the OBJ file.

    Leftwingtip.R = vector( 0.100000, 1.3000, 0.0400 );

In this case, the tip point is 0.1m in front of the center of gravity, 1.3m to the left side, 0.04m above cg.

The stability can be set with the KZ value as seen already above.

    Leftwingtip.Kz = 2055.8784;

This is nearly all I know about DNS files of easyfly.
Now we look forward to see your aircraft in the sim!