Blender YASim import

From FlightGear wiki
Jump to navigation Jump to search
YASim FDM and aircraft model, overlayed in Blender.

Load and visualize YASim FDM geometry in Blender 2.8/9.

Due to the major changes in Blender, from version 2.4 to 2.5, the original script, by M. Franz, had to be ported. For Blender versions prior to 2.5 please see the original script.[1]



- (merged fork updates for 2.8, tested on 2.93)

- (fork, maybe more up to date)

Install it as blender addon[2]:

Download and unzip the script on your local computer.

Start Blender and go to Edit --> Preferences... --> Addons.

Click on Install... and select the downloaded script

Tick the checkbox to enable the script.

Make sure Auto-Save Preferences is set or save manually (bottom left).



YASim FDM and aircraft model, overlayed in Blender. Addon interface marked.

An instance called YASim XML Importer should appear at the bottom of the User Interface Panel. This is the panel that get's called by pressing "n", when in the viewport (see image).
Usage is pretty much self-explanatory. However some notes:

When loading the Pivot center for rotation/scaling should not be set to "3D Cursor", or your cockpit, tanks, ballasts etc. will get messed up. I'd suggest Median Point but I think any other works. [3]

The clear button simply deletes all items named YASim_* in the current context.

When reloading the clear function get's executed first, then the last opened file is reimported.

Loading of multiple FDMs at the same time is not supported.

Always use the same Blender layer when operating the FDM interface.

Comparing to your aircraft model

You can use separate layers for your "real" aircraft model, of course.

Specifying an offset, in the form of <!-- offsets: x=3.45 z=-0.4 p=5 --> is no longer supported.

If your aircraft model is displaced with respect to the FDM you have to manually correct this offset.

Example workflow:

  1. Open your "real" aircraft model and save it as a "compare" model. Move the aircraft to layer two.
  2. Remove unneccessary objects. Make it transparent or display it as wireframe, as you wish.
  3. Correct the offset by moving your model, if necessary.
  4. Save this compare model.
  5. Go to layer one and load the YASim FDM XML.
  6. Now you can enable both layers and comfortably compare them.
  7. When you're adapting your FDM, select the FDM layer, and click on Reload to make the changes effective.

Coordinate Systems

FG: The coordinate system FlightGear uses for it's 3-D aircraft models.[4]

YASim: The YASim coordinate system. This matches what is specified in the FDM XML file.[5]

By default the FG coordinate system is used.

You can switch the coordinate systems at any time. The FDM elements are loaded/adapted accordingly.

Imported items

  • Imported items are locked by default, to prevent accidental transformations (location, rotation, scale).
  • YASim item names are shown by default in the viewport. (Controllable by a checkbox.)
  • Every item get's a material assigned. Materials are reused.
  • As of version 0.6 material transparency is enabled by default.

XML Elements

Mostly, the elements are displayed as in the original script[6].

  • The <dir> element is not supported for now.
Imported propeller item, in Blender, marked.
  • <propeller> The propeller is always vertical and it's thrust vector always points along the x-Axis.
  • <rotor> One blade is shown, where the initial angle phi0 is ignored.
The incidence is shown at the blade root, where chord is simply used for the length. The blade tip is always flat (at a zero degree incidence). When ccw = 0 the incidence angle is currently inverted. However, it is unclear wether this is correct (?).
The entire rotor is rotated according to the normal vector (pointing "up").
Finally, the forward vector is drawn as it is defined.

Bugs / Nice to have

  • Calculate and draw the aircraft center of gravity by click (through the standalone YASim).
  • Currently no custom error handling is implemented.
  • Suggestions ?

Please report any bugs, questions or suggestions to the forum topic.[7]

Bugs may also go to the github issues.