Search
 
.
. .
line
ExtendSim context-sensitive Help
ExtendSim HelpFrom within ExtendSim, select the Help command in the Help menu or press F1 on your keyboard. For questions about a specific blocks, click on the Help button in that block's dialog.
.
ExtendSim DocumentationExtendSim User Guide and Developer Reference
PDF files in your ExtendSim/Documentation folder or download here.
.
ExtendSim FeaturesUser Forums
.

Contact Technical SupportContact ExtendSim Technical Support

.
Buy Now
. .
. . .
.

 

FAQsSales Questions

ExtendSim 7.0.6a was released November 14, 2009. If you are using an earlier release of ExtendSim 7, download a patch file to update to 7.0.6a.

Note: The only change from 7.0.6 to 7.0.6a was made to the Rate library. If you had already updated to ExtendSim 7.0.6 which was released November 2, 2009, you only need to upgrade to 7.0.6a if you are using the Rate library (in ExtendSim AT or ExtendSim Suite).

To see the complete history of ExtendSim, go to the Evolution of ExtendSim. To see changes made in incremental releases of ExtendSim 7, go to ExtendSim 7.x Updater Enhancements.

Network licenses are available for ExtendSim. An ExtendSim Network License allows a specified number of simultaneous ExtendSim users in a network environment. For more details, see License Types.

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.

To allow others to access your model or the ExtendSim functionality across an internet or intranet, you need an ASP license.

You have the option to purchase an ExtendSim Maintenance Subscription when you purchase or upgrade ExtendSim (single user licenses only). Major upgrades (whole number version changes) released during your maintenance year will automatically be shipped to you. You will be invoiced annually to renew the Subscription so that you can continue receiving regular upgrades.

If you purchase a Network License, you will automatically be enrolled in an annual Maintenance and Support Plan.

Downloaded products

Downloaded software cannot be returned. A license code is provided, but no physical product is shipped so there is nothing to be returned. ExtendSim may be evaluated at no charge before purchase with the ExtendSim Demo, a trial version of ExtendSim.

Boxed products

. bullet If you download the software, you cannot return the boxed product. Returns are only accepted if the product has not been downloaded.
.

bullet

Return requests for boxed products must be made to Imagine That Inc. within 30 days of shipment.
. bullet

Request an RMA number from Imagine That Inc. or your ExtendSim Distributor prior to return.

  bullet Package must be unopened.
  bullet A 15% restocking fee applies.
  bullet No refunds on shipping fees.

Training refund policy

. bullet Up to 14 days before the course starts Full refund
.

bullet

One to 13 days before course starts $500 cancellation fee
. bullet

No show or no advance notice of cancellation

No refund
  bullet Imagine That Inc. reserves the right to cancel training up to 14 days before the course starts.

Imagine That! warrants the CD on which the Software is recorded to be free from defects in material or workmanship under normal use for 30 days after the date of initial delivery. During the 30-day period, you may return the CD to Imagine That! and it will be replaced, without charge, with other media containing the Software. After the 30-day period, registered users can request a replacement CD for $25. Such replacement of the CD is your SOLE AND EXCLUSIVE REMEDY in the event of a defect.

ExtendSim ships with two printed manuals - a User Guide and a Developer Reference (except as noted below). All ExtendSim products also include these manuals in online, pdf format.

Printed documentation is NOT included with the following ExtendSim products: Lab License, LT-RunTime, and Demo. These products do, however, include the manuals online in the form of pdf files that you can read, search, and even print.

The ExtendSim User Guide explains and provides examples of different simulation approaches. This manual has step-by-step tutorials and models that show you how to build, run, and analyze ExtendSim models. Other sections in the User Guide show you how to enhance the look of your models, add animation and costing, print, import/export data, and so forth. The Developer Reference discusses the parts of a block, gives an in depth discussion of ModL code and the source code debugger, provides programming tips, and lists all of the built-in functions.

You may also download the ExtendSim manuals.

Check out our abbreviated list of solutions that ExtendSim has helped facilitate. Also, there are a number of case studies, papers, and articles published on the web and in magazines that discuss how ExtendSim (and Extend, as it was formerly called) is being used by others. References to ExtendSim can be found in a number of books as well.

To learn about what other ExtendSim users are modeling right now, go to the ExtendSim Exchange, a virtual meeting room to exchange ideas, discuss simulation techniques, post issues and solutions, and talk directly to other simulationists.

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.

. .

FAQsUpgrade Questions

Download an Upgrade Order Form. If you are using ExtendSim in an educational environment, download an Education Upgrade Order Form.

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

. bullet New libraries and features replace “legacy”* libraries.
arrow Item library replaces BPR, Discrete Event, and Mfg (Manufacturing) libraries.
arrow Value library replaces Generic library.
arrow Rate library replaces Flow library.
arrow Animation 2D-3D library replaces Animation library.
arrow Built-in features in ExtendSim, as well as in the Item and Value libraries, replace Items (DB) and SDI Tools libraries.
arrow See the “v6 to v7 Equivalents” file located at ExtendSim7\Documentation for a list of each legacy* block and the corresponding new block or feature.
arrow All the legacy* libraries are in the folder \Libraries\Legacy.
arrow The legacy* libraries allow you to run models built in previous versions. But the legacy libraries are no longer being supported and will not be available in future versions of ExtendSim. Use of legacylibraries should be avoided, especially when creating new models.

  bullet ExtendSim Databases replace the Industry database that was included in Extend Suite and Extend Industry.
arrow The Industry database is furnished with ExtendSim so that you can run old models. However the Industry DB is no longer supported and will not be available in future versions of ExtendSim. Use of the Industry DB should be avoided, especially when creating new models.
arrow So that you don’t lose any stored data, an ExtendSim Database can import an exported Industry database file.
  bullet ExtendSim Suite includes 3D animation.
arrow If you previously used Extend Suite 6, Proof Animation is included in your ExtendSim Suite upgrade.
arrow Proof Animation will NOT be automatically included in new (non-upgrade) purchases of ExtendSim Suite. Instead, it can be purchased separately.

  bullet ExtendSim 7 can read Extend 6 and 5 libraries (including the legacy* libraries), as well as the models you built in 6 or 5. However:
arrow Because of extensive architectural changes, there is no automatic method to cause older models to substitute blocks in the new libraries for those in the legacy* libraries, or to substitute an ExtendSim database for the Industry database.
arrow Models and libraries that have been saved in ExtendSim 7 cannot be read by older versions.
  bullet When building models, you can combine blocks from the new ExtendSim libraries (Item, Rate, and Value) with blocks from the legacy* libraries. However:
arrow You cannot connect blocks from the (new) Rate library to (legacy) Flow library blocks.
arrow It is preferred that you build models using just the new ExtendSim libraries - avoid using the legacy* libraries when creating new models.
  bullet Extend 6 products (Extend CP, Extend OR, Extend Industry, and Extend Suite) will be available for purchase until supplies run out. The cost to purchase a v6 license is the same as a comparable ExtendSim 7 license.
  bullet The User Guide and Developer Reference have been rewritten.
  bullet An abbreviated list of new features can be found on this web site. For a list of all the new features. see the ExtendSim command Help > What’s New.
*The “legacy” libraries are: Animation, BPR, Discrete Event, Flow, Generic, Items (DB), Mfg, QuickBlocks, and SDI Tools.

In addition to its new name, there are major changes that will affect how you use ExtendSim now and in the future.
. bullet Before you begin the installation procedure, backup your old Extend folder and files.
  bullet Install ExtendSim 7 using the Installation Guide included with the upgrade package.
  bullet If you have created models, custom libraries, and so forth:
arrow Copy your models to the ExtendSim7 folder.
arrow Copy your custom libraries to the \Libraries folder.
arrow Copy your Include files to \Extensions\Includes.
arrow Copy your DLLs to \Extensions\DLLs.

  bullet You can now uninstall the old Extend application and files.
  bullet If you decide to instead keep the old Extend application files, please note that:
arrow Only one instance of ExtendSim/Extend can run at a time.
arrow Once you have saved models and libraries in ExtendSim 7, they cannot be read by older versions.
arrow We do not provide technical support for older versions.
arrow See the ExtendSim command File > Update Launch Control (Windows only) to select which application (ExtendSim or Extend) will launch when a model or library file is double-clicked.

We can ship Extend 6 to you if you are working with others who are still using this version. However, you will pay ExtendSim 7 prices. We recommend you purchase a Maintenance Subscription with your license so you can get ExtendSim 7 sent to you at no charge when you are ready to upgrade. Otherwise, you will need to pay the full upgrade price. This offer is valid only while supplies last.

. .

FAQsModel Sharing Questions

Download the ExtendSim Demo-Player. The ExtendSim Demo-Player is a limited, working copy of ExtendSim that allow you to view models built by others and build small models on our own. You also have the ability to:

  button Explore the feature and capabilities of all four ExtendSim products: ExtendSim Suite, ExtendSim AT, ExtendSim OR, and ExtendSim CP.
space button Use it as a Player to run ExtendSim models of any size and view simulation results.
space button Build (but not save) models that contain up to 75 blocks.* (Automatic model construction using scripting is not available in the Demo.)
space button

Change (but not save) parameters in any size model.

space button Add new blocks and change connection lines in small models (75 blocks or less; additions and changes are not saved).*
space button Create new blocks and save them in libraries.
* Full versions of the ExtendSim products allow you to build models of any size, save changes to existing models and save the models themselves, print model worksheets, and use scripting to automatically construct a model.

For slightly more functionality, like saving model parameter changes and printing, consider the ExtendSim LT-RunTime.

ExtendSim LT-RunTime is a limited version of ExtendSim that has more saving and printing capability than the Demo version. It is designed for:

. button Students building small (75 blocks or less) models for classwork.
  button Potential customers who are evaluating the ExtendSim line of products and need more capability than the free Demo version.
  button Customers who don’t have ExtendSim but want to run models built by others.

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

  button A library in RunTime format can be used by an LT-RunTime or Demo/Player version of ExtendSim to run models, but not to build models.
space button 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.)
space button Libraries that are in RunTime format have their source code removed.

The LT-RunTime 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:

Note: ExtendSim libraries are platform specific so library conversion must be done on the end user’s platform. For example, the Windows LT-RunTime version can only read libraries that have been converted to RunTime format on the Windows platform.

  button In ExtendSim, choose Library > Tools > Convert Library to RunTime Format.
space button 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.
space button Libraries converted to RunTime format keep the same name as the original, but add the extension “.lrx” (Windows) or “.rt” (Macintosh).
space button

Since the library name is the same, models opened by the LT-RunTime 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.

You may customize an LT-RunTime startup screen with some personalized text. For example, to add your name and telephone number so the end user can contact you.

Customizing the screen
space To customize the startup screen of an LT-RunTime application that is already installed on a computer, give the command Library > Tools > RunTime Startup Screen Editor in the LT-RunTime application. A window appears asking you to open the “extrsr.rsr” file that is located in the ExtendSim LT-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
space To give an end user a text file that will display your custom information in their LT-RunTime application, do the following:
space button Install an LT-RunTime version on your computer so you can test the customization.
space button

Use a word processing program and type up to 4 lines of custom text, with a maximum of 100 characters per line.

  button Save the file as a text file named "ex_name.txt", typed exactly as shown here.
  button To test the customization, place a copy of the "ex_name.txt" file into the ExtendSim LT-RunTime folder and launch the LT-RunTime.
  button When the LT-RunTime application is 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.)
  button 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 LT-RunTime folder. (Each end user needs his/her own LT-RunTime license.

As the developer, it is your responsibility to supply the end user with the necessary files and sufficient information to install those files. As appropriate, consider including the following:

space button Your ExtendSim models.
space button

Your custom libraries:

space button For the full-featured version of ExtendSim, the library must not be in RunTime format unless you do not want the end user to be able to build models with that library.
space button

For the LT-RunTime or Demo versions of ExtendSim, the library must be in RunTime format so the end user can run models using that library. If you also want the end user to be able to build small models with that library, you must also supply a non-RunTime copy of the library.

  button Any extensions required by your files.
  button For an end user with an LT-RunTime, a copy of the “ex_name.txt” text file to customize the startup screen.
  button Installation and usage instructions.

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

space button Already have a full version of ExtendSim.
space button

Not want to purchase the full version of ExtendSim.

If the end user has a license for the full version of ExtendSim:
space In most cases you can just provide your models and custom libraries to the end user. (Keep in mind that, if your custom libraries have been derived from ExtendSim libraries in the ExtendSim OR, ExtendSim AT, or ExtendSim Suite products, the end user must also have that ExtendSim product.) Also consider:
space button To prevent blocks being added, deleted, or moved in your models, give the Model > Lock Model command and use a password.
space button

To protect the source code of your custom libraries, use the Library > Tools > Protect Library command.

If the end user does not have the full version of ExtendSim:
space The LT-RunTime and Demo versions are a perfect solution for end users who do not have the full version of ExtendSim. End users can either purchase an ExtendSim LT-RunTime or download the free ExtendSim Demo from www.simulationdemo.com. You then need to deliver your models and other files (such as your custom libraries formatted for RunTime [see below], DLLs, and Includes) to the end users. If you purchase an LT-RunTime license for the end user, you may also customize its startup screen with your contact information.

Your models

The LT-RunTime and Demo versions do not allow end users to add, delete, or move blocks in models larger than 75 blocks. However, these versions do allow end users to make those changes in small models (75 blocks or less).

For a small model where you don’t want blocks added, deleted, or moved, give the Model > Lock Model command and use a password. This will prevent any modification to the model other than changing dialog values.

Your custom libraries

The LT-RunTime and Demo versions require that your custom libraries be in RunTime format.

space button If you want end users to be able to use your libraries with the LT-RunTime or Demo version, you need to convert those libraries to RunTime format.
space button

If you want the end user to be able to use your libraries to build models, 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.)

  button If you do not want the end user to be able to use your libraries to build custom models, only send them your libraries that have been converted to RunTime format

The functionality of the Extend 6 Player has now been folded into the ExtendSim 7 Demo-Player. It will read the model into ExtendSim 7 and allow you to run and make parameter changes to the model; just like the Extend 6 Player had allowed you to do. Download the ExtendSim Demo-Player.

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-2010 Imagine That Inc. All rights reserved.

You must get prior written permission from Imagine That Inc. before using any documentation from the ExtendSim manuals, blocks, Help, or the Imagine That Inc. web site in your documentation. Once permission is granted, please include this statement:

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

FAQsModeling Techniques Questions

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.

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.

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.

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:

. bullet 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.
  bullet 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.
  bullet Items are not necessary for an event. A block can schedule an event without needing to create (and then dispose of) an item.
  bullet 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.

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) 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 item waits 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.

Yes, ExtendSim puts 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:

. bullet Go to Run > Simulation Setup > Continuous tab.
  bullet Turn on Show Simulation Order from the Model menu.
  bullet Select an event scheduling block and choose Set Simulation Order from the Model menu.
  bullet 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.
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 do things differently if I am running a simulation that basically finishes instantly versus running a simulation that will run for longer which I 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:

1. IPCServerAsync(TRUE);
2. ExecuteMenuCommand(6000);
3. 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.

 

If you add new dialog items or static variables, 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.

You may need to update your copy of Carbon Lib, an extension allowing OS X applications to function properly under OS 9. You can update Carbon Lib by using Software Update under your Apple menu.

. .

FAQsTechnical Support Questions

Access to technical support is provided to all registered users at no charge for the first 60 days after purchase. Upgrades to new versions are fee-based unless you opt for the Maintenance Subscription.

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.

. bullet Open the ExtendSim library.
. bullet From the hierarchical library name menu, select "Open Library Window".
    Or open the library in the Navigator window
. bullet The library version number is in the upper left corner of the library window.

In the network license of ExtendSim 7.0.2a, we have added technology to prevent an issue where checking out an ExtendSim 7 license could alter an installed Extend 6 license. In versions of ExtendSim to 7.0.2a, when you checked out a network license, then checked it back in, the registry entry would not always be cleared. This could sometimes cause the application to not allow you check out a license the next time you tried. If the following conditions are true:

. bullet You do not have a client installation of Extend 6 Network on your machine.
. bullet Your machine is not configured as the Network Server for ExtendSim or Extend.
  bullet Your license of either Extend or ExtendSim is not currently checked out on your machine.

Download fileDownload this Registry Clear file and uncompress it. Place the "Registry Clear.exe" in your ExtendSim 7 folde and double-click it. This will clear the registry entry and you will now be able to check out and check in licenses.

If you receive an error message regarding QuickTime as you attempt to launch ExtendSim, there is an older version of QuickTime installed on your machine. Either update to the latest QuickTime release or uninstall QuickTime to get ExtendSim to launch properly.

. .

FAQsQuestions about the ExtendSim 3D Environment

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 How do I create a new object for use in the ExtendSim 3D Window?

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

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.

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

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 for questions about this process.

?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).

These notes are a series of observations about the process of creating a DTS object for use with ExtendSim. It is not a tutorial or step by step procedure for doing this. Note these observations are based on using 3DS Max and may have some assumptions or information as a result of that.

arrow 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.
arrow Object scaling is a big and important question. 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.
arrow 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 as the Box Trick.
arrow 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. GarageGames.com 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.
arrow 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 GarageGames.com DTS Exporter Reference) so you cannot just add 1, 2, 3 etc. to the end of the existing names to make them unique.
arrow 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.
arrow 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.
arrow 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 GarageGames.com 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.

 

arrow 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.
arrow 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.
arrow 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.
arrow 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.

Feel free to contact ExtendSim Technical Support for questions about this process.

. .

FAQsKnown Incompatibilities

We have discovered 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:

line

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

Automation error
The object invoked has disconnected from its clients.

line

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

arrow Go to Excel Options > Add-Ins > Manage
arrow Select "COM add-ins"
arrow Click the "Go" button
arrow Uncheck the Google Desktop add-in

We have contacted Google to notify them of this incompatibility.

Feel free to contact ExtendSim Technical Support for questions about this process.

. .