ModelConverterX
| This page is a work-in-progress. Generic message - Please note some detail may possibly be missing or incorrect. |
ModelConverterX is a tool which primary function is to convert models, as the name already implies. The tools allows you to import models from different formats and can then export them to other formats again. For example you can import your old SCASM macros and export them in the FSX MDL format. But also exporting to the 3DS or OpenFlight format is possible.
A second functionality that you can use ModelConverterX for is as a model viewer. After loading the model a 3D preview of it is shown.
The current version of ModelConverterX is a release candidate. This means that the tool should be stable and functional, but you might still encounter some minor bugs and problems. If you encounter any problems please let me know.
The rest of this manual will discuss how to install and use ModelConverterX. It also contains a detailed description of the features supported by the readers and writers of the different model format.
Installation
You can download the latest release of ModelConverterX from the support forum. Check out the thread with the latest release.
Once you have downloaded the ZIP file containing the program, you need to unzip it to a folder of your choice. If you have used a previous version before, you can replace those files with the new version.
You will also need to have the graphical DLL files by Martin Wright installed. These are used for reading the various texture formats that can be used on your objects. If you don't have these files installed, download them from Martin's website and install them first.
Howto
Further down in this manual you will find a detailed explanation of the user interface and the features of the different object readers and writers. But in this section some quick howtos will be shown that explain how to perform common tasks. This should be enough to get you going quickly.
When using ModelConverterX for the first time, make sure that you have set the options correctly. Especially the paths to compilers like XtoMDL or MakeMDL should correspond with the location of those compilers on your machine.
Convert a SCASM macro into a FSX MDL object
This howto explains how to convert a SCASM macro object into a FSX MDL object. So to complete this howto you need to have a SCASM macro that you want to convert. Start ModelConverterX and we are ready to go. You can find the images illustrating the steps at the bottom of this section.
- Import to SCASM macro into ModelConverterX. To do so press the Import button and browse to the file you want to load. After you press the Open button ModelConverterX will start loading the object. Once this is done a preview of the object will appear.
- Check if there were any problems during the import. To do so click on the Event log tab at the bottom of the screen. You should always see some entries in the log, look for events that are of the type Warning or Error to see if there were any serious trouble. It could for example be that there was a not supported command in your SCASM macro.
- Now that your object is loaded and you have verified that there are no big problems with it, it is time to export the object. To do so press the Export button and enter the name and location of the MDL file you want to export. Once you have done that press Save. ModelConverterX will start exporting now.
- Once the export process has finished, check the Event log again, the messages from the exporter will have been added to it. Especially look for the output of XtoMDL as well, while it was compiling your MDL file. But normally there should not be any errors in this process.
Now you have the MDL file that you can use in your scenery, like you would do with any MDL object. So put it in an library BGL and start placing it with your favourite placement tool.
-
Selecting SCASM macro for import
-
Preview of the imported object
-
Event log after importing
-
Select MDL file for export
-
Event log after exporting
Convert a SCASM macro into a 3DS object and import it into GMax
(this section still has to be written)
Batch convert objects
When you want to convert a lot of objects it can take quite some time to import and export them one by one in ModelConverterX. For this kind of situations the batch convert option has been included. It allows you to convert multiple objects at once, with the same settings. Just follow these steps and you should be done in no time. The images to illustrate the steps are at the bottom of this section.
- Click the Batch convert button to open the batch converter form.
- Select the exporter you want to use and the folder in which you want the converted objects to be placed. Once you have set these two opens press Select objects.
- This will bring up a screen where you can select all the objects you want to convert. You can use the Shift and Control key to select multiple files like normally in Windows. After selecting all files you want to convert press the Open button.
- Now ModelConverterX will start importing and exporting all the objects you selected. You can see the progress in the status bar and the preview will also shortly show the loaded objects.
- Once the conversion is completed, check the event log by clicking on that tab to see if anything went wrong during the conversion.
That's all, now you will find the objects in the required format in the output folder you selected.
-
Setting output folder
-
Selecting objects
-
Event log after conversion
User interface
All your activities in ModelConverterX are done from the main screen. How this screen looks is shown in the image at the right.
Roughly the form is divided in two areas. The top part where a 3D preview of your model is shown. The bottom part where a log of events is shown, this is the area where you can see warnings and errors from the object readers and writers.
At the top of the form there is a menu that gives you access to all functions, while at the right there is a toolbar that gives you access to some useful functions as well. All options in the menu and toolbar will be discussed below.
-
Preview tab
-
Event log tab
-
Options tab
Preview tab
Event log tab
Options tab
The Options tab gives you access to all the settings of ModelConverterX. With the list at the left side you can select the different categories. Below all options are explained in detail.
General settings

The AutoSave section allows you to specify settings regarding automatically saving certain files. It contains the following options:
- AutoSaveEventLog
- Determines whether the event log is automatically saved to disk as a TXT file when you export an object.
- AutoSavePreview
- Determines whether the preview image is automatically saved to disk as a JPG file when you export an object.
The Renderer section allows you to specify settings related to the preview renderer. It contains the following options:
- AttachPointColor
- Sets the color used to draw the square representing attached objects.
- BackgroundColor
- Sets the color used to draw the background of the preview.
- GridColor
- Sets the color used to draw the grid.
- GridOriginColor
- Sets the color used to draw the grid lines that pass through the origin.
- GridSize
- Sets the total size of the grid in meters.
- GridStep
- Sets the distance between two grid lines in meters.
- NormalColor
- Sets the color used to draw the normals.
- ZoomScale
- Scales the zooming of the mouse wheel. This allows you to tune how quickly you zoom in or out.
Importer settings

The SCASMReader section allows you to specify settings specific to the SCASM reader. It contains the following options:
- lineExtrudeRadius
- The radius of the circle that will be used when turning a line into a tube.
- lineExtrudeVertexCount
- The amount of vertices of the circle that will be used when turning a line into a tube. A value of 3 will extra a triangle, 4 a rectangle, etc. Keep this value as low as possible to minimize the polygon count.
Exporter settings

The FLTWriter section allows you to specify settings specific to the OpenFlight writer. It contains the following options:
- LODMultiplier
- Sets the multiplier that is used to calculate the LOD distance based on the size of the bounding box.
- TextureType
- Allows you to specify which texture format is used in the OpenFlight file. Supported options are: RGB, DDS or BMP.
- WriteATTR
- Determines whether the ATTR files of the texture are written when the OpenFlight file is saved.
The MDLWriter section allows you to specify settings specific to the FS2004 and FSX MDL writers. It contains the following options:
- KeepASMFile
- Determines whether the ASM files are kept after compilation with MakeMDL.
- KeepXFile
- Determines whether the X file is kept after compilation with either MakeMDL or XtoMDL.
- MakeMDLPath
- Location of MakeMDL.exe on your system.
- XtoMDLPath
- Location of XtoMDL.exe on your system.
TextureLoader settings
The TextureLoader section allows you to specify settings related to the texture loader. It contains the following options:
- TextureSearchPath
- The search path used when looking for a texture. The texture is first searched in the folder of the object you are reading, after that all folder in the search path will be examined. When you click on the ... button you get the texture search path editor form to help you add or remove folders from the search path. If you double click on a folder in the form you can edit it by typing, that way you can also specify relative folders.
-
TextureLoader options
-
Texture path editor
Menus
This section will discuss all the options that are available from the different menus in ModelConverterX.
File
Import... shows you a open file dialog where you can select the model that you want to import.
Export... shows you a save file dialog where you can specify to which file the model has to be exported.
Recently used files gives you access to the 8 most recently used models, this allows you to reopen them more quickly.
Batch convert... opens a new dialog that allows you to convert a set of models between two formats, without having to load them all manually into the tool.
Save message log... saves the messages in the event log to a TXT file.
Save preview to image... saves the 3D preview to an image file on your disk. This can be used to create preview images of objects.
Exit quits the tool.
Tools
SCASM macro to XML placement converter... opens new dialog that converts the Macro commands from a SCASM file into a XML placement file for BGLComp. This allows you to convert the placement of the objects as well.
Options shows the options for ModelConverterX, where you can specify different settings.
Help
About shows the about information for your version of ModelConverterX.
Toolbar
The ModelConverterX toolbar gives you access to some functions that are often used when manipulating and working with your object.
If multiple objects are loaded, this allows you to go to the next one in the list.
If multiple objects are loaded, this allowd you to go to the previous one in the list.
Shows information about the loaded object (currently not implemented).
Shows the Material Editor form that displays and allows you to edit some material settings of the object.
Shows the Move dialog that allows you to move your object (currently not implemented).
Shows the Rotate dialog that allows you to rotate your object (currently not implemented).
Shows the Scale dialog that allows you to scale your object.
Resets the 3D preview view so that the entire object will fit in the screen again.
Toggles the Display of the normals in the 3D preview.
Toggles the Display of attached points (objects) in the 3D preview.
Don't touch this button, it will break your object (feature not fully implemented yet).
Object readers
To be able to read the objects from the different format ModelConverterX makes use of different object readers. This section gives an overview of the available readers and their capabilities/limitations.
SCASM reader
The SCASM reader allows you to import objects from SCASM source files. This could be either API or SCM macros or a complete SCA source file directly. In the current version the following features of the object can be read:
- Object mesh (vertices, triangles, normals)
- Lines (will be converted to 3D mesh)
- SCASM automatic normal and texture mapping calculations are supported
- Transformations
- Colours
- Textures
- Night textures
- Light points
- Attached effects
- Binary commands (often used in FSDS macros to maintain backwards compatibility with old SCASM compiler versions)
FSX MDL reader
The FSX MDL reader allows you to import objects from the FSX MDL format. In the current version the following features of the object can be read:
- Object mesh (vertices, triangles, normals)
- Object materials (colours and textures, not all FSX specific options supported yet)
- Friendly name and GUID
Object writers
To be able to write the objects to the different format ModelConverterX makes use of different object writers. This section gives an overview of the available writers and their capabilities/limitations.
FSX X file writer
The FSX X file writer is able to generate a X file from an object. This X file can then be compiled with the XtoMDL tool from the SDK to get a MDL object to be used in Flight Simulator.
The current version of the X file writer is able to export the following functionality:
- Object mesh (vertices, triangles, normals)
- Materials (colours and textures)
- Night textures
- Attachpoints
- GUID and friendly name
FSX MDL file writer
The FSX MDL file writer is able to generate a MDL file for FSX directly. It makes use of the FSX X file writer, so please see its limitations as well. So in fact it is a wrapper that calls XtoMDL for you automatically. To do so you need to make sure you have set the XtoMDL path in the options.
FS2004 MDL file writer
The FS2004 MDL file writer is able to generate a MDL file for FS2004 directly. It makes use of the FSX X file writer, so please see its limitations as well. So in fact it is a wrapper that calls MakeMDL for you automatically. To do so you need to make sure you have set the MakeMDL path in the options.
Please note this exporter uses the FSX X file for FS2004, this could lead to problems for some features, but in general it works fine.
3DS writer
The 3DS writer is able to generate a 3DS file from an object. 3DS files are quite common and can therefore be imported in many other programs, for example into GMax or 3DS Max. This does allow you to import your old objects and update them for FSX.
The current version of the 3DS writer is able to export the following functionality:
- Object mesh (vertices, triangles, but no normals)
- Materials (colours and textures)
OpenFlight writer
The OpenFlight writer is able to generate a OpenFlight (FLT) file from an object. OpenFlight files are the de facto standard in professional flight simulators.
The current version of the OpenFlight writer is able to export the following functionality:
- Object mesh (vertices, triangles, normals)
- Materials (colours and textures)
Background information
This section provides some interesting background information that might be useful to you while using ModelConverterX.
Performance
One of the reasons why you might want to convert your objects to the FSX MDL format is to gain more performance. There are several reasons why FSX MDL objects have a better performance than older objects:
- The scenery engine is most optimized for them and the format itself is optimized in such a way that drawing the objects becomes easy.
- The older objects are not always optimized as much as they could be. When looking at the SCASM code produced by most of the older modelling tools (VOD, EOD, FSDS v1, etc) it has to be concluded that this code can be cleaned up a lot. After doing that the performance of those macros would be better, but when converting them to FSX MDL this is done for you by the tool.
Another benefit of using ModelConverterX is that it will merge all polygons that use the same material automatically, that why the amount of drawcalls used by your object is optimized for you. That alone is good for the performance already.
In some tests performed the results were quite surprising. By converting around 30 objects, used in a city, from API to FSX MDL file we were able to gain more than 10 frames. The improvement was bigger than expected. Of course one test is not full proof, but you will probably gain performance.
Support
If you have any problems while using the program or if you have suggestions and other feedback to improve the tool, please let me know. You can either contact me directly or visit the ModelConverterX subforum at FSDeveloper.com.
User license
When using ModelConverterX you agree to the following user license:
I do hereby agree that I will only use ModelConverterX to convert objects I have created myself. I will not change the work of others, without their prior written permission. This does include any objects obtained by decompilation of BGL files.
(c) 2007-2008 SceneryDesign.org / Arno Gerretsen
This software program is distributed without charge to other scenery designers, redistribution of the original ZIP file is allowed. You are NOT allowed to sell this software program or ask money for its distribution. Object created with this software program can be used in commercial scenery projects if you wish.
The copyright and any intellectual property relating to this program remain the property of the author.
The software distributed in this way may represent work in progress, and bears no warranty, either expressed or implied.