0% found this document useful (0 votes)
51 views

SODE JetwayControlSystem

The document summarizes the files and setup needed for the Jetway Control System SDK. Key files include the AircraftParameters.ini file which defines aircraft door parameters, the jetway.cfg file which defines parameters for each jetway model, and SODE_modeldef_entries.xml which defines animations. The maxscript SODE_Jetway_Creator.ms is used to automatically create jetway models with the correct naming and linking. Jetway models must be correctly aligned and structured with main, bridge, leg and other elements for the SDK to work properly.

Uploaded by

Akhil vjay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

SODE JetwayControlSystem

The document summarizes the files and setup needed for the Jetway Control System SDK. Key files include the AircraftParameters.ini file which defines aircraft door parameters, the jetway.cfg file which defines parameters for each jetway model, and SODE_modeldef_entries.xml which defines animations. The maxscript SODE_Jetway_Creator.ms is used to automatically create jetway models with the correct naming and linking. Jetway models must be correctly aligned and structured with main, bridge, leg and other elements for the SDK to work properly.

Uploaded by

Akhil vjay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

SODE // Jetway Control System

SDK
V1.6
02. January 2017

1 File/Folder Overview affected by the Jetway Control


System
Note: The path for SimObjects has changed since V1.3! They are now located in a common folder
at e.g. „C:\ProgramData\12bPilot\SODE\SimObjects“.

Important: Do not confuse C:\ProgramData with C:\Program Files (x86)!

<INSTALLDIR_PROGRAMDATA> C:\ProgramData\12bPilot\ (FIX!)

SODE SODE Program Data Folder


AircraftParameters.ini Parameter file for SubEngines (Jetways, VDGS)
SimObjectDisplayEngine.ini Module Settings
SimObjects SimObjects Common Folder

ProjectA Project A's SimObject Container


model.JetwayTypeA Folder for Jetway Model A
jetway.cfg Maxscript-generated Configuration File

model.cfg
MyJetwayA.mdl

model.JetwayTypeB
sound
texture
sim.cfg Must contain the line 'module=SODE'
in the [General] section!

Important! The [General] section in the sim.cfg must have the line „Module=SODE“ included,
else the jetway system won't work, e.g.:
[General]
Category=Viewer
Module=SODE

The highlighted files will be discussed in the following paragraphs.


2 Important Files needed by the Jetway Control
System
2.1 AircraftParameters.ini
Holds information about the aircraft door geometry. Each section entry represents an aircraft type,
so any A320 in the sim will be defined with the same parameters! Please use the ICAO aircraft type
designator1 for the section title. These should correspond with the atc_model=XXXX entry in the
aircraft.cfg of the add-on aircraft. SODE uses that entry in the aircraft.cfg to retrieve the door
parameters from the AircraftParameters.ini. The parameters are used for the Hood animation. The
basic jetway movement is not affected! If SODE doesn't find the parameters, only the Hood will not
extend towards the fuselage!
Five parameters are needed:
1. Door Height in meters
2. Door vertical offset in meters from the lower door edge to fine-tune the jetway position
3. Door offset angle with respect to the longitudinal axis, measured in clockwise direction in
degrees
4. Door Front edge radius in meters
5. Door Aft edge radius in meters
Here is a illustration showing the different parameters:

Note: This file is globally used. So if you have any additions to it, please share it via
fsdeveloper.com in the SODE subforum, thank you.

2.2 jetway.cfg
SODE needs dimension, range limits and timing parameters to solve the inverse-kinematic problem
and to control the animation. The jetway.cfg holds all the necessary data for a particular jetway

1 Can be found here: http://www.icao.int/publications/DOC8643/Pages/default.aspx


model. So it should be placed in the respective 'model.YourJetway' folder together with the
model.cfg file.
The contents of the jetway.cfg file are auto-generated after successful creation of the animations
during the maxscript jetway building process. Due to file saving restrictions from gmax, you have
to manually copy-paste the contents into a file named jetway.cfg.

2.3 SODE_modeldef_entries.xml
New entries for the jetway animations. Merge them with your existing modeldef.xml file. Delete all
old default SODE related entries and paste the new contents.
Be careful that you keep any of your own definitions! It is always a good idea to backup the
modeldef.xml! The maxscript will fail if it doesn't find the entries in the modeldef.xml.

FSX SDK Modelling Folder e.g. 'C:\Program Files (x86)\Microsoft Games\


Microsoft Flight Simulator X SDK\SDK\Environment Kit\
bin Modeling SDK'

modeldef.xml XML File holding Part definitions for animations etc...

2.4 Modelling Tool (gmax): Necessary Files


2.4.1 Overview

Gmax FSX Gamepack Root Folder e.g. 'C:\gmax\gamepacks\FSX_GMaxGamepack'

scripts SimObjects Main Folder


SODE
Hoods Project A's SimObject Container
SODE_Default_Hood.txt Vertex Parameter File for the default hood
Your_Custom_Hood.txt Vertex Parameter File for custom hood

SODE_Jetway_Creator.ms Jetway Creator Maxscript


SODE_Jetway_HoodHelper.ms Helper Maxscript for custom hoods

scenes
SODE_Default_Hood.gmax Default Hood Model gmax File.
Can be placed wherever you like

2.4.2 SODE_Jetway_Creator.ms
This file is a maxscript that automatically creates a fully skinned and animated Jetway model ready
to export. You have to follow a special naming convention and setup some helper dummys. This is
explained later in more detail.

2.4.3 SODE_Default_Hood.txt and SODE_Default_Hood.gmax


The SODE_Default_Hood.txt file contains vertex parameters for the skinning process. Those
parameters refer to the vertex indices of the mesh in SODE_Default_Hood.gmax. So do not change
the mesh of the hood, else the script won't skin the model correctly!
The following chapter on modelling explains how to use this mesh with your custom jetway.
If you want to create your own hoods, follow the tutorial on how to build one later in this
documentation.
3 Jetway Creation in Modelling Tool (gmax)
3.1 Material
Make sure you have ticked 'Skinned Mesh' in the material properties in the FSX material settings!

For performance reasons, it is recommended to have one single texture sheet for the jetway or
multiple jetways. This way, only one single drawcall is needed for the jetway.

3.2 Jetway Elements


3.2.1 Apron-Drive Jetway (Type A)
The typical type A jetway is composed of following elements:

Observe that all main components (written in green) must have their names extended by the
LOD number! For example ROOT_400. This must correspond to the XXX number of the
DUMMY_MAIN_LOD_XXX, i.e. DUMMY_MAIN_LOD_400. All other Dummy objects don't
need a LOD number, only the main one. The main dummy will be the root of the entire scene.
The script supports up to 3 bridge elements. You can also model a jetway with 1 or 2 elements only.
Also, the stairs object is optional.
Alignment, Orientation: The entire model must be aligned to the north-south axis (Y-Axis) and be
in a straight, horizontal position, also the stairs! The wheels must touch the ground. See the sample
jetway for the basic alignment.
3.2.2 Noseloader Jetway (Type N)
The noseloader type jetway is not able to rotate around its base (ROOT) and the head. Also, the legs
have no wheels so they are firmy attached to the ground. The only two movements the jetway can
make are:
1. Tilt the bridge up and down (moveable vertical leg)
2. Extend the bridge forward and aft.
Important: Because the leg is attached to the ground, the leg elements are reversed for this type
compared to the type A jetway. The static part is on the ground, whereas the extendable part is on
top of it. Due to the design, the moveable leg part (LEG_EXT_XXX) is always attached to
BRIDGE_A_XXX! The correct attachment will be done for you through the script.

The stairs are optional, as for the type A jetway.


Fixed leg jetways: There are even type N jetways that also have a fixed leg! In this case you don't
need to name the leg support objects as LEG_STATIC_XXX/LEG_EXT_XXX. You can name them
as you like and link the objects to the BRIDGE_A_XXX part. Specify in the creator script that this
jetway has no extendable leg.
Alignment, Orientation: The jetways
must be aligned along the x-axis, that
means west-east with the head pointing to
the east. As with the type A jetway, the
bridge as well as the stairs must be in a
horizontal position.

3.2.3 T-Shaped Jetway (Type T)


The t-shaped jetway (hence type T) bridges are arranged perpendicular to each other. Like the type
N, the legs are firmly attached to the ground, so there is no rotation possible for the bridge. The
movements this type will allow are:
1. Tilt BRIDGE_A_XXX up and down. This will also move the BRIDGE_B_XXX vertically.
2. Move BRIDGE_B_XXX forward and aft.
Important: For this type, stairs are not supported!

The leg structure is the same as for the type N, with the static part on the ground and the moveable
part on top. In this case the moveable part is the orange object forming the connection between
bridge A and B, sliding up and down along the static legs.
Alignment, Orientation: This jetway type is special with regards to the alignment. The scene
origin (0/0/0) needs to be placed at the intersection of the two bridge axes (see screenshot). The
DUMMY_MAIN_LOD_XXX however needs to be placed at the root of the entire jetway
structure, which is mostly located below that static «main post» (yellow object in the screenshot).
3.3 Bridge Elements/Leg Elements/Stair Elements
Make sure that the bridge elements and the leg elements are simple box objects shapewise. More
specifically, the bounding box of the bridge/leg element should match the model. This is needed
for the correct determination of extension ranges.
Also, make sure that when the stair is in the horizontal position that the bounding box is also tightly
matching the object. This ensures correct parameter extration for for SODE jetway engine.
Any other geometry (details such as pipes cables etc) should be linked as children to the main
bridge/leg/stair element.

3.4 Dummys
A total of 4 dummy objects are needed.
1. DUMMY_MAIN_LOD_XXX sits at the origin (0/0/0) for type A and N. For type T, it is
placed on the center of the root object. See the image in the section about type T jetways.
2. DUMMY_LEG_LIMITER stops the movement of the lower leg up to the static leg
element. You can control the extension range with this dummy.
3. DUMMY_DOOR CONTACT is the lower, most forward point where it should touch the
bottom of the aircraft door.
4. DUMMY_HOOD_PIVOT is placed at the point where the hood starts to expand towards
the aircraft door. In the provided default hood, the pivot is at the second lowest vertex and
the front edge.

More on the Leg_Limiter dummy:


The dip range of the bridge depends on how extendable the leg is.
So you have to adjust your LEG_STATIC_XXX and
LEG_EXT_XXX and the DUMMY_LEG_LIMITER.
When you design your basic model, you adjust the top vertices of your LEG_EXT_XXX object to
change the range.
• For the lowest position, the LEG_EXT_XXX will move up until the
DUMMY_LEG_LIMITER center (light blue) hits the LEG_STATIC lower edge (orange).
• For the highest position, the LEG_EXT_XXX will move down until the top vertices (dark
red) reach the LEG_STATIC lower edge with a little margin (yellow), that's the overlap that
you specify in the creator script.
It is just the same as if you would build it in real life. Note that in the example for the lowest
position, the LEG_EXT_XXX top vertices even go through the top of the LEG_STATIC! So I
would have to enlarge the LEG_STATIC top vertices a little bit or move the
DUMMY_LEG_LIMITER a little more up to restrict the upward movement.

The more range your leg has, the more dip range your jetway gets!

3.5 Stairs
Ensure that the pivot point of the stair is set at the proper position!

3.6 Hood
This is the most tricky part of the model. There is a default hood
element called 'SODE_Default_Hood.gmax'. If you want to use it, merge it into your scene and
name it properly (HOOD_XXX). You can rescale it to your desire so it fits your model. Do not
move or delete vertices! Also, you need to copy the portion of the texture to your jetway texture
and re-map it. Of course you can draw your own texture for the hood.
To create an own, custom hood, see section „ Custom Hood Creation„.

3.7 Child Objects


You can link any other geometry to any of the main elements. In the building process, everything is
collapsed anyway to one single mesh to enable skinning. In the following image, you can see the
initial hierarchy of the parts: The main elements and necessary dummies are on the first hierarchy
level, any supplementary parts are linked as children to a main element (parent).
4 SODE_Jetway_Creator MaxScript
Now, that you have named the elements correctly, set the dummy helpers, the stair pivot and all the
parent-child links, you can run the maxScript. This is a good time to save a backup of your
max/gmax file and work with a copy... ;-)

4.1 Creator Settings


4.1.1 Type A
4.1.2 Type N

4.1.3 Type T
4.2 Creation with the SODE Jetway Creator Script
Hit 'Create SODE Jetway!' and wait for a while until the script has skinned and animated everything
to your needs. If any of the required elements is/are not found, the script will fail and tell you what
element is missing.
If everything is ok, two windows appear:
1. The maxScript Listener window with the jetway parameter data, that is to be manually
copied into a jetway.cfg file...
2. The SDK FSX Animation tool summary window, showing the correct tagging of the
animations to the corresponding bone. This window is the confirmation that everything is
alright. You may close it.
Concerning the hierarchy, you should see the main dummy helper with a single skinned mesh
ROOT_XXX as a child. On top of that, the created and animated bone structure with some dummy
helpers should be visible.

4.3 Export of the skinned and animated Model


Now the model is ready to be exported: Make sure, that you tick 'Export Skin' and 'Export
Animations'.
The model radius has an influence on the animation execution: So if you want to have your jetway
being animated from a distance (for AI aircraft at other terminals for example), you must enlarge
your model radius. Arno Gerretsen's famous ModelConverterX tool has a function to modify the
model radius:
1. Start ModelConverterX
2. Do not load the model, but from the menu, choose „Special Tools“, then „MDL Tweaker“
3. Then load the jetway model and tweak the radius to 2000m.
4. Save the model.

5 LOD Level of detail support


The script supports LOD models. However, the scripts needs all necessary jetway elements (ROOT,
BRIDGE, HEAD, etc) to build the LOD model. If you don't need any of these elements as a mesh,
you can replace it by a dummy object with the same name, e.g. HEAD_100. But the elements
(except the HOOD element, which is ignored in lower LODs), be it a low-poly mesh or a dummy
replacement, must be present in the scene, else the script will fail.
Again, the HOOD element will be ignored in any lower LODs!

5.1 Empty LOD


If you want to have an empty LOD for performance optimization, you just place a dummy object
and name it correctly e.g. DUMMY_MAIN_LOD_050.
5.2 Limitations
There is a conflict with animations and LODs: In order to have the animations to be working from
far away distances, you have to increase the model radius (see above section). This however breaks
the LOD switching somewhat. I have found out, that with a model radius of 2000m (that is enough
for pretty much every airport), having three LODs at 600 (main, high-poly), 550 (low-poly) and
050 („empty“ = simple triangle) renders good results performance- and display-wise.
However, if you use the static-dynamic jetway swapping technique (explained later), you can leave
the radius to a lower value (~200m).
6 Special Effects
6.1 Visual FX
If you want to have an effect file (*.fx) to appear during the operation of the jetway, you have to
create an attachpoint. For example for a blinking beacon light on top of the head object:
1. Select the ROOT_XXX object and open the Attachpoint tool, then select „Effect“
2. Select „Visibility“
3. Choose your effect from the dropdown list
4. Choose „#_SODE_Jetway_Operation_Flag“ from the dropdown list
5. Hit the „Create new attach point“ button
6. Left-click into the viewport: a magenta diamond appears in the viewport which you can
move around and finally place it with a right-click.

7. Rename the attachpoint so that it begins with FX_ATTACHED_, for example


FX_ATTACHED_MyBeaconLight. The creator script will then find all the attachpoints and
link it to the correct bone. This ensures that the attachpoint is moving with the jetway.
6.2 Sound Effect
If you want to use a sound during jetway operations, you have to manually add a section to the
jetway.cfg:
[Sound]
filename = SFX_SirenLoop.wav
loop = true
min_distance = 1
max_distance = 50

The parameters are the same as the one used for triggerable animations, refer to the online
documentation. The wav file must reside in the „sound“ folder of your SimObjects container! Also,
see the online documentation how to set it up.
If you want to have simultaneous sounds, like engine + siren, you have to mix it into one wav file
using an audio editing software.
7 Custom Hood Creation
As explained earlier, the hood is the most tricky and most complex part of the jetway, especially if
doing the skinning and vertex weighting manually.
In order to automate the creation as much as possible, a helper script is provided with the SDK. The
following text is meant to be a mini-tutorial on how to create a custom hood.

Step 1: Model the hood and name it to HOOD_XXX! In order to follow the aircraft fuselage
curvature nicely, I found that the following basic mesh makes a suitable job (think of a horizontally
and vertically sliced box):

As you can see, the first slice above the ground is coincident with the Dummy Helper object (named
DUMMY_HOOD_PIVOT). This is where the hood touches the aircraft fuselage and starts to
bend. Above that first slice, I added three more which is perfectly enough. As always, keep the
number of vertices as low as possible. It is now time to save your work!
Step 2: Run the Hood Helper script. In the gmax menu, select MAXScript → Run Script →
Navigate to scripts/SODE → Select SODE_Jetway_HoodHelper.ms. This should bring up the
helper dialog.

There are three sections: Generator, Parameter Extractor and the Test Facility.
The generator is used to create the rigged (Skin and Bones) mesh, but without any vertex weighting.
This will be done by yourself! To help the weighting, the script can generate guidelines. This is the
first button to press:
The circle represents the smallest fuselage
this particular hood can dock to. The hood
„angle“ is 45°, indicated by the line
originating from the
DUMMY_HOOD_PIVOT.
The top arc is a movement guideline for the
top edge of the hood.
Step 3: Convert to rigged mesh and start setting weight values. Click on „Clone Hood, convert
to skin and add bones“. This action will exactly do these steps. A copied, rigged mesh called
HOOD_XXX_SKINNED is created and the animation keyframe 100 is automatically selected. Also
in the „Skin“ modifier on the right hand side, the „BONE_HOOD“ is selected as active. This is the
bone which we want to influence the mesh with! So, click on „Edit Envelopes“. The „Vertices“
filter should be selected automatically by the script.
You can now select the first group of vertices.
Next step is to set the
weight of the selected
vertices. A value of 1.0
means that the vertices are
fully influenced by the
HOOD_BONE, so they will
move to the 45° line.
Now select the next group
of vertices and apply
another weight value. You will notice that in order to
follow fuselage guideline, a lower value is needed
than before. You will not have to set values for the
vertices at the DUMMY_HOOD_PIVOT. They should not move because they are at the pivot.
Hint: It is best to start with the most-right, top vertices and then work „top-down“, then go to the
next vertical group towards the left. It is good practice to save the work, gmax tends to crash
sometimes during the weight setting (occurs rarely though).
You can always check the hood animation by moving the keyframe slider at the bottom of gmax.
If something went wrong during weighting, you can start from scratch by clicking „Start over
again“ in the script dialog.
Step 4: Saving your weight values. After you are done setting the weight values, you have to store
those values to a text file for later use in the jetway script. Hit the „Extract Hood Parameters“ button
and the MAXScript Listener will show up with all the needed values. After some general info, two
indicators <###### COPY BELOW SECTION ######> and <###### COPY ABOVE SECTION ######> show
the portion of the window to copy into a text file. Mark all the data in between those two markers
and copy-paste it into a text file named e.g. „My_Custom_Hood.txt“ (I prefer to name it like the
gmax project file).
See picture below for reference.
The rigged mesh is now not needed anymore once the data are stored to a file. You may delete it
(HOOD_XXX_SKINNED) or you can hit „Start over again!“ and everything is at a state like in the
beginning with your basic, non-rigged hood mesh.
This basic mesh (together with the DUMMY_HOOD_PIVOT) will be the objects you will
merge into your jetway scene when creating your jetway.
Step 5: Testing your weight values. If you want to test the your basic mesh with the extracted
hood parameters, you just rig the mesh again („Clone Hood, convert to Skin and add Bones“
Button).
Then in the Test Facility, select your parameters text file (you may have to close and re-run the
script so it can find the newly created file) and press „Apply Hood Parameters File!“.
Your saved weight values should now be applied to the rigged mesh and show the hood in its
extended state. This ensures that the Jetway creator script will correctly apply your parameters
during the jetway creation process.
Step 6: You are done! You can now use your hood with your jetway. Follow the steps outlined in
the Jetway Creation tutorial in the section about the Hood.
8 XML Placement
8.1 The 'Stand' node
With SODE V1.3, a new concept of „Stands“ is introduced, which is meant to organize the various
systems tied to a parking spot (e.g. Jetways, VDGS). In the xml, those systems are grouped into a
new <Stand> tag structure, which will link the SimObjects to a specific „AFCAD“ parking position.
<Stand AfcadICAO="LSZG" AfcadGateName="PARKING" AfcadParkingNumber="1"
CustomDesignator="Terminal A;01">
<SimObject Name="Terminal A01 Jetway">
<Placement Lat="47.1823" Lon="7.4188" Alt="0#AGL" Hdg="000.0"/>
<Model SimTitle="Jetway">
<Jetway InitialState="0;0;0;0"/>
</Model>
</SimObject>
</Stand>

The attributes for the <Stand> tag are mostly self-explanatory: They must match the underlying
AFCAD data! This will ensure proper operation/detection with fsdreamteams GSX product.
There is a „CustomDesignator“-Attribute which can be used to override the rigid naming
convention of the AFCAD data. So in the SODE in-game menu, the stand will appear as „Terminal
A01“ and not „PARKING 1“. The structure of the attribute is a semicolon separated pair of strings:
„StandName;Designator“.
Important: Jetways placed without the stand tag will no longer be supported
from SODE V1.3 and up!

8.2 The 'Jetway' node


8.2.1 Initial State
A custom <Jetway> tag is introduced in SODE, and you can set an initial state if you need an exact
initial position for your jetawy. If you leave the tag like it is <Jetway/>, SODE randomly positions
your jetway everytime you start up FSX.
The individual parameters are in percent (0-100) of the possible movement range:

Important: Depending on the jetway type, a different number of values are required in the xml!
Type A (4 values): InitialState=“RootRotation;BridgeDip;HeadRotation;BridgeExtension“
Type N with extendable leg (2 values): InitialState=“BridgeDip;BridgeExtension“
Type N fixed leg (1 value): InitialState=“BridgeExtension“
Type T (2 values): InitialState=“BridgeDip;BridgeExtension“

You can also specify a random value for one or more parameters and set a fixed values for the
others, for example „33;R;R;25“ means that the root rotation and the bridge length are defined
(fixed position on the apron) whereas the bridge dip and the head rotation are randomly (R) set to
give the jetway a different appearance everytime you start up FSX.

8.2.2 Static Jetway


However, if you want to increase performance, you will need static variants of your jetways.
This also means that the initial state must be fixed to ensure a coherent appearance when
exchanging the static jetway with the fully animated one! There is a script for the creation of a static
variant of your source model. It is described in the following chapter.
Also, the xml entry needs a change to support a static variant: You have to add the „StaticSimTitle“
attribute with the static simtitle. Do not forget to add the static variant to your sim.cfg!

Note: There must be no jetway.cfg file in the container for the static jetway model!
<Stand AfcadICAO="LSZG" AfcadGateName="PARKING" AfcadParkingNumber="1"
CustomDesignator="Terminal A;01">
<SimObject Name="Stand 1A Jetway Front">
<Placement Lat="47.18165" Lon="7.41165" Alt="0#AGL" Hdg="335.0"/>
<Model SimTitle="Jetway" StaticSimTitle="Jetway_Static">
<Jetway InitialState="33;33;15;15"/>
</Model>
</SimObject>
</Stand>

8.3 Multiple Jetways


If you want to place multiple jetways (up to 4) tied to the same parking spot, you'll need to specify a
so-called „Multi-Index“, starting from value 1. The jetway which is the nearest to the „terminal
wall“ will be number 1 (serving the aircraft's front door mostly) and the next further away from the
wall will be number 2 and so forth. Note that the SimObject names are set appropriately to
distinguish the individual jetways in the FS in-game menu!

<Stand AfcadICAO="LSZG" AfcadGateName="PARKING" AfcadParkingNumber="2"


CustomDesignator="Terminal A;02">
<SimObject Name="Terminal A02 Jetway Front">
<Placement Lat="47.18224" Lon="7.41873" Alt="0#AGL" Hdg="000.0"/>
<Model SimTitle="Jetway">
<Jetway InitialState="33;15;20;25" MultiIndex="1"/>
</Model>
</SimObject>
<SimObject Name="Terminal A02 Jetway Aft">
<Placement Lat="47.18224" Lon="7.41873" Alt="0#AGL" Hdg="000.0"/>
<Model SimTitle="Jetway">
<Jetway InitialState="33;15;20;25" MultiIndex="2"/>
</Model>
</SimObject>
</Stand>
9 Static Jetway Creation
For performance reasons, SODE uses a model swapping mechanism where a fully animated jetway
will be displayed once a parking position (stand) is selected. All other stands are equipped with a
static jetway. Of course, the static and the fully animated jetway models must match in their initial
position, else the user would see a shift during the swapping process.
An additional script called 'SODE_StaticJetway_Creator.ms' is provided and it takes as its input the
same basic static jetway model you have started with in the „normal“ jetway creation process.
So make a copy of your source scene and run the script. The functions are very simple:

First, you select the correct jetway.cfg file of the fully animated model. The script will read the
needed movement constraints from this file. If the script is able to load all necessary data, the red
field changes its color to green.
Depending on the jetway type, the script enables/disables the correct keyframe entry boxes.
Then you set the keyframe values: These must match the ones you specified in the xml as the initial
state of the fully animated model.
With these information, you are ready to go and you can create a static version with the same
„pose“ as the fully animated one.
Export the model normally without skin or animations! Concerning naming of your mdl file, I used
this scheme: SODE_Jetway_Static_33_33_15_15.mdl. This way, I know what keyframe values I
have used for this static jetway.
Edit your sim.cfg file and add the model to your SimObjects folder as a separate container.
10FSX/P3D
With the sim.cfg set up, the mdl file and its corresponding jetway.cfg correctly placed and the xml
placement written, fire up FSX/P3D!
During first start, an alert should pop up to allow the execution of the
SimObjectAnimationModule.dll. If not, the dll is not loaded and the system won't work.
If everything is ok, you should see your jetways in the scene.
Place your aircraft near a jetway and hit Tab+S: You will see a „Select Stand...“ option at the top of
the menu. There you can then browse through the different stand categories and finally choose a
spot. Select a jetway and an aircraft door to be docked to, the jetway should dock now :-)

10.1 The Jetway doesn't move! - Troubleshooting


10.1.1 Link between SODE and Jetway Control System not
established
The sharing of data between the main SODE module (exe) and the Animation module (dll) is not
possible. SODE has a built-in functionality to check this connection, found in the top menu bar of
the simulator:

A text prompt at the top should announce the following if the dll connection can be established:

If not, then the dll is most probably not loaded. Check the dll.xml file if the entry for the
SimObjectAnimationModule.dll is existing and confirm that it is not disabled in the xml:
<Disabled>False</Disabled>

10.1.2 SimObject Container of the Jetway not properly configured


Double-check if the sim.cfg in which the jetway is defined, has the „Module=SODE“ line in it's
[General] section.
Also, check that there is a jetway.cfg with meaningful content in the jetway model subfolder, e.g.
„model.MyJetway“. If the jetway.cfg is missing, the SODE.log contains error messages refering to
that.

10.1.3 Aircraft specific Information missing


Concerning aircraft data, three information pieces must be present to get things moving:
1. aircraft.cfg of the add-on aircraft must contain a proper 'atc_model' entry in the [General]
section. Ideally, this would be the ICAO aircraft type designator, such as B738 or A333
and so on...
2. aircraft.cfg of the add-on aircraft must contain at least one valid main exit in the [Exits]
section. The last parameter denotes the exit type and a zero defines a main exit, for example:
exit.0 = 0.4, 45.50, -6.0, 7.0, 0

3. AircraftParameters.ini must contain door parameters for the corresponding ICAO aircraft
type designator, e.g. [B738]
Add-On Aircraft SODE
aircraft.cfg AircraftParameters.ini SimObjectDisplayEngine.exe
[General] [A343]
atc_model=A343 1L = 2.0, -0.15, 4.0, 1.1, 1.2

[Exits]
exit.0 = 0.4, 45.50, -6.0, 7.0, 0

You might also like