Frequently Asked Questions


Sales Questions

Current version of ExtendSim

ExtendSim 9.2 was released on February 13, 2015.

ExtendSim 9.1 and 9.0 users are eligible for a free update to ExtendSim 9.2. Download it here.

If you are using ExtendSim 8 or earlier, we recommend you upgrade to ExtendSim 9.

To see the complete history of ExtendSim, go to the Evolution of ExtendSim.

How do I know if I need a single user or network license for ExtendSim

Most companies find it cost effective to install a mix of ExtendSim license types - Concurrent-User Network licenses and Single-User Stand Alone licenses. In general, it is more cost effective to purchase Single-User licenses for individuals who will be using ExtendSim for long periods of time or intensely during the day and to purchase Concurrent-User licenses for employees who will use ExtendSim less intensely or for short periods or stretches of time.

The ExtendSim Concurrent-User Network License follows a Client/Server model where License Manager software is installed on a Server and ExtendSim is installed on individual computers. The advantage of this type of license is that the License Manager regulates the number of concurrent users - those who are using ExtendSim at exactly the same time - so there is no limit to the number of computers ExtendSim can be installed on. For example, a company could purchase a 4-user Network License and install ExtendSim on 20 computers. In this case, 4 employees could use ExtendSim at the same time, but if other employees tried to launch ExtendSim they would get the message to wait until one of those 4 exited.

The ExtendSim Single-User Stand Alone License is installed on an individual's computer for their own use. An advantage of this scenario is that the employee does not have to contend for usage with other employees using ExtendSim. Other advantages are that the cost per user is less than for a Network license and there is no need to interface with a Server.

Both license types are available for any ExtendSim product: CP, AT, and Suite. Both also support mobility, since a Network license can be "checked out" from the network and a Single User license can be installed on the employee's desktop and laptop computers.

Converting a single user ExtendSim license to a network license

Within the first 30 days of purchase, registered users are entitled to 100% trade-in credit for each single user license converted to a station on a comparable or higher network license product.

If it has been more than 30 days since purchase, registered users with a current license are entitled to 75% trade-in credit for each single user license converted to a station on a comparable or higher network license product.

If you are using a version prior to the current version, the trade-in credit will be reduced by the price of the upgrade.

Return policy

Software refund policy

Downloaded software cannot be returned. A license code is provided, but no physical product is shipped so there is nothing to be returned. Imagine That Inc. offers a free downloadable, working version of ExtendSim for evaluation. It is assumed that the buyer has reviewed his/her product of choice and is completely satisfied with its quality before effecting actual purchase of said product. If you have not tried the free demonstration version, please do so before purchasing any of our products. With knowledge of the above, no refund/return request should be solicited by the buyer/user on such basis.

Training refund policy

See Training Cancellation Policy.

I need to reinstall ExtendSim. How do I do that?

When you purchased ExtendSim, you should have received a link to download an installer file for the software. Find where you saved that installer and reinstall from that. Use the same serial number and product code (if any) from your original purchase.

If you cannot find your original installer file, either:

Go to My Account in the ExtendSim Store. Look at the Ordered Files tab to find links to software you have purchased.

If you did not sign up for an account when you purchase ExtendSim, you can access your download link from the invoice you received after purchase.

Again, use the same serial number and product code (if any) from your original purchase.

If all else fails, you can contact Imagine That Inc. to reset your download link.

If your ExtendSim Maintenance & Support Plan is current, we can generate a new link for this download at no change.

If you do not own a Maintenance Plan, there is a $20 fee to generate a new link.

Do you pay your customers to present papers that use ExtendSim

Our customers present papers independently of Imagine That, Inc. Unlike other simulation software companies, we do not pay our customers to write a paper. While we encourage our customers to present papers, we believe that the best interests of the simulation community are served by remaining neutral at academic conferences.

How does ExtendSim compare to other simulation applications

We could set up dozens of matrixes and comparative documents that boast about how awesome ExtendSim is and slant the results in our favor since we would be 'authoring the study'. But that's not right as your needs are vastly different that most others. We are happy to give you guidelines about how ExtendSim is designed and how it would handle the various challenges you could put it up against. But in the end, you are the best determinent of which tool would best suit your particular needs.

So, ask us questions - any question - and we're happy to answer about how ExtendSim works. If you want to know how it is as compared to other packages, we could provide you with our personal opinions, but it's probably best to ask those that have used multiple packages in their modeling careers. Check out what other simulationists are saying in the ExtendSim Exchange.

Section 508 compliance

Does ExtendSim have a VPAT showing its compliance with Section 508 of the Rehabilitation Act (accessibility of data and information to people with disabilities)?

Please see ExtendSim Section 508 VPAT (Voluntary Product Accessibility Template) page.

Are earlier versions of ExtendSim still available for purchase

It is always highly recommended to use the most current release of any software tool – as is the case with ExtendSim. Current releases take advantage of hardware and software advances and interact more appropriately with other new software packages. Plus, ExtendSim 9 can run models that were built in ExtendSim 8, 7, and Extend 6.

There are only two reasons you would need to use any legacy ExtendSim products would be:

If ExtendSim 9 has not yet been approved for use by your company or organization.

If your models use the Industry legacy capability that was present in release 7 and earlier. The Industry libraries (Flow, Items(DB), and SDI Tools), as well as the Industry database, are NOT included in release 9 or 8.

Please contact Imagine That Inc. if you have questions about ExtendSim legacy products.

Upgrade Questions

Tip for updating ExtendSim...

When updating ExtendSim, make sure you update to the directory of your existing ExtendSim installation.

ExtendSim 9 model compatibility with previous versions

ExtendSim 9 is upwardly compatible and will read in models built in ExtendSim 8, 7, and Extend 6. However, ExtendSim 9 is not backwardly compatible. Models and blocks you build in ExtendSim 9 cannot be read by earlier versions, such as ExtendSim 8 or ExtendSim 7.

Admin upgraded ExtendSim to 9, now it won't launch

From a Software Administrator, "I installed the single user ExtendSim 9 upgrade on a User's computer. However, ExtendSim 9 refuses to launch. The error message states, 'run under a different ID than the one who installed it'. What can I do so the User can run ExtendSim even though a different user (Admin) performed the installation?"

Some files may not have been installed in the appropriate location, hence prevented ExtendSim from launching. The ExtendSim 9 installation process has changed slightly from previous versions.

ExtendSim now installs in two different locations:

Application Files - These files are always installed in the Program Files folder.

User Files - User Files, such as model files and library files, are by default installed in the Documents folder of the person who is logged onto the machine at the time the Installer is running.

In ExtendSim 8, the User Files folder could be moved to a new location "by hand" after installation. In ExtendSim 9, this is no longer possible. However, the ExtendSim 9 Installer does offer the option to change the install location of the User Files.

When installing a single user ExtendSim 9 license, the User Files target directory must be in a location that satisfies the following requirements:

A folder that the End User will have read / write access to.

Not in the Public Documents folder. (Public can only be used if you're installing a Network license.)

So with all of that in mind, here is the critical question:

When you ran through the installer, did you select an appropriate target directory for the user files?

If not, run through the Installer again.

Model Sharing Questions

How do I share models with others

When sharing your ExtendSim models and/or custom libraries with fellow employees, customers, or others (“end users”), the end user will either:

Already have a full version of ExtendSim.

Not want to purchase the full version of ExtendSim.

If the end user has a license for the full version of ExtendSim:

In most cases, you can just provide your models and custom libraries to the end user. However, if your model uses blocks from the Discrete Event or Rate libraries, utilizes the ExtendSim 3D environment, or your custom libraries have been derived from ExtendSim libraries in the ExtendSim AT, or ExtendSim Suite products; the end user must also have the comparable ExtendSim product. If the model you are sharing contains custom-built blocks, please see Delivering Custom Files to an End User.

If the end user does not have the full version of ExtendSim:

The Analysis RunTime license is the perfect solution for end users who do not have the full version of ExtendSim. The Analysis RunTime license is a cost-effective way to access advanced ExtendSim functionality, without having to purchase the full version of ExtendSim.

You then need to deliver your models and other files (such as your custom libraries formatted for RunTime, DLLs, and Include files) to the end users.

Delivering custom files to an end user

As the developer, it is your responsibility to supply the end user with the necessary files and sufficient information to install those files. Use this as a guide to ensure the end user has all the necessary components to view and run your model:

An ExtendSim license. See How do I share models with others? above.

Your ExtendSim models. If you wish to prevent blocks being added, deleted, or moved in your models, give the Model > Lock Model command and use a password.

Any custom libraries the model/s require.

If you do not want the end user to be able to build models with your custom library, convert the library to RunTime format. For those using the Analysis RunTime ExtendSim license, this is mandatory as your custom library MUST be in RunTime format so the end user can run models using that library.

If you want the end user to be able to use your libraries to build models and they're using the full version of the software, you must also send them copies of your libraries that are NOT RunTime formatted.

To prevent access to the source code, you can use the Library > Tools > Protect Library command; this removes the source code from all the blocks in the library.

Any extensions required by your files.

Installation and model usage instructions.

If you wish to provide the end user with your contact information on the ExtendSim startup screen of the Analysis RunTime, include a copy of the “ex_name.txt” text file to customize the startup screen.

Converting libraries to RunTime format

RunTime formatting is helpful for library developers because it limits the use of libraries and protects block source code:

A library in RunTime format can be used by an Analysis RunTime, Student, or Demo version to run models, but not to build models.

The full version of ExtendSim cannot fully use libraries that have been converted to RunTime format. (The full version can open a model that uses RunTime formatted libraries, but the end user will only be able to run the model, not make changes.)

Libraries that are in RunTime format have their source code removed.

The Analysis RunTime, Student, and Demo versions include RunTime versions of all of the standard ExtendSim libraries. Thus, only your custom libraries should be reformatted as RunTime.

To convert your custom libraries to RunTime format:

In ExtendSim, choose Library > Tools > Convert Library to RunTime Format.

Select the library for conversion. ExtendSim will make a copy of the library, convert it to RunTime format, and save it in the same location as the original library.

Libraries converted to RunTime format keep the same name as the original, but add the extension “.lrx”.

Since the library name is the same, models opened by the Analysis RunTime, Student, or Demo version of ExtendSim will recognize the reformatted libraries as if they were the originals. (Note, however, that the full version of ExtendSim will not allow the end user to build models with RunTime formatted libraries.)

Customizing the Startup Screen

The Analysis RunTime startup screen can be customized with personalized text. For example, add your company name, URL, email, and/or phone number so the end user can contact you.

Customizing the screen

To customize the startup screen of an ExtendSim application that is already installed on a computer, give the command Library > Tools > RunTime Startup Screen Editor in the ExtendSim application. A window appears asking you to open the “extrsr.rsr” file that is located in the ExtendSim Analysis RunTime folder. When you open the extrsr.rsr file, a second window appears for entering the text. You are limited to 5 lines and a total of 255 characters.

Creating a file for the end user

To give an end user a text file that will display your custom information in their application, do the following:

Install Analysis RunTime on your computer so you can test the customization.

Use a text editing application and enter up to 4 lines of custom text, with a maximum of 100 characters per line.

Save the file as a text file named "ex_name.txt". The text file MUST have that exact file name to work properly.

To test the customization, place a copy of the "ex_name.txt" file into the ExtendSim Analysis RunTime folder and launch the ExtendSim application.

Once launched, the text will appear on the startup screen and the text file will disappear. (Which is why you need to use a copy of the customization file.)

Give the copy of the "ex_name.txt" file to the end users and instruct them to copy the "ex_name.txt” file into their Analysis RunTime folder. (Each end user needs his/her own Analysis RunTime license.)

Model publishing guidelines and copyright restrictions

If you use screen shots that contain ExtendSim blocks on your web site or in any printed matter, please post or footnote this statement:

ExtendSim blocks copyright © 1987-2018 Imagine That Inc. All rights reserved.

Before quoting any documentation from the ExtendSim manuals, blocks, Help, or the Imagine That Inc. web site, you must get prior written permission from Imagine That Inc. Once permission is granted, please include this statement:

Portions copyright © 1987-2018 Imagine That Inc. All rights reserved.

If you build custom blocks based on ExtendSim blocks, hence using copyrighted information from certain libraries in the ExtendSim products, your right to sell, give, or otherwise distribute the blocks you have developed is restricted. In that case, your blocks may only be sold, given away, or distributed to a recipient who has the same ExtendSim package that you used to develop your blocks. For more information, see the copyright notices at the front of the ExtendSim User Guide.

Training Questions

Training Cancellation Policy

Public Training Course Refund Policy

In order to maximize the effectiveness of our training classes, Imagine That Inc. limits the number of attendees per class. Registrants who have been confirmed for a specific training class may reschedule or cancel their class:

Up to 14 days before the course starts Full refund
One to 13 days before course starts $500 cancellation fee
No show or no advance cancellation No refund

Imagine That Inc. reserves the right to cancel or reschedule any training class upon a fourteen (14) day notice to all confirmed registrants. Registrants may then reschedule into an upcoming training class or cancel the registration without penalty. The client understands and agrees that Imagine That Inc. shall not, in any way, be held responsible for any cost, including airfare, transportation cost, hotel expenses or other cost that the client may suffer in the event that Imagine That Inc. cancels or reschedules a class.

On-Site Training Refund Policy

When an on-site training class has been booked, the dates reserved have been set aside exclusively for you so that time period is unavailable to others who might want training. Travel and other arrangements for the course trainer are also made at the time the training is booked. Thus, our Refund Policy for on-site training different than for the Public Training:

Notify Imagine That Inc. of cancellation at least 21 days before the scheduled start of the course. This ONLY applies if the training was to be held within the contiguous United States. (For training in Alaska, Hawaii, and all countries outside of the USA, the full refund only applies if you cancel at least 30 days before the scheduled start of the course.) Full refund
(or no charge, as applicable)
Notify Imagine That Inc. of cancellation between 20 and 2 days before the scheduled start of the course. This ONLY applies if the training was to be held within the contiguous United States. (For training in Alaska, Hawaii, and all countries outside of the USA, the partial refund only applies if you cancel at least 5 days before the scheduled start of the course.) The partial refund (or partial charge, as applicable) consists of:
No refund on instructor expenses. We will do our best to recover instructor expenses from vendors (airlines, hotel, etc) and will refund or credit you for any expenses we recover. But there is no guarantee that any of the instructor's expenses will be recoverable.
A $500 cancellation fee if the course was to be held within the contiguous United States; $1,000 cancellation fee otherwise.
Partial refund
(or you will incur a partial charge, as applicable)
Unless you provide at least a 2 day advance notice of cancellation AND the training is within the contiguous United States, there is no refund on quoted charges for the training. (For training in Alaska, Hawaii, and all countries outside of the USA, there is no refund - or you will be charged, as applicable - unless you notify us of cancellation at least 5 days in advance of the training.) No refund
(or a full charge, as applicable)

Do you offer both Public and On-Site training

ExtendSim training courses are available in one of our regional locations, through a certified ExtendSim Trainer, or even on-site at your facility. We have the flexibility to train virtually anywhere.

Multiple times throughout the year, beginning through advanced public training sessions are held at various US locations.

If you anticipate sending 3 or more employees to a public training course, you may want to consider on-site training. Courses can be scheduled at your convenience and in your facilities (anywhere in the world) as a privately held on-site training. We will send one of our authorized expert instructors to your site (with student laptops) for an intensive, hands-on, training. Plus, with on-site courses, there is the option to tailor the training to your environment and situation-specific needs.

See the complete course list to learn more details.

Modeling Techniques Questions

How can I model a berth that is used both for loading and unloading...

...I would like to use the Interchange block (from the Rate library) to represent the berth. Vessels would come to either load or unload. Can I use just one Interchange block to both load and unload?

Yes. In fact, there are three different ways to model a berth that is used both for loading and unloading:

Solution 1 -  One Interchange block simulates the ships at berth and the berth itself.

Solution 2 - One Interchange block simulates the ship loading or unloading and Tanks and Valve simulate the loading and unloading of product to and from the berth.

Solution 3 - One Interchange block is used for unloading and one Interchange block for loading.

downloadAll three solutions are illustrated within this freely downloadable model that illustrates how to load and unload at the same physical location.

Animating the simultaneous movement of items

Showing simultaneous movement requires the use of a Transport and/or Convey Item block. To animate the simultaneous movement of items through a model, follow these steps:

1. Place a Transport or Convey Item block at the point in the model where you want a transit time. A transit time is required to show simultaneous movement, otherwise the movement would have no duration.

2. Open the block's dialog. On the Transport Animation tab of the Transport and/or Convey Item block, check the "2D animation shows simultaneous movement" option. Tip: Use the Find and Replace block from the Utilities library to change all of the blocks at once.

3. Select "in a straight line" or "along connections" for the movement.

4. Turn off "Add Connection Line Animation" from the Run menu.

Turning arrivals on and off for certain Create blocks in a model

Connect a Switch block from the Utilities library to the "Q" (Item Quantity) input connector on the Create block. If the Switch is On, a quantity of 1 is sent to the Create block and an item is created. When the Switch is Off, a quantity of 0 is sent to the Create block and no item is created.

Database usage with the Optimizer

Use a Write block (Value Library) as an interface between the Database and the Optimizer. Follow these steps:

1. In a Write block, select the Database and table with the variables for the Optimizer.

2. Drag the clone of the preview table from the Write block to the Optimizer once per variable in the Optimizer.

3. Set the row and column in the Optimizer for the table. Remember that these are 0 based references (the first row and column are numbered 0).

When the Optimizer changes the variables, they will automatically be changed in the Database.

Event scheduling in ExtendSim as compared to other simulation tools

In other simulation tools, the items (AKA entities or transactions) are put on the event calendar (scheduled for future consideration when a time delay is encountered). In ExtendSim, the blocks have an entry on the event calendar. Some blocks contain their own event calendars with an entry for each item in the block.

Scheduling the blocks rather than the items has a number of advantages:

Because there are typically fewer event scheduling blocks in the model than there are items to be scheduled and the number of event scheduling blocks in a model does not change, the ExtendSim event calendar is relatively small. This eliminates the need for time consuming insertion and deletion of events on the calendar. This is particularly important in large model where searching the event calendar for the next event can be a large portion of the execution time.

It is very easy to change the event time. Because the block’s event time is stored in a fixed location, the future event time for the block can be changed with a simple assignment.

Items are not necessary for an event. A block can schedule an event without needing to create (and then dispose of) an item.

Any block in the model can schedule an event. This makes it particularly easy to build modeling components which simulate system features such as preemption and reneging. These types of features normally require internal or dummy items in other simulation tools.

Does ExtendSim use a push or pull to move the items through the model

ExtendSim uses both a push and pull mechanism to propel the items through the model. Residence blocks (residence blocks are any block that can hold an item for a non-zero amount of time, such as queues, activities, resource blocks, and some decision blocks) attempt to pull items in until it is full or until there are no more items to pull in. Then the residence blocks will try to push items out until there are no items left or the downstream path is blocked. In some cases, the residence block will hold the item for a specific time delay before attempting to push the item out.

The Activity is busy and there is no buffer for an incoming item

What will happen to this item when it tries to enter the busy activity? There is no buffer or queue before the activity to hold it. So the item will wait in the last upstream residence block. Residence blocks are any block that can hold an item for a non-zero amount of time. Examples include queues, activities, resource blocks, and some decision blocks. If the last residence block is a generator type block, the item will be held until a new item is created or the activity pulls the item. This is the only time that an item will be destroyed if there is downstream capacity.

Can I control the order that time ties are processed

In a discrete event model, you can control the order that time ties (two or more events occurring at the same time) are processed. ExtendSim will put the blocks on the event calendar in simulation order. Blocks with a lower simulation order will receive their event message first. You can change the simulation order with the following steps:

Go to Run > Simulation Setup > Continuous tab.

Turn on Show Simulation Order from the Model menu.

Select an event scheduling block and choose Set Simulation Order from the Model menu.

Note that the simulation order will only make a difference if two or more events occur at exactly the same time. If the events are not exactly at the same time, the events will occur in chronological order.

Using OLE or DDE Execute functionality to run a simulation

1. Are there any caveats to how I can use the RunSimulation, PauseSim, and ResumeSimulation functions?

These functions are not recommended for use via OLE automation or DDE Execute messages at all. These functions were developed before the External Scripting functionality was fully developed, and they do not work as well in this context as the ExecuteMenuCommand function. This function acts exactly as if you have selected the specified command from the menu bar and will perform better with the external control methods. The ExecuteMenuCommand function takes one argument, the command number. These numbers are defined in the Programmer Reference.

2. Should I use a different modeling technique if I am running a simulation that basically finishes instantly versus running a simulation that will run for longer and want to control interactively?

There is a difference is in how you should set up your code in these two cases.

If the simulation is going to complete instantly and/or you are not interested in sending other commands to ExtendSim while the simulation is running, you can just send the executeMenuCommand(6000) to ExtendSim without a worry.

If, however, you are interested in running a longer simulation, and you want to be able to pause and resume it or get data while the simulation is running, you should use the IPCServerAsync(TRUE); function. This function specifies to ExtendSim that the following Execute control action should execute asynchronously, not synchronously. A synchronously executed instruction will execute immediately and the application that sent the command will wait for the instruction to complete before it continues its execution. An async command, on the other hand, will return immediately allowing the application to continue on with other things while the simulation runs. The sequence of instructions you should execute in this case would be as follows:

a. IPCServerAsync(TRUE);

b. ExecuteMenuCommand(6000);

c. IPCServerAsync(FALSE);

These should be sent as three different execute messages. It is important to send the final IPCServerAsync(FALSE) and not to send any other Async messages while the simulation is running, as ExtendSim doesn't allow multiple asynchronous messages to be processed simultaneously.

Does changing the structure of my custom block effect other blocks?

If you add new dialog items or static variables to your custom block, they will need to be initialized. The easiest way to do this is in the on openModel message handler. This is called whenever a model is loaded. If you delete or change the dimensions of dialog items or static variables the data in the existing blocks may not match up correctly with the data in the existing blocks. To avoid this, delete the existing blocks and re-add them to the model. You can also use the "hide" feature to hide the dialog item. You should do this if your blocks are being used in models where it would be inconvenient to replace each instance of the blocks.

Technical Support Questions

Technical support policy

Technical Support is available for registered ExtendSim users either under an annual ExtendSim Maintenance Plan or on a Per-Incident basis.

Details on the ExtendSim Maintenance Plan can be found on the Support Plans page.

When running multiple versions of ExtendSim on one computer...

If you have multiple ExtendSim licenses on your computer (for example the Demo and full version), it is generally better to open the ExtendSim license you want to use first, then open the model. If you double-click on a model to open the application, it will open the last ExtendSim license installed.

Finding the version number of a library

Open the ExtendSim library by either opening the library in the Navigator window or selecting "Open Library Window" from the hierarchical library name menu.

The library version number can be found in the upper left corner of the library window.

Editable text boxes in block dialogs are not showing numbers

If you are trying to enter numbers into editable text boxes in a block dialog and nothing appears, the problem could be that your system has been set to use right-to-left text for programs that do not use Unicode. This setting will work for programs that are built to expect to use right-to-left text, but not for programs that are not set to expect this.

You may need to change your system locale. The system locale determines the default character set (letters, symbols, and numbers) and font that you use to enter information and that are used to display information in programs that do not use Unicode. Selecting a different language for the system locale will not affect the language in menus and dialog boxes for Windows or other programs that do use Unicode. Try changing the default locale to English (United States) and check to see if this helps.

To change the system locale, follow the instructions at:

Windows XP instructions differ slightly:

What does the error message "Run-time error 429" indicate?

The error "Run-time error 429: ActiveX component can't create object" might occur if you try to launch ExtendSim (as a server) from an outside application (as the client) in an ActiveX/COM client/server process. In order to interface with Excel or other outside applications using ActiveX/COM, ExtendSim must be registered as an OLE/COM server. Many companies restrict an employee's application permissions to the most basic. To register ExtendSim as an OLE/COM server, you must launch ExtendSim one time with Administrator permissions. To do this, right click on the ExtendSim.exe file and select "Run as: Administrator" (you'll probably need a password from your IT department).

Error message when attempting to check a client license out of my network.

If you receive an error message on your client installation when trying to check a license out of your ExtendSim network license is probably the result of not having sufficient permissions on your client machine to checkout the license. The checkout process requires some administrative rights on the client machine and many companies are restricting these rights from users.

Try using the right-click command 'Run as administrator'. If this doesn't work, then you may not have been granted sufficient permissions by your company on the machine to check out a license.

Error message when trying to access an Excel spreadsheet from ExtendSim

If the proper version of Excel is not installed on your computer, you will see the error "OLE CreateObject Not Successful" when you try to access an Excel spreadsheet from within ExtendSim. Possible causes of receiving this error are:

Excel is not installed on your computer.

Excel is installed on your computer, but the installation is damaged. In this case you will need to reinstall Excel.

A “click-to-run” version of Excel is installed on your computer. This version does not support communication between outside applications such as ExtendSim and Excel. See for more details. You will need to uninstall your click-to-run version of Excel and install a full version of Excel. Instructions for this can be found on the Microsoft link.

ExtendSim crashes on launch returning "Unknown msg..." error

Because ExtendSim has its own compiler, it executes compiled code. Windows can interpret this code as data, rather than code, that is executing. The default setting for Data Execution Prevention (DEP) is "Turn on DEP for essential Windows Programs only." Some Windows installations don't use the default; this causes a problem for ExtendSim. In certain cases, ExtendSim will crash upon launch and return the error message "Unknown msg Unknown block". To correct this problem, follow these instructions.

From the "Control Panel", find "System & Security or Maintenance"

Click "System", then go into "Advanced System Settings"

Under "Performance Settings", click "Data Execution Prevention"

Then, click "Turn on DEP for essential Windows Programs..."
OR...Add ExtendSim.exe to the list.

Questions about the ExtendSim 3D Environment

Importing objects for use in the ExtendSim 3D Window

The ExtendSim 3D environment accepts 3D objects in DTS format. Several common editors that support exporting a DTS object (with an added plug-in) are Milkshape, 3ds Max, and Maya.

If the 3D editor you are using to edit your existing objects does not have a DTS exporter, you will need to import the objects into an editor that does. Once you have the objects in a editor that supports exporting a DTS object, you can modify them for use in ExtendSim.

For more information, see Creating new objects for use in the ExtendSim 3D Window.

Creating new objects for use in the ExtendSim 3D Window

The ability to construct 3D objects is not built into ExtendSim. You can either import an object into the 3D window or build a new object. To build a new object for use with the ExtendSim 3D window:

The ExtendSim 3D environment accepts 3D objects in DTS format. When creating 3D objects for use in ExtendSim, use a 3D object editor that supports exporting objects in the DTS format. Most editors do not have a native DTS format ability, so this might involve adding an exporter plug-in to the editor. Several common editors that support exporting a DTS object (with an added plug-in) are Milkshape, 3ds Max, and Maya.

Create the object in the editor. While designing the object, keep in mind different types of objects have different requirements. For example, an ExtendItem (an item that travels from block to block) should have a mount point on the top and bottom. To learn more about requirements for DTS objects, download the ExtendSim Developer Reference.

Export the object from the editor to a DTS file. DTS objects have certain requirements. As an example, all DTS objects used by the GarageGames Torque engine require a bounding box. The exporter plug-in will, in some cases, provide the ability to add a bouding box automatically.

Add the exported DTS file and associated texture files it requires into ExtendSim. Information about adding an object to the ExtendSim extensions folder is available in the ExtendSim Developer Reference.

This is a simplified but complete description, as each of these steps could potentially be complex.

For more tips on creating 3D objects, consider Creating Game Art for 3D Engines (written by Brad Strong, published by Charles River Media). It covers the use of 3DS Max to build objects for the Torque engine (the engine the ExtendSim 3D window is based on).

Feel free to contact ExtendSim Technical Support if you have any questions about this process.

Reference books for creating 3D animation

There are several books that could be quite useful if you want to learn more about the Torque Game Engine, how to modify the ExtendSim 3D (E3D) window, or how to add components or behavior to the ExtendSim 3D functionality.

The ExtendSim User Guide and Developer Reference contain a lot of information about the E3D environment. We suggest you look there first.

If you are trying to do customization of behaviors or events in the E3D window that are beyond the scope of the material in the User Guide and Developer Reference, we suggest:

Creating Game Art for 3D Engines. Brad Strong. Charles River Media.
This book is a description and a tutorial for building objects for use with the Torque (E3D) engine. It uses the 3DS Max software package as the design software.

The Game Programmer's Guide to Torque. Edward F. Maurina III. GG Press.
A guide to the Torque Game Engine (TGE).

3D Game Programming All In One. Kenneth C. Finney. Premier Press.
Another guide to the Torque Game Engine (TGE).

Making a 3D object ready for export to ExtendSim

We've jotted down some notes about the process of creating a DTS object for use with ExtendSim that you might find useful. Note: these observations are based on using 3DS Max and may have some assumptions or information as a result of that.

As much as possible, the object should be moved to be centered at 0, 0 in the XY coordinate system and should have its base at 0 on the Z axis. Do not put the object in one of the corners.

Object scaling is a big and important issue. By default, the object may need to be scaled. One option for scaling the object is to select all parts of the object and use the scaling tools in the 3D object application to uniformly scale the object larger or smaller. This is a convenient solution for the case where the exported object appears okay, but is either too large or too small in the ExtendSim environment.

After moving or scaling your model, you may need to reset the transforms. This makes sure that each part of the model is correctly tagged internally with its location and scaling information. A slightly complex method for doing this that works cleanly and has the added benefit of combining multiple parts of the model (which is helpful if there is no reason to separate them in the DTS model), is described below under Box Trick.

The names of nodes or bones need to conform to certain rules. The rules require a specific layout of the node hierarchy and that some node names follow certain naming conventions. DTS Exporter Reference is a document that covers in great detail how everything works, plus has some extra goodies to help you solve some of the more complex problems you may encounter with the engine and DTS export tools.

Node names need to be unique (which is not a requirement for all 3D modeling environments, so this may not be the case in your model). Node names of mesh components require the detail level number to be the last character in its name (as described in DTS Exporter Reference) so you cannot just add 1, 2, 3 etc. to the end of the existing names to make them unique.

A DTS object requires a bounding box. This is a box around the outside of an object that defines the shape within the engine. The box must be called bounds. The orientation of the bounding box defines the orientation of the final object. The box should completely enclose the shape at all points. Depending on which DTS exporter you are using, there may be a facility for creating the box from within the exporter.

JPG or PNG textures that are associated with the object will need to be included with the final DTS object. Please note that if these texture files are not a power of 2 on each side, (ie. the number of pixels across each of the sides is not one of 2, 4, 8, 16, 32, 128, 256, 512, …) the texture file will need to be modified to meet this criteria. This modification can be done by clipping or stretching the file. Which of these methods you choose to use depends on how the texture is mapped to the object.(The simplest thing to do is to try both and see how the object appears in the ExtendSim 3D window.) Note that the texture does not need to be square, (ie. the number of pixels in width does not need to match the number of pixels in height) but each side needs to be a power of two in dimension.

Don’t forget to add nodes that are specific to ExtendSim and/or the Torque Engine. Specifically the most common nodes you will want to add are a mountPoint at the bottom of the object and a mount0 node at the top.

Note the following text is from the website:

Resetting Transforms: "The Box Trick"

There is a foolproof way to reset the transform of a mesh in 3DSMAX. Most of the built in methods for resetting the transform are not as clean doing "The box trick". When you have moved, rotated, or scaled your model you will need to use this trick to cleanse its transform information.

This method is preferred over the reset x-form function in MAX. Reset x-form does it's work by sticking a modifier in the 3DSMAX modifier stack. This adds additional data that must be interpreted by 3DSMAX in order to output the correct data, and it is not always correct or accurate. It works, but it has proved problematic in the past on certain shapes.

Procedure 8.14. The "Box Trick"

Create a simple box shape.

Align this box with the origin of the bounding box.

Convert the box to an editable mesh.

With the box selected, go into the modifier panel and click the "attach" button. Select the character mesh to be attached to the box. The character should now be a part of Box01. (If you have more then one mesh that you would like to be a single piece in the final DTS, attach them all, one by one.)

To remove the extra box geometry hanging around, choose "Select by Element". Select the box shape then delete it.

Rename your character mesh so that it conforms to the export parameters (detail number, etc.)

Your character mesh has a brand new transform, identical to that of the box when it was attached.

The ExtendSim 3D environment accepts 3D objects in DTS format. Use a 3D object editor that supports exporting objects in the DTS format. Most editors do not have a native DTS format ability, so this will involve adding an exporter plug-in to the editor. Several common editors that support exporting a DTS object (with an added plug-in) are Milkshape, 3ds Max, and Maya.

Create the object in the editor. While designing the object, keep in mind different types of objects have different requirements. For example, an ExtendItem (an item that travels from block to block) should have a mount point on the top and bottom. To learn more about requirements for DTS objects, see the ExtendSim Developer Reference.

Export the object from the editor to a DTS file. DTS objects have certain requirements. As an example, all DTS objects used by the GarageGames Torque engine require a bounding box. The exporter plug-in will, in some cases, provide the ability to add a bouding box automatically.

Add the exported DTS file and associated texture files it requires into ExtendSim. Information about adding an object to the ExtendSim extensions folder is available in the ExtendSim Developer Reference.

Contact ExtendSim Technical Support if you have questions about this process.

Known Incompatibilities

NewWindows 10 Fall Creators Update conflict

In October 2017 Microsoft began rolling out Windows 10 Fall Creators update, release 1709. As with any update, there were some problems and some unintended consequences. One change was how the Windows memory manager worked, which caused a problem for ExtendSim such that it could hang up or crash on launch.

If you are using ExtendSim 7.0 to 9.2 released prior to November 16, 2017, get your fix file here.

Does ExtendSim run on the Macintosh operating system?

Yes and no. ExtendSim for Macintosh will NOT run on current Macintosh operating systems OS X 10.7+. However, ExtendSim for Macintosh will continue to run on Mac OS X 10.6.8 and earlier. If you are using a Macintosh with OS X 10.7 or newer, use the Windows version of ExtendSim running in Parallels or BootCamp. Here's why:

Why does ExtendSim for Mac not run on Mac OS X 10.7 and greater?

ExtendSim was originally created on the Macintosh platform in 1989. In 1996 we completely rewrote the application using a different development environment so that ExtendSim would run natively on the PowerPC architecture. When Intel-based Macs came out, it was Apple's 3rd migration to a different CPU in 20 years - an unprecedented burden on long-time Mac developers. Apple did release a technology called Rosetta which enabled PowerPC based applications to run on Intel technology. However, five years later, with the release of Mac OS X 10.7, Apple discontinued support for Rosetta.

What are your plans related to ExtendSim for Apple customers?

The ExtendSim application and its many libraries of blocks are the result of 25+ years of programming and enhancements and contain millions of lines of code. We are currently rewriting ExtendSim in a newer development environment that will natively support Intel-based Macs. While we don't have a definite date when this process will be completed, we will keep you informed.

What are my options today?

Run the Windows version of ExtendSim on your Mac, but in the Windows operating system. To do this, you need to obtain the Windows operating system and an emulator. You can use Boot Camp Assistant (installed with the Mac operating system in the Utilities folder under Applications). Or install the emulation software Parallels ( During installation, Parallels will request the Windows operating system installer to complete the process. Once the installation is complete, you can install the Windows version of ExtendSim.

Run the Windows version of ExtendSim on a Windows computer.

We are working hard to ensure ExtendSim will be compatible with future Macintosh operating systems.

Running Excel macros from ExtendSim 7 could cause a mysterious crash

Of course the easy fix is to upgrade to ExtendSim 9 to fix the problem. However, if for some reason you plan to continue to use ExtendSim 7, read on.

There is a potential problem when running Excel macros from ExtendSim using OLE/COM if the Google Desktop add-in is installed and active in Excel. During the running of the macro, the following Microsoft Visual basic error can occur:

Run-time error '-2147417848 (80010108)';

Automation error
The object invoked has disconnected from its clients.

To fix this problem, make the Google Desktop add-in inactive in Excel:

Go to Excel Options > Add-Ins > Manage

Select "COM add-ins"

Click the "Go" button

Uncheck the Google Desktop add-in

Google is aware of this incompatibility.

Feel free to contact ExtendSim Technical Support if you have questions about this process.