ExtendSim 7.x Updater Enhancements

Search
 
.
. .
Upgrade to ExtendSim 8
Upgrade to ExtendSim 8
Become a pacesetter. Get the latest ExtendSim tool.
.
ExtendSim 7 Updater
ExtendSim 7 UpdaterUpdate single user and network ExtendSim 7 licenses to 7.0.6a.
.
ExtendSim LT-RunTime 7 Updater
Patch EnhancementsUpdate ExtendSim LT-RunTime 7 licenses to 7.0.6a.
.
System Requirements
Systems RequirementsWhat it takes to run ExtendSim
.

License Agreement
For single user ExtendSim licenses

. .
. . .
.

 

FixesFix in ExtendSim 7.0.6a
Released November 14, 2009

Note: The only change from 7.0.6 to 7.0.6a was made to the Rate library.

bullet All Rate library blocks

Corrected a typo in Rate library blocks that caused an incorrect display of Total Flow In and Total Flow Out parameters in the Results tab.

.

.

FixesNew features and fixes in ExtendSim 7.0.6
Released November 2, 2009

ExtendSim Program
bullet Fixed drag and drop so it won’t add spurious LF characters.
bullet Link structure messages now include a Table_Sorted message to inform a linked block when a table was sorted.
bullet Infinity column tag works better in string datatables.
bullet Column tags could sometimes get confused when the table was scrolled horizontally.
bullet No longer a chance for a crash if the structure window had an internal error calculating the number of include files. 
bullet Appending labels to datatables or popupmenus sometimes behaved incorrectly with empty strings.
bullet Open Dynamic Links command now works correctly if the front window is an h-Block worksheet.
bullet Poking data directly to a Global Array now works correctly.
bullet Sometimes a spurious message about not being able to find the SDILoader.dll would appear. This has been corrected.
bullet Calling ListGetInfo to see if a list exists would sometimes produce a spurious message.
bullet ODBCCountRows included spaces in an internal ODBC Query that caused errors in some drivers.
bullet OLEDBResult functions well with Excel returning a single cell or when a range of data is returned.
bullet Fixed a problem with picture names in the extensions folder that were longer than 15 characters. Names can now be longer. (Up to 255 characters.)
bullet ClearBlock function now sends the DeleteBlock message to the block (and it can be aborted, if desired).
bullet Hide/Show dialog item refresh behavior improved.
bullet GetDialogVariable and SetDialogVariable now respect links for parameters This will also correct dragging linked parameters to the optimizer block.
bullet PopupMenu functions that take more than one string will now still work if the first string is empty and the second has content.
bullet Connector messages now allowed in AbortSim.
bullet Prevented loop when more than one parameter was linked to a random database cell.
bullet Added missing DB Address format conversion when writing to a string field.
bullet HBlock updating does not send spurious disconnect and connect messages.
bullet Debugger now aborts correctly even if not during a simulation.
bullet Fixed crash in ConnectorLabelsSet() if number of labels was too large.
bullet ModelSaveAs function now deals with path strings longer than 127 characters.
bullet Linked lists with string elements now deal with strings longer than 127 characters.
bullet Cloning dialog items is now functioning properly in the Macintosh version.
bullet On Mac OS 10.6 (Snow leopard), the application will no longer ask for your serial number each time the application is launched.
ExtendSim Database
bullet Database viewer pane is more efficient in its redraws as it now only redraws when visible content is updated.
bullet Checkboxes in datatables now deal better with novalue values.
bullet Appending labels to datatables or popup menus sometimes behaved incorrectly with empty strings.
bullet Headers tag information is now being copied correctly when creating a datatable clone.
bullet Using the Database menu item to import a database over an existing database now correctly preserves linked cells.
bullet Now allows huge number of parents in parent selector for child fields.
bullet Now allows replacing an existing child value with “Not assigned yet”.
bullet Added missing location parameter to some database cell distributions.
bullet A call to DBRelationCreate() can now replace an existing relation correctly.
bullet Trying to sort the same field twice during the same sort call causes an error message and not a crash.
bullet Table names are now not case sensitive in the last character.
bullet Fixed Database memory leaks.
bullet Fixed spurious FIELD_MOVED notifications when clicking on a field in a database and not moving the field.
bullet DBDatabaseOpenViewer() now correctly opens the DB Viewer if a table is supplied.
bullet No longer sends messages for each cell during an import. Messages are sent only once at the end increasing speed.
bullet Database Named Distributions that were not empirical are now updating database cells correctly if they were changed.
bullet Importing databases from the menu now correctly maintains links if it replaced an existing database.
bullet Read-only fields now work correctly with checkboxes and other editable column tag types.
bullet Database table names now are not case sensitive in the last letter.
bullet Activities
bullet

Added argument checking for the random distributions delay.

line
bullet Attributes
bullet

Removed obsolete reference to MaxAttribs.
bullet Added the REPORT_DB_VALUE option to Attrib_GetVal().
bullet In Attrib_ShowNewAttribMsgBox(), changed how the procedure responds if the user clicks OK with nothing typed for a name.
bullet Added "_Animation" to the list of attribute types so the animation attribute will return column 0.
bullet Added constant REPORT_DB_VALUE is 6;
line
bullet Equations
bullet Added another argument to Eq_Calc() specifying whether static variables should be restored. In certain cases, such as an instance when Equation (I) is controlling a downstream blocker, Eq_Calc can get called via "on oVarsOut" more than once per item because the downstream blocker can send more than one message per item out its select connector. Consequently, static variables can incorrectly be changed more than once. This is why we would restore in this case. The change was made to make iVarsIn_GetConInfo() and oVarsOut_GetConInfo() more robust.
bullet Corrected how Equations were calling ConnectorLabelsSet() with the third argument incorrectly and the usage of "numRow" instead of "numCons".
bullet Fixed the bug the would occure when using "open developer reference".
bullet Activity
bullet Enabled db address attribs for the 'use attrib for delay' option. If used, this option will do a read from the database.
bullet If a model is using an on/off shift and if the model aborts during OFF, must restore maxLength_prm to original setting.
bullet Added enhanced shutdown error message.
bullet New code added to capture additional opportunities to get upstream items.
bullet Added call to MoveItems() in ShiftSchedule so that items ready to move will move before going off shift.
bullet Added exception handling in GetItem() if delay for item = 0. If delay is zero, then the calendar date conversions used to get a doneTime can lead to negative done times.
bullet Number of blocked items wasn't getting updated in SendItem() when the item got pulled.
line
bullet Batch
bullet Items are now being disposed properly when they are being matched into a batch.
bullet SendItem does not send wants if an item is pulled from the output connector.
bullet Changed GetBatchQuantity from integer to real. If the batch quantity was a novalue, it was getting converted to an integer.
bullet Added initializing First and Last at con attribute values. If both were blank, it would use an old value.
bullet "Show connectors for item count" has been changed to "Use quantity input connectors".
bullet Added pull of all non-delay kit items before the delay kitted items are pulled in.          
bullet Turned off link messages on open model. They are only really needed when the dialog is open. This greatly reduces the number of link content messages received. Also turned off linking for properties table. That just won't work.
line
bullet Catch Item
bullet Added reentrance flag to detect if this block is in a message loop. This stops the messaging if the block receives a want from the output and it is already processing the same message.
line
bullet Convey Item
bullet Fixed problem where setting fullOut was checking the wrong EntryOpen connector.
bullet Changed reference from "Speed_or_delayIn" to "SpeedIn".
line
bullet Create Item
bullet Added argument checking for the random distributions.
line
bullet Executive
bullet Removed obsolete reference to MaxAttribs.
bullet Added an option to write continuously the last calculated lp to a text file.
bullet Added call to SLClear() in "on Delete".
bullet In "on attribRename_btn" added call to                 BuildAttribNamesTable(). This is needed if you have renamed the attribute so that it should now appear lower on the list of attribs.
bullet When a decision variable has been calculated and the result is 0, then the variable has to be excluded from the constraints.
bullet Removed turning on event connector in on connectionMake. This was incorrectly turning on the event connector when the count connector was connected.
bullet You may now properly delete a database linked string attribute.
bullet Fixed bug with attribDelete_btn and attribRename_btn.
line
bullet Get
bullet For backwords compatability, write the value from the first row of the "if no item, use" column to initializeGetValues_prm.
line
bullet History
bullet Fixed time units in the data table label.
bullet During array resize, bypass linking to dynamic table if it is currently linked to a DB table or GA.
bullet You will receive an error message if you try cloning the history table to interior of a hierarchical block as there is currently no way to create a clone from the History block to the inside of a hierarchical block.
line
bullet Queue
bullet Added check to setup dynamic arrays if necessary.
bullet Corrected item reference for 3D object when 3D is in quickview mode.
bullet Added check to make sure that resources were being used before accessing attributes to reference the resources.
bullet Fixed PriorityOut connector if resources are used.
bullet Assigned CurrentWait_prm to SysGlobal8 earlier.
bullet Replaced resourceAttributeIndex with AttribColIDsNumResources. resourceAttributeIndex was not initialized correctly and the arrays have duplicate functionality.
bullet Reverted the change from January 7, 2009 because the change from August 13, 2008 had already fixed the problem.
line
bullet Queue Equation
bullet Fixed "_Attrib last item to exit".
line
bullet Queue Matching
bullet Length connectors were only updating when animation was on.
line
bullet Read(I)
bullet Made large changes to DB_GetIndexes() to make it run faster.
bullet Changed DB_Read() to increase performance.
bullet Moved checking of field type to DB_GetIndexes() to increase performance.
line
bullet Resource Item
bullet Fixed problem where additional units of a resource could be created if two 0's arrived to the NumResourcesIn connector and the Resource was in use.
bullet In itemOut when receiving a Query msg, check to make sure it's not off shift. If it is off shift, items are now available for release, so it must return 0.
bullet Utilization was not taking shift status into account.
bullet Changed the condition for sending items so that it will work with a number based shift as well as an on/off shift.
line
bullet Resource Pool Resource
bullet Fixed problem where the number of resources was not changed to the correct value.
bullet On SHIFTSCHEDULE events, fixed the calculation of change to pending resources to be ONLY what can't be released at this time.
line
bullet Select Item Out
bullet Added reentrance flag to detect if this block is in a message loop. This stops the messaging if the block receives a wants from the output and it is already processing the same message.
bullet Added support for query messages coming in through the output connector.
line
bullet Select Item Out
bullet Random selection to turn off locking random path if "Item will try unblocked outputs" is on.
bullet Problem where priority output pulling an item through with predict_chk turned off could orphan the item.
bullet Added additional check to see if other output connectors had a better priority if an item is pulled through.
bullet Added Sending flag so that a message from the select connector would not try to send an item if an item is currently getting sent.
bullet Added animation of item in the block when animation is turned on and off.
bullet Fixed problem where item could get stuck if in connector priority mode.
line
bullet Shift
bullet Removed automatic sort at the start of the simulation. This was causing problems if there were blanks at the end of the table.
bullet Removed condition checking if currentSim == 0 so that the list of blocks referenced by this shift is exactly the same for every simulation run
line
bullet Shutdown
bullet Changed the behavior of UV and DV connectors- basically they now update SD_ValueOut immediately if there's a change.
line
bullet Throw Item
bullet If the block number has changed, AnimateLabel will no longer dipose NextLabel and delete a link within an Hblock.
bullet Added reentrance flag to detect if this block is in a message loop. This stops the messaging if the block receives a wants from the output and it is already processing the same message
line
bullet Transport
bullet Added return after rejects in on item out if block is off shift. This prevents items from getting pulled out of block if the transport is off shift
line
bullet Unbatch
bullet If preserve uniqueness is selected and there are more items unbatched than were batched, the attributes copied from the preserved items now work correctly.
bullet Turned off link messages on open model. They are only really needed when the dialog is open. This greatly reduces the number of link content messages received. Also turned off linking for properties table. That just won't work.
line
bullet Workstation
bullet Moved initializing resources to stepsize so that this will occur before the initsim in the resource pool blocks.
bullet Moved taken message to before doStoreItem so it will occur before the output connectors are updated.
line
bullet Write(I)
bullet Made large changes to DB_GetIndexes() so it will run faster.
  Moved checking of field type to DB_GetIndexes() to increase performance.
bullet Command
bullet Added an option for which initialization message to send the command.
bullet Moved the execution of sendCommand from FINALCALC to ENDSIM.
line
bullet Data Import Export
bullet Fixed sequential worksheets where the name does not end in a number.
line
bullet Equation
bullet Added code to support the calculation of the next event in a bunch of different places.
bullet Time elapsed now shows the time since clearing statistics, not the time from the start of the simulation.
line
bullet Mean & Variance
bullet If a clear time is specified in the dialog, an event is now scheduled so that the clear occurs at exactly the event time.
bullet Removed DisplayConLabels function. This was left over from an early beta release. This functionality has been replaced with the setConLabels function.
bullet Fixed a problem with moving average.
line
bullet Optimizer
bullet Dragging an empty data table to the Optimizer no longer causes a problem.
bullet Using all rows in the Variables table no longer causes a problem.
line
bullet Random Number
bullet For empirical tables where values are stepped, a problem with array size not growing as needed has been fixed.
bullet Parameters for distribution are now not checked if any inputs are connected.
bullet Revised getNumber so that messages are sent out other value input connectors if a message comes in one of the input connectors.
bullet Revised label of Location in input connector.
line
bullet Read
bullet Fixed condition under which DB_RelatedWriteOptions_pop was enabled.
bullet Added user prompts to provide a user with the option to continue or abort after detecting a deletion error on linkStructure change.
bullet Added new validation logic for user selected Record ID.
bullet Made record index checking more stringent in on LinkStructure.
bullet "resetIndexes" argument to DataOutSetup() because there was a situation where a user wanted to right subset of a column, but block was getting reset to write entire column every time DB_CheckTableIndex got called.
line
bullet Statistics
bullet Fixed problems where update was occurring when it should not.
line
bullet Write
bullet Fixed condition under which DB_RelatedWriteOptions_pop was enabled.
bullet Fixed call to abort in "on LinkStructure".
bullet Added new validation logic for user selected Record ID.
bullet Made record index checking more stringent in on LinkStructure.
bullet "resetIndexes" argument to DataOutSetup() because there was a situation where a user wanted to right subset of a column, but block was getting reset to write entire column every time DB_CheckTableIndex got called.
bullet Convey Flow
bullet

Bug fix: double entry for Speed_prm and Delay_prm, fixed with only one entry.

bullet To avoid infinite loop, srLastTime_Calculation is now updated earlier in the function.
bullet The accumulation animation is now correctly updated in the case of alternate view.
bullet Corrected bug that would occur when the change indicator limits absolute/percentage and reverse.
bullet The constraining Ouput/Input rates are now correctly expressed in block time units rather than flow time units.
line
bullet Interchange
bullet

Fixed error that would occur when item get in and the Value to trigger the release of an item is checked.
bullet Calculation of intermediate contents of a tank does not influence the update of an amount of product in GA (precision issue).
line
bullet Tank
bullet Update the amount of product in GA only if necessary.
bullet Calculation of intermediate contents of a tank does not influence the update of an amount of product in GA (precision issue).
bullet Bar and Gantt Charts
bullet

Removed on PasteBlock as this is no longer necessart since it is now done automatically.

Animation 2D - 3D library
bullet Proof Animate Item
bullet Removed references to ShowConLabel. This could cause an error message when a view other than default was used.

 

.

.

FixesFrom 7.0.4 to 7.0.5
Released March 23, 2009

Functions & Message Handlers in 7.0.5
New functions in 7.0.5
bullet GetMouseXActiveWindow Returns the mouse X position in pixels relative to the active window; for example, a hierarchical submodel window. Use the GetBlock-TypePosition() function to get the coordinates of a block in that
window. Can be used in the on blockClick message handler.
bullet GetMouseYActiveWindow

Returns the mouse Y position in pixels relative to the active window; for example, a hierarchical submodel window. Use the GetBlock-
TypePosition() function to get the coordinates of a block in that window. Can be used in the on blockClick message handler.

line
New message handlers in 7.0.5
bullet HBLOCKSAVETOLIBRARY Sent to all enclosed blocks when the H-block structure is saved to a library.
ExtendSim Program
bullet General application changes
bullet Fixed issue where sometimes a datatable in a dialog box in the structure window could incorrectly think that it had a data link.
bullet Send the Dialog Item message to a disabled dialog item that has been disabled through code, not through the structure, when it is clicked on. This is a reversion to a previous behavior that was changed for consistency, but affected some users negatively.
bullet FindBlock and FindNextBlock functionality sped up for large models.
bullet An unnecessary error message about being unable to load the SDILoader.dll has been bypassed.
bullet Height and width of plotter is preserved better now when the plotter size is manipulated.
bullet Printing problem associated with the model name on the footer of the printed document corrected.
bullet Calling ClearBlock during the connectionBreak message handler should no longer cause a crash.
bullet Quitting the ExtendSim application by clicking on the red x (Windows) could cause some quitting operations, like ApplicationExitRoutines, to execute twice.
bullet Animation should work much better on scaled models.
bullet ListSearch was not working correctly when searching for string values.
bullet The Clone tool should now work correctly on a second monitor.

line

bullet

DB Add-In

bullet Implemented capability to enable use across Windows and Mac platforms.
bullet Create user-defined Split function for cross-platform compatibility
bullet Create user-defined Replace function for cross-platform compatibility
bullet Replace the use of the file system object with standard I/O functions for cross-platform compatibility
bullet Added check for valid tab index during import.
line
bullet ExtendSim Dates
bullet Date/Time calculations improved in some round off cases.
bullet Improved floating window behavior of Calendar window.
bullet StartDate and EndDate in the simulation setup dialog update live, when the European data option is selected, or unselected.
line
bullet Linking
bullet Dynamic Links from hierarchical blocks built in older versions of Extend could become corrupted when the hBlocks were brought into ExtendSim.
bullet DILinkInfo function now takes a which value of 11 to return the setting of the flag that determines if the link gets messages during the initialization phase of the simulation.
line
bullet Model
bullet Block select rectangle was too large in some cases, making it difficult to select other items on model.
  Some library menu items in large libraries were not always enabled.
  Fixed block substitution where it keeps asking for the same block.
line
bullet OLE / COM
bullet Embedded dialog items retain aspect information correctly. (Fixes the Gantt chart and bar chart blocks.)
bullet Corrections to SafeArray poking and requesting functionality.
ExtendSim Database
bullet Fixed specific case where a random cell in a database table linked to a datatable was changing when it was not accessed by block code.
bullet Fixed specific case where clones were not updated when a linked random database cell was updated.
bullet DBTableImportData() was incorrectly removing relations for that table.
bullet Fixed Export and Import of selected tables so that relations are preserved if both linked tables are selected.
bullet Fixed importing of databases so child field values are always preserved, even if parent is a non-unique real number.
bullet Renaming a table now always revises the lists of tables fields in other tables.
bullet Table sorting now correctly deals with blank child values.
bullet Table sorting now maintains previously sorted field record order.
bullet Fixed database table viewer redrawing problems from deleted fields.
bullet DBDatabaseOpenViewer() now always open in Viewer mode rather than Structure mode.
bullet Fixed crash when displaying imported empirical table with no entered data.
bullet Fixed incorrect drawing of plots when empirical data was changed in random distribution dialog.
bullet Fixed crash when calling DBTableDelete() while database viewer was displaying table being deleted.
bullet BTableCopy() was returning incorrect index.
bullet Prevented an infinite loop when reading a random cell while getting a DATACHANGED message.
bullet Now updates DB tabs after importing a database.
bullet Now prevents duplicated field names.
bullet Fixed SDI database importing so it uses table index 1.
bullet Make model dirty when choosing different database component from linking dialog.
bullet Activity
bullet Fixed problem with the "NB" connector not updating at the right times.
bullet In PE_PreemptItem, added code to account for the event that a down item is getting preempted.
bullet Added additional rescheduling to try to pull in an item if an item arrives. This improved the robustness of items moving through the model.
bullet Fixed clearing statistics for utilization.
line
bullet Batch
bullet Fixed problem with query message. If an item was removed from completed items list, the query message was returning a 0.
bullet Removed erroneous assignment of FirstAttributeIndex that was causing the incorrect assignment of the batched attribute values.
bullet Added additional condition to prevent demand connector from creating batch if there are no items in the block.
bullet Fixed problem where more items were pulled in than the batch size if the demand connector was used.
bullet Fixed array exceeded dimensional bounds problem when animation was turned on and off before the model was run.
bullet Fixed problem with preserving existing values of non-attributes, e.g., _Animation, _Priority, in batchAttribute_table, when attributes get deleted from a model.
bullet Force the disposing of dynamic arrays at the end of each simulation run on ENDSIM.
bullet Added the db address attrib option to MatchingAttribute_pop.
line
bullet Catch Item
bullet On TabSwitch message handler, look for the list of Throw blocks only if the simulation is not running.
bullet Trim the name of the Group if there is an illegal character.
line
bullet Convey Item
bullet Fixed shifts.
bullet Fixed problem where Conveyor could fail to pull in a new item if capacity of Conveyor is 1 and the Conveyor becomes blocked.
bullet Fixed problem with time units.
bullet Fixed problem with a time tie when an item gets pulled out of the Conveyor at exactly the same time that it arrives at the end.
line
bullet Cost by Item
bullet Big architectural change: receive item, update output value cons, then send TAKEN, then SendMsgToInputs()

 

line
bullet Create Item
bullet Changed the way column headings were being set in prg_dtbl to make the number of columns scale better.
bullet Added more logic to find first item creation event when startTime is much greater than last row on item creation schedule.
line
bullet Equation(I)
bullet Added calls to iVarsIn_ConnectorsSetup() and oVarsOut_ConnectorsSetup() to on IconViewChange.
bullet Big architectural change: receive item, update output value cons, then send TAKEN, then SendMsgToInputs().
line
bullet Executive
bullet For the Rate library calculation, adjust the precision only if necessary when a constraint is added for a distributional mode. Also update the new bounds after an intermediate calculation.
bullet For the Rate flow unit declaration. When a Flow unit is declared using the Executive block, this unit has to be added in the GA in order to be accessible in the rest of the model.
bullet For the Rate library calculation, adjust the precision only if necessary when a constraint is added for a distributional mode. Also update the new bounds after an intermediate calculation.
bullet Change in the setting of the call to lpsolve dll, the calculation should be faster because lpsolve does not generate reports on the console anymore.
line
bullet Get
bullet Big architectural change: receive item, update output value cons, then send TAKEN, then SendMsgToInputs().
line
bullet History
bullet Added Attrib_OnContinueSim() to ensure the block has the correct GA index for the attrib GA's.
line
bullet Information
bullet Average cycle time and average time between were not being reported properly on the connector tool tips.
bullet Changed the reset connector to send a clear statistics message to this block.
bullet Updated reset connector to use connector labels instead of animation to display "r" for reset input connector.
bullet Added new countTotal variable so that other statistics that use the count in their calculation are correct if count is reset.
line
bullet Queue
bullet Fixed problem where costing is reset if queue is waiting for a resource and costing is not calculated.
bullet Fixed problem where items were not correctly removed from resource pool queues if more than 1 different resource pool was required and the item quantity is > 1.
bullet Fixed problem where resource pool quantities from attributes were not always working correctly.
bullet Removed calculation of minimum delay from block positions. It only worked when the 3D window was open.
bullet Added support for wait connector for reneged items.
bullet For query msgs on itemOut in Resource Pool Queue behavior, don't send msg to Resource Pool unless items are waiting in the queue.
bullet For query msgs on itemOut in Resource Pool Queue behavior with "Take from ANY resource pool" mode, break the instant ANY requirement is satisfied.
line
bullet Queue Equation
bullet Added calls to iVarsIn_ConnectorsSetup() and oVarsOut_ConnectorsSetup() to on IconViewChange.
bullet Changed how QUERY msgs are handled in "on itemOut".
bullet In FindNextItem() there was an error in the algorithm if the user has specified more than one rank oVar for tiebreaking.
line
bullet Queue Matching
bullet Added call to ConnectorsShow() in 'on IconViewChange'.
bullet Added code to maintain the results_dtbl link to a db table if that kind of link was made. Also, if linked to db, then update results all the time.
bullet Added the db address attrib option to MatchingAttribute_pop.
line
bullet Read(I)
bullet Big architectural change:  receive item, update output value cons, then send TAKEN, then SendMsgToInputs()
line
bullet Resource Pool Resource
bullet Improved searching for resource pools. It is now faster and only finds the closest pools if there are multiple pools with the same name.
bullet Added conditional search for closest resource pools.
bullet Fixed: If Highest ranked item only was selected and queue was empty, an error would result.
bullet Search for querying queue block's first item in the Resource Pool's items queue in DoCheckQuery.
line
bullet Select Item Out
bullet Moved code in Initsim so that throughput would be cleared from the tables at the beginning of every run.
bullet Added reentrance flag to SelectIn b/. We had a situation where this block was trying to move two items at the same time.
bullet Added rescheduling and 0 time event for probability and priority. Items could be rejected and then later, on the same step, need to be pulled through.
bullet Fixed problem where sometimes an item can be pulled into the select block even though an item is currently in the block.
bullet Fixed problem where priority may be generating error. ConArrayMsgFromCon was called after another message was sent out of the block.
line
bullet Select Item Out
bullet Fixed animation of attribute name above icon.
bullet Added item priority lookup in the SelectByAttribute() proc.
bullet Attribute table now resizes correctly when it is cloned.
bullet Enhanced sequential select so that a sequential select can be followed by another select block.
line
bullet Set
bullet Added expandRecords_chk.
bullet Changed DB_GetIndexes() and Attrib_SetValsOnItem() so that a property set in an earlier row can be used in a later row.
bullet Extended the "if missing" feature to _Item index, _Item quantity, _Item priority, _Batch size.
line
bullet Shutdown
bullet For competing failures, removed the restriction of having to have > 1 fail streams.
line
bullet Shift
bullet Moved updateShift to checkdata so that error checking will have correct shift data.
bullet Shift table now works correctly when linked to a db table.
bullet Fixed problem with Shift block getting stuck on start time.
line
bullet Throw Item
bullet Modified the script to allow the table of attributes to be linked with a database table. Updatde the block when the linked database table changes size.
bullet If you click out of the popup menu to select a label, then nothing happens.
bullet Allow an Attribute table database to be linked to several Throw blocks. In this case the table has to have only two fields.
bullet Trim the name of the Group if there is illegal character.
line
  Transport
bullet Fixed problem where speed connector did not convert to meters.
line
bullet Unbatch
bullet Added automatic mode for setting properties of unbatched items.
bullet Fixed animaiton problem. Animation picture was sometimes not getting changed.
bullet Added error message if preserved quantities were used and item had not been batched with preserve uniqueness.
line
bullet Workstation
bullet Added setting location to 0 if it is blank.
bullet Added code to convert negative delay times to 0.
line
bullet Costing (multiple blocks)
bullet The function used to calculate the queue waiting cost return 0 instead of Blank when waiting cost is not calculated. It is necessary for the workstation because waiting cost and activity cost are summed.
bullet All Value library blocks
bullet Icon animations of each block when switching views has been updated.
line
bullet Clear Statistics
bullet Conditionally clearing information blocks now works.
line
bullet Data Import Export
bullet Added option to choose when the automatic import will occur.
line
bullet Data Init
bullet Fixed bug in InitializeData().
line
bullet Data Specs
bullet Added the "getIndexes" argumemt to BlockRegister() because there were certain situations where registering the structure in CheckData would use wrong indexes if a db import had taken place.
bullet Added code to account for <i> in GA_SpecsGet
line
bullet Equation
bullet Calls were added to iVarsIn_ConnectorsSetup() and oVarsOut_ConnectorsSetup() to on IconViewChange.
bullet The variable types "DB Read PRI" and "DB Write PRI" have been added back to the popup list in the dialog.
line
bullet Lookup Table
bullet Fixed repeating problem when there was no value in the table at the repeat time.
bullet Fixed problem with Input Table where startTime was != 0.
line
bullet Math
bullet Reset position for the animation of a block icon. This fixes a problem where some of the math symbols were not appearing in the correct location.
bullet Skip BLANK input values for Add, Multiple, and Subtract options when "Ignore BLANKS" checkbox is checked.
line
bullet Optimizer
bullet Fixed problem where weighted moving average would calculate incorrectly if the same value came in twice.
bullet The on ClearStatistics message handler no longer clears for multisim simulations.
line
bullet Random Number
bullet Removed error message when probabilities in empirical table are > 1. This table is adjusted so that the probabilities will = 1 in on initsim.
bullet Shape and scale parameters for Pearson 5 were reversed when importing from Stat::Fit clipboard.
bullet Lognormal parameters do not need to be adjusted when importing from Stat::Fit.
bullet Fixed calculation of maximum on beta distribution.
line
bullet Read
bullet Changed the field and record selector interface to allow a record to be chosen before a field has been selected.
bullet Added results_Options_txt and changed the way results_Options_pop is managed.
bullet Added code in PauseSim and ResumeSimAllBlocks to update dataOut.
line
bullet Statistics
bullet Added call to GetStatVersion when looking for blocks in local hierarchy.
bullet Fixed problems with updating statistics.
line
bullet Write
bullet Changed the field and record selector interface to allow a record to be chosen before a field has been selected.
bullet Added results_Options_txt and changed the way results_Options_pop is managed.
bullet Removed restrictions on writing data in FinalCalc.
bullet Added code in PauseSim and ResumeSimAllBlocks to update dataIn.
bullet When adding input value to destination value, there was a bug if the destination value was a blank.
bullet Added call to XL_OpenFile(TRUE) in XLMAC_DoIpcConnect.
bullet Convey Flow
bullet

Fix the calculation of the next time an interval will be reached for a specific case.

line
bullet Change Units
bullet

When a report is written, a local variable is initialized which avoids an error message.
line
bullet Merge and Diverge
bullet For the Select mode, the value input and the ID are compared using nearly equal function instead of strictly equal comparison.
.

.

FixesFrom 7.0.3 to 7.0.4
Released October 20, 2008

New features in 7.0.4
bullet Hierarchical blocks The name of the top level worksheet now appears on the hblock window in angle <> brackets.
line
bullet Preferences Library warnings may be turned off through a Preferences command. (Turns off old version library warnings and legacy library warnings.)
line
bullet Demo-Player The Demo-Player version shows the version number on startup screen.


Functions in 7.0.4
New functions in 7.0.4
bullet E3DLogEvents(long logFlag) Turns on (or off) the logging of Events in the E3D window. Logging is off by default. If logFlag is true (1), Logging will be turned on. Logging will write messages to the Console.log file in the ExtendSim7 folder when events occur in the E3D window.
line
bullet MakeArray2(long blockNum, string arrayName, long dim) Same behavior as the MakeArray function with the exception that it can be called from an outside block and doesn’t have to be called from within the block that contains the array. Note that the ArrayName argument is the name of the array as a string, not the array name itself.
line
bullet Double GetExtendVersion(long which)

Returns a real number in the format 701.2 where 7 is the major version, 1 is the minor version, and 0 is the middle. The value after the point is 1 for an "a", 2 for a "b", and so on. The final value is always zero for a file read version.

Which:
            0 : application version
            1 : file version

line
bullet DynamicDataTable2(long blockNum, String dataTableName, String arrayName) Same behavior as the DynamicDataTable function with the exception that it can be called from an outside block and doesn’t have to be called from within the block that contains the array. Note that the ArrayName argument is the name of the array as a string, not the array name itself.
line
bullet DynamicDataTableVariableColumns2 (long blockNum, string dataTableName, string arrayName, long rows, long columns) Same behavior as the DynamicDataTableVariableColumns function with the exception that it can be called from an outside block and doesn’t have to be called from within the block that contains the array. Note that the ArrayName argument is the name of the array as a string, not the array name itself.
line
bullet Long ListAddString63s(long blockN, long listIndex, long string63Count) If you wish your linked list to contain String63s, call this function right after ListCreate. It has the same effect as specifying, for example, n String15s in the ListCreate function. It defines the number of string63s that will be present in each element of the Linked List.
line
bullet Long ListLocked(long blockN, long listIndex, long locked) If Locked is true, this function call marks the specified Linked List as locked. If ListDisposeAll is called, that List not be disposed of. If the function ListDispose is called explicitly on this list, it will still be disposed. This function only prevents accidental disposal of the list through the ListDisposeAll call. Returns a zero if the call succeeds. Returns a negative error code value if the function fails.
line
bullet Long GetDimensionColumnsByName (long blockNum, string arrayName) Same behavior as the GetDimensionColumns function with the exception that it can be called from an outside block and doesn’t have to be called from within the block that contains the array. Note that the ArrayName argument is the name of the array as a string, not the array name itself. This also means that the function can be called with a string variable as the second argument, and not a hard coded array name.
line
The following functions are convenience functions intended to be called from Equation blocks. They have the effect of querying a Resource Pool block for the number of available resources or requesting that the Resource Pool block allocate a resource. These functions are implemented through the sending of messages and the use of globals. See the code of the Resource Pool block for more information.
bullet Void ResourcePoolAllocate(long ResourcePoolBlockNum, double NumToAllocate) Requests the specified Resource Pool block to allocate the specified number of resources.
line
bullet Double ResourcePoolAvailable(long ResourcePoolBlockNumber) Queries the specified Resource Pool block for the number of resources that are available.
.

.

Functions fixed in 7.0.4
bullet OpenExtendFile OpenExtendFile could return an error code even if it succeeded.
line
bullet Weibull and Logarithmic distributions Weibull and Logarithmic distributions could rarely generate NaNs.
line
bullet UserPrompt

UserPrompt function could crash if given a string that was too long.

line
bullet SetRunParameter SetRunParameter now supports setting the startdate with a value of 10.
line
bullet UserParameter UserParameter responds to a press on the Enter key as if the user had clicked on the OK button.
ExtendSim Database
bullet

New ExtendSim Database functions:

bullet String DBToolTipsGet (long databaseIndex, long tableIndex, long fieldIndex)
Returns the current component’s Comments dependent upon indexes which are non-zero.
bullet DBToolTipsSet (long databaseIndex, long tableIndex, long fieldIndex, Str255 value)
Sets the current component’s Comments dependent upon indexes which are non-zero.
line
The following functions are designed for convenience of use in equation blocks. They combine the retrieving or setting of a date value with the conversion of the date value into a SimTime (model time units) time value.
bullet

Double DBDataGetDateAsSimTime (long dbIndex, long tableIndex, long fieldIndex, long recordIndex, long timeUnits)

Reads a database cell as a date and converts it to a SimTime value.  This allows the user to read a date value directly as a SimTime value, avoiding the conversion process. Uses the 4 database indexes.
bullet Long DBDataSetDateAsSimTime(long dbIndex, long tableIndex, long fieldIndex, long recordIndex, double simTimeVal, long timeUnits) Takes a SimTime value, converts it to a date and sets a database cell with that date value. Uses the 4 database indexes.
bullet Double DBDataGetDateAsSimTimeUsingAddress (double addressValue, long timeUnits) Reads a database cell as a date and converts it to a SimTime value.  This allows the user to read a date value directly as a SimTime value, avoiding the conversion process. Uses a database address instead of the 4 database indexes.
bullet Long DBDataSetDateAsSimTimeUsingAddress (double addressValue, double simTimeVal, long timeUnits) Takes a SimTime value, converts it to a date, and sets a DB cell with that date value. Uses a database address instead of the 4 database indexes.
bullet Optimizations in the performance of string fields greatly increase database speed.
bullet Database initialization occurring before PRECHECKDATA no longer sends messages to any blocks, greatly speeding up data initialization.
bullet New records, either inserted or appended, are now initialized with the field initializer if initialization is enabled. If initialization is not enabled, new records are initialized with blanks for real or string and zero for integer fields.
bullet Empirical distributions recalculate their data tables in all cases of importing and when the model is opened.
bullet DB and Table selector components now sort their entries, making it easier to find the desired entry.
bullet Bugs fixed:
bullet Tables are now being resized correctly when adding fields.
bullet “List of Tables” fields are now updated correctly when a table name is changed.
bullet When changing distributions in database cells, random seeds correctly continue the random sequence.
bullet DB random seeds will now never be the same as model random seeds.
bullet

Right-clicking is now working on Database List window entries.

bullet Field and rectangular selections in DB Viewer panes with a huge number of records is now working properly and correctly scrolling to area of deletion.
bullet Setting a new field to RecordID in a table now correctly removes the old RecordID flag.
bullet Importing a database now correctly closes the file so other operations can be performed on that file.
bullet DBTableCopy() now deals correctly with relations, if present, and will correctly recreate relations that were present in the “From” database and in the “To” database.
bullet Activity
bullet Changed icon animation to show/hide length when animation is turned on and off.
bullet Tool tips on "SD" connector is now conditional.
bullet In the case of a time tie, items will try to be moved out before shutting items down.
line
bullet Catch
bullet Corrected problem that even if ConnectionType came back true, the Catch block might not have been connected.
bullet The name of Dialog item in the Throw block has been updated. CatchByNum DI no longer exists
line
bullet Create
bullet Time units label has been corrected.
bullet Condition added: Prg_GetNextTime(). Fixes potential calendar dates rounding error.
line
bullet Conveyor and Transport blocks
bullet Fixed a problem where the path was not calculated correctly if a sensor connector was used.
line
bullet Equation(I)
bullet In oVarsOut, the method of getting an equation result for a downstream blocker has been changed.
line
bullet Executive
bullet The Executive block now receives a message when the simulation resumes from pause.
bullet Link to the rate calculation, the test for tank level stability has to be counted twice instead of once.
line
bullet Exit
bullet Moved block-to-block animation to after the Taken message is sent. This makes the animation appear in the correct order
line
bullet Gate
bullet Added CONDITIONAL_ROUTE_BLOCKER response in On itemIn for the connector SM_MaxItemsIn.
line
bullet Queue
bullet The Average Wait dialog item is now cleared on ClearStatistics.
bullet Added additional checks for the maximum queue length input connector.
bullet Fixed animation of a hierarchical block when the item quantity > 1.
bullet Changed icon animation to show/hide length when animation is turned on and off.
bullet Fixed problem renege immediate. It was scheduling an event when it wasn't supposed to.
bullet Added immediate reneging of multiple items. The value of the renege input connector is the number of items to renege.
bullet Fixed the problem where a resource would not allocate if an item is pulled from the output and the resource rule is any resource.
line
bullet Queue Equation
bullet Moved the many places where NextItemLocked was getting set into FindNextItem().
bullet Added places where NextItemLocked is set to FALSE.
bullet Altered how the query message is being handled in ItemOut.
line
bullet Read(I)
bullet Added a call to BlockRegister() in CheckData just as a precautionary measure to ensure the block is properly registered at the beginning of a simulation.
line
bullet Resource Item
bullet ToBeDisposed was not being initialized causing an error.
bullet Added a call to BlockRegister() in CheckData just as a precautionary measure to ensure the block is properly registered at the beginning of a simulation.
line
bullet Resource Pool
bullet Fixed the problem with reneging from a Resource Pool Queue when the number of runs was > 1.
bullet NumResourcesIn connector no longer ignores novalues and nor reports an error for values < 0.
line
bullet Select Item Out
bullet Added SendMsg wants to the output when a message comes in through the Select connector. This prevents items from moving through the block if there is no downstream space.
bullet Fixed a problem where attribute based select was sometimes reporting an incorrect throughput. This necessitated the adding of the Count Invalid dialog item.
bullet Fixed dynamic priorities.
bullet Enhanced Select by Priority so that a Priority Select can be followed by another Select block.
bullet Check for needs in response to sending wants out input connector.
bullet Fixed a problem that could block items if a query message came in through the output connector and the Select connector was used.
line
bullet Set
bullet Added a call to BlockRegister() in CheckData just as a precautionary measure to ensure the block is properly registered at the beginning of a simulation.
line
bullet Shutdown
bullet Commented out a redundant correction that was accounting for TBF_ENDS_AT_END_OF_REPAIR.
bullet Updated the value of SD_ValueOut in InitSim so that SD_ValueOut is reporting the correct up value at the start of a simulation.
line
bullet Throw
bullet Must declare the connection type to answer the request.
bullet Type of connection for SysGlobalInt14.
line
bullet Unbatch
bullet Fixed the problem with indexing in a list of unbatched items.
line
bullet Workstation
bullet Added CallAnimationArgument to Length(... to fine tune the animation of the block status.
line
bullet Write(I)
bullet added call to BlockRegister() in CheckData just as a precautionary measure to ensure the block is properly registered at beginning of sim
bullet Data Import Export
bullet Export does not occur if the simulation is aborted.
line
bullet Data Specs
bullet Added a call to BlockRegister() in CheckData just as a precautionary measure to ensure the block is properly registered at the beginning of a simulation.
line
bullet Decision
bullet The "B input con" now shows if "A is not a number" is turned off.
line
bullet Display Value
bullet Instead of stretching smaller, it restores to default.
line
bullet Equation
bullet added support for calendar dates
line
bullet Holding Tank
bullet Holding Tank:  Added AnimationStatusChange so that animation will update when it is turned on
line
bullet Math
bullet Math:  And was requiring that all input connectors were == 1 rather than >= 0.5
line
bullet Optimizer
bullet Mods and added function to ensure a unique variable is used for new clones.
line
bullet Random Number
bullet Prevent plotting poly if MaxY is zero (bad data had caused an abort, cancelling HBlock open).
bullet Instead of adding .00001 inside the log, it now checks to make sure x is not zero.
bullet Replaced references to dynamic array with data table so that linking with databases will work correctly.
line
bullet Read
bullet If a model was built on a PC and then opened on a MAC, one would have needed to transfer the chosen worksheet name.
bullet Added a call to BlockRegister() in CheckData just as a precautionary measure to ensure the block is properly registered at the beginning of a simulation.
bullet Changed the way in which current row was being calculated for a local copy when rowIsRunNumber_chk = TRUE.
line
bullet Simulation Variable
bullet Converted date to simulation time.
line
bullet Write
bullet If a model was built on a PC and then opened on a MAC, one would have needed to transfer the chosen worksheet name.
bullet Added a call to BlockRegister() in CheckData just as a precautionary measure to ensure the block is properly registered at the beginning of a simulation
bullet Changed the way in which current row was being calculated for a local copy when rowIsRunNumber_chk = TRUE.
bullet Corrected problem where certain situations caused an error to be flagged for a row index that was too large even though expandDataSourceRows_chk was checked.
bullet Convey Flow
bullet

A final portion cannot be detected by a sensor as it is still growing. Before, extra events were being generated.

bullet The precision issue determining the number of portions that have disappeared has been adjusted.
bullet In some specific cases, the next event had to be reevaluated more often because there were too many intermediate calculations.
bullet The accumulating point is now positioned in intervals with nearly equal precision.
bullet The limit to pass to a higher level has to use nearly precision comparison.
bullet If an event changes one interval into another, the equality precision must be lowered.
bullet A portion of a sensor calculation used to finish before scheduled, causing the formation of a new LP. This has now been corrected.
bullet

If a sensor is at position 0 (end of the Convey Flow block), the value which is reported is the one from the entering portion.

line
bullet Tank / Interchange
bullet

When the content and capacity are empty, the siExtremLevelTank is considered to be empty.
bullet If TimeNextExtremLevel was too close to CurrentTime (within 15 digits), the TimeNextExtremLevel used to occasionally get stuck at CurrentTime. This problem has been corrected.
line
bullet General
bullet When a Rate block was enclosed within a hierarchical block, either updating or dragging the hierarchical block in the model could deteriorate the mapping of the Rate blocks. The problem has been fixed.
bullet 2D-3D Animation Library
bullet 3D Scenery: Fixed problem where 3D object was not hiding and showing properly.
bullet Stepped empirical distribution no longer causes an "Array exceeded dimensional bounds" error.
ExtendSim Program
bullet 3D Window
bullet Optimizations allow more objects to be present on the 3D window and smoother animation in general.
bullet Pausing and resuming a 3D model is greatly improved.
bullet Aborting the run of a 3D model with the stop button has been corrected.
bullet Occasionally, the changing of skins could fail if the skins were initially set then later changed. This situation has been corrected
bullet The .cs extension for cs files in the extensions folder was case sensitive, so lower case files (cs) wouldn’t be loaded, while upper case files (CS) would be. Now, both are loaded
bullet Logging of 3D events in the Console.log is now optional and is set to off by default. (Part of the 3D optimizations. E3DLogEvents function is used to turn on logging.)

line

bullet

Dialog Items

bullet Datatable DBField column tag no longer retrieves the wrong information from the database.
bulletColumn tag: TAGPOPUPCONDARRAY. See column tag list in the Developers Reference for more information.
line
bullet ED Date Functions
bullet Internal conversion calculations improved for calendar dates with time units set to months. (Still not a recommended setting.)
line
bullet Linked Lists
bullet

Linked lists now support String63s as well as other sizes of strings.

bullet Linked lists can now be ‘locked’ which means that they will not be disposed if ListDisposeAll is called for by a certain block.
bullet Saving linked lists in a model no longer causes issues.
line
bullet Linking
bullet Due to an optimization in the updating of links, models that have linked information should run faster. (For models with few links this will not be significant, but for models with lots of links it should be quite noticeable.)
bullet The link dialog deals better with deleted databases (empty database slots).
line
bullet OLE/COM
bullet Embedded objects will remember if they were inserted as icons.
line
bullet Scripting
bullet MoveBlock and MoveBlockTo no longer crashes if called from a block within a closed hBlock.
bullet DIPositionSet working properly.
bullet Calling ClearBlock in a DeleteBlock message handler no longer prevents the rest of the selected blocks from being deleted. (Calling clearBlock on one of the blocks in the initial selection is still a no-no, however.)
line
bullet Structure window
bullet Large numbers of include files now work correctly in the Include popup menu.
bullet Adding large Icon View names now maintains the menu correctly (limited to 31 characters).
line
bullet General program changes and additions
bullet Bad pictures on a worksheet will not crash the application.
bullet HBlocks now send correct CONNECTIONMAKE and CONNECTIONBREAK messages when changed or added to the model.
bullet Added HBLOCKFROMLIBRARY message. The message is sent to the HBlock when placing an HBlock from a library onto the model.
bullet Fixed some multiple monitor issues including dialog boxes that would open on the wrong screen and a plotter opening to the wrong size when opened on a different monitor.
.

.

FixesFrom 7.0.2 to 7.0.3
Released July 1, 2008

ExtendSim Database
bullet For developers, there is a new worksheet (ES7 DB to Industry DB) listing all of the ExtendSim database functions. Worksheet is in an Excel spreadsheet located at ExtendSim7/Documentation/v6 to v7 equivalents.xls.
bulletFunctions - DBRecordFindMultipleFields() and DBRecordFindMultipleFieldsArray(). Used to find records that have multiple search criteria. Both partial and exact match are allowed.
bulletFor developers who previously programmed using the Industry database API, there is a new worksheet (Industry DB to ES7 DB) listing all the Industry database functions and the equivalent ExtendSim database functions. Worksheet is in an Excel spreadsheet located at ExtendSim7/Documentation/v6 to v7 equivalents.xls.
bullet Bugs fixed:
bullet Finding records functions: partial match fixed.
bullet DBDataGetParent() and DBDataGetParentUsingAddress() were returning -1 error even if all indexes were correct.
bullet The DBFieldSetProperties() function now correctly changes the RecordID status.
bullet PutDataAsParentIndex() now allows a zero parentIndex to set child to <no value yet>.
bullet Empiric distribution plotting problems have been fixed
bullet Some extra refreshes and drawing artifacts have been fixed.
bullet Sorting table artifacts and crashes have been fixed.
bullet Item handling blocks
bullet Added continueSimGetArrays() and Attrib_OnContinueSim()to make the ContinueSim message handler consistent. These ensure that the array information is updated when a model is continued after being saved during the simulation run.
line
bullet Batch
bullet Fixed calculation of max min and sum attributes for matched batches.
line
bullet Convey Item
bullet Fixed messaging problem. Rejects response was not getting returned in some cases.
line
bullet Equation(I)
bullet In Eq_OnInitSim, added updating of oVarsOut.
bullet Moved downstream blocker checking to PostInitSim.
line
bullet Executive
bullet Added PassArray for ItemArrayA to support legacy models GA's.
line
bullet Gate
bullet Big architectural change: receive item, update output value connectors, then send TAKEN, then SendMsgToInputs().
line
bullet Read(I)
bullet Moved downstream blocker checking to PostInitSim.
line
bullet Resource Item
bullet Added condition in 'on numResourcesIn' to filter out msgs that might arrive during PostInitSim.
line
bullet Resource Pool
bullet Change connector now sends the correct message.
line
bullet Select Item In
bullet Added conditional linking to SetupProbTable().
line
bullet Select Item Out
bullet Conditionally dispose of Probability_nda SetupProbTable().
line
bullet Set
bullet SetupTable() now properly updates the value column.
line
bullet Shift
bullet Repeat time units now use correct time units.
line
bullet Throw
bullet Initializing the number of Catch blocks corrected.
line
bullet Unbatch
bullet Items are now restored from preserve uniqueness in the same order that they went in.
line
bullet Workstation
bullet Added LinkStructure message handler.
bullet Initialized the variable "delay_DistribMaxRows" in InitSim.
bullet Data Import Export
bulletAdded detailed display of data source and destination names on its icon.
bullet Fixed problem where import in connector was only importing from Excel.
line
bullet Equation
bullet Removed disabling of respondToLinkAlerts_chk on the Options tab.
line
bullet Holding Tank
bullet Fixed 'Do not reset' option.
line
bullet Lookup Table
bullet Fixed problem with time units and interpolated values.
line
bullet Math
bullet Fixed issue where the second connector was not used for some functions where it was optional.
line
bullet Read
bullet Changed the way index health is checked in CheckData.
line
bullet Write
bullet Changed the way index health is checked in CheckData.
bullet Convey Flow
bullet

Updates when Starving or Blocking limitation has to be propagated.

line
bullet Executive (LP calculation)
bullet The propagation logic has been rewritten for (FlowBlockReceive6) to correct the 0ption “Valve animates and reports blocking and starving information”.
bullet Uses a Nearly equal comparison instead of a Strictly comparison to detect limiting blocks.
line
bullet Interchange
bullet

When the effective rate is nearly equal to 0, the checking of the comparison between inflow and outflow is more robust.
line
bullet Merge and Diverge
bullet

Correction of a bug in ClearStatistics message handler relating to a loop updating results.

line
bullet Sensor
bullet

The units now update correctly in this block.
line
bullet Tank
bullet

When the effective rate is nearly equal to 0, the checking of the comparison between inflow and outflow is more robust.
line
bullet Valve
bullet

Stat information updated even if there is no change in the effective rate after the block initiates a new LP calculation.
line
bullet General
bullet For added security, the variable SysFlowGlobalInt9 is initialized before the determination of the LP area.
bullet Renamed constant ccVARIABLE_E with ccSECTION_E. The name Variable is reserved for decision variable in the LP.
bullet Renamed constant cFROM_INPUT with cFROM_UPSTREAM and cFROM_OUTPUT with cFROM_DOWNSTREAM.
bullet The Attrib_OnContinueSim() message handler has been updated in all the Rate library blocks.
ExtendSim Program
bullet 2D Animation
bullet Speed of models run with 2D animation has been increased.
line
bullet 3D Window
bulletThe multiple mountpoint behavior of the Shelf object is now available to custom object builders.
line
bullet Dialog Items
bullet Datatable cells return the index value when linked to a database child field.
line
bullet Functions
bullet MoveBlock and MoveBlockTo work corectly when the model is scaled.
line
bullet OLE/COM
bullet Poking a string to a single database cell now works correctly.
line
bullet General program changes and additions
bullet European format checkbox in the command Simulation Setup > Setup tab takes effect immediately. It no longer requires the closing and reopening of the dialog.
bullet Cursor keys work better for moving drawing objects when scaled.
bullet The PostInitSim message was being sent to blocks for continueSim instead of InitSim.

.

.

FixesFrom 7.0.1 to 7.0.2
Released May 12, 2008

ExtendSim Database
bullet Percent format displays correctly in datatables.
bullet Importing databases gave spurious error messages for correct data due to incorrect parsing of carriage returns. This has now been corrected.
bullet Preserved SDI Database dataOptional flags between importing and exporting databases.
bullet Fixed DBRandomDistributionSet() and DBRandomDistributionGet() functions and rewrote documentation for these functions.
bullet Fixed database structure window in viewer mode so it would display selected table correctly.
bullet Fixed database viewer so it would maintain record number column.
bullet Long strings (greater than 127 characters) now stored correctly.
bullet Imported databases with child fields from non-unique parent values now relink correctly.
bullet List of Tables selector has been labeled correctly as a Parent selector.
bullet DB InverseWeibull distribution now contains Beta parameter.
bullet DB Logistic and LogLogistic distributions set to correct distributions.
bullet Some DB notification messages were not being sent when DB data or structure was changed.
bullet Copying and pasting tables with child fields no longer cause a crash.
bulletFunction - DBDataGetAsStringParentAltField() – See Developer Reference
bulletFunction - DBDataGetAsNumberParentAltField() – See Developer Reference
bulletFunction - DBDatabaseCloseViewer() – See Developer Reference
bullet Activity
bullet Added clearing of additional output statistics.
bullet Added ListDisposeAll to endsim. If the simulation were terminated without completing, linked lists could be left behind, increasing model size.
bullet Fixed a bug with the “Delay from lookup table” option.  Certain distributions were not getting the correct parameter values.
bullet If capacity was set to infinite and if controlled by a shift, when go from off shift to on shift, the capacity was not getting reset to infinite.
line
bullet Batch
bullet Revised calculating batch size so that query message is not needed. This speeds model execution.
bullet Added additional rescheduling of items in response to a wants message if delay kitting is selected. Fixes problems where items were not always pulled through the Batch block.
bullet Added calculating batch sizes when demand connector receives a true. If Allow Zero Batch Size is not selected, and one of the inputs is zero, the batch will not be created.
bullet Allow Zero Batch Size is TRUE, novalues (blanks) are treated as 0's.
bullet Fixed problem where 3D objects were not being duplicated for item representing batch when preserve uniqueness was selected.
bullet Removed CurrentSim == 0 because some of the initialization needs to be done for every run.
bullet Added B3DCopyObjects  to create 3D objects.
bullet Fixed problem where batch would only allow items in if demand connector is true even if batch had already started.
line
bullet Catch Item
bullet Revised searching for throw blocks to speed up initialization.
line
bullet Convey Item
bullet Fixed problem where attribute popup was hidden behind length parameter.
bullet

FindAvailableAnimation is no longer called when animation is not on. Speeds up model execution.

bullet Revised calculations of event times when conveyor speed changes.
line
bullet Create
bullet Changed help for beta distribution. Maximum is location plus max parameter.
line
bullet Executive
bullet Revised searching for throw blocks to speed up initialization.
line
bullet Gate
bullet In PassItem() if in Demand Values Mode, changed when accumDemand_prm is updated by posting a current event.
line
bullet History
bullet Fixed problem where the table did not update correctly if show string attributes was toggled
NewAdded automatic attributes if the last block created was a History block and attributes (properties) had been selected for that block.
line
bullet Queue
bullet Added error check for duplicate resource pools.
bullet Departures dialog item is now cleared in on ClearStatistics.
bullet Added PutSorted in On QueueFunction so that items would be inserted according to the sorting rule if QueueFunction is called from another block.
bullet Added Allocation of Resource Index Array.
bullet If reneging or 3D is turned on, items are now expanded to their quantity as they enter the queue.
line
bullet Queue Equation
bullet Fixed a bug with the results being placed on the output value connectors.
line
bullet Resource Pool
bullet Revised calculation of changing number of available resources. This was not working properly if the change was greater than the number of resources available.
bullet Added call to Util to calculate utilization when the shift schedule changed.
bullet Updated ValueOut whenever queueLength_prm changed.
line
bullet Select Item In
bullet Added condition to not recalculate animation if animation is not on.
bullet Fixed problem with Equation (I) and Get blocks controlling SelectItem In block.
line
bullet Select Item Out
bullet Fixed problem if number of outputs different from table size.
bullet Fixed problem where animation of output connector would not display properly
line
bullet Shutdown
bullet If Sched connector connected, results tab was not working.
[ Shutdown -
[ Shutdown -
NewFor competing failures, added option to have a “Down Value” field so different fail streams can have different associated down values.
NewFor competing failures, added new output value connecter to broadcast the current fail stream.
line
bullet Throw Item
bullet Added check to make sure that building the list of catch blocks is only done once at the start of the simulation.
bullet Revised searching for throw blocks to speed up initialization.
bullet Revised UseBlockNum searching for Catch blocks.
line
bullet Transport
bullet Fixed problem where delay was not using time conversion ratio for different time units.
line
bullet Unbatch
bullet Removed sendmsg(needs, output). This is incorrect in response to a wants message from an output connector.
bullet Initialized AnimationTemp and PriorityTemp. Animation and Priority properties were showing up as uninitialized characters in the Properties tab.
bullet Fixed uninitialized variable in senditems.
line
bullet Workstation Fixed 3D animation problem if Workstation was used with resources
bullet Fixed a bug with the “Delay from lookup table” option. Certain distributions were not getting the correct parameter values.
bullet Fixed problem where blocked workstation would not unblock. See the commented out code in the block.
bullet Added clearing of additional output statistics.
bullet Moved B3DActivityStackItem to before where item is inserted into list.
bullet Added support for item quantities greater than 1.
bullet Fixed Problem when calculating queue wait times.
line
bullet  “Record ID Tracking“ implemented in these blocks:  Read, Write, Read(I), Write(I), Set, Resource Item, Data Specs.
bullet Data Import Export
bullet Added condition so that imports and exports would not always occur.
bullet Fixed problem with exporting from global array to database.
bullet Fixed problem where clicking on scroll bar for ODBC import table caused an out of range error.
bullet

Fixed problem where exporting to existing table did not work.

bullet Fixed database export to text file.
bullet Added option to append or overwrite ODBC database table.
line
bullet Random Number
bullet Changed help for beta distribution. Maximum is location plus max param.
bulletAdded DisplaySim function to display the total probabilities of the empirical table if they do not sum to 1.
bulletAdded paste distribution from Stat::Fit.
line
bullet Statistics
bulletChanged block name column to resource pool name for resource pool blocks. The block name will always be the same and this is a convenient place to record the resource pool name.
bulletRemoved restriction on 65536 rows for exporting to Excel.
line
bullet Queue Tools
bullet Removed unnecessary line of code that was causing an out of range error.
bullet

Added PutSorted in On QueueFunction so that items would be inserted according to the sorting rule.

Rate library
bullet Convey Flow
bullet

Fixed problem when the time unit of the block is different than the general time unit of the model, the outflow rate wasn't calculated right.

bullet Correction in the posting of events to reach the next event.
bullet Accumulation variable static variable now updates more often.
line
bullet Valve
bullet Quantities are now updated as soon as a goal has been interrupted.
bulletAdded animation of the rate value within an Hblock.
line
bullet Interchange

bullet

Changed the moment the content of the block is calculated when an item circles in a loop.
bullet Block status updates more often.
bullet Fixed problem where uninitialized value returned an error when an item was blocked.
bullet Constants PUSH and PULL are now used when sending an item.
bullet Changed event sequence to update the Value out connectors, then send the item.
bullet In PostInitsim, if connected, a message asking for the capacity of the Tank/Interchange is sent for the first calculation.
line
bullet Merge and Diverge
bullet

Parameter connectors now for Throw/Catch connections as well as flow connections.

bullet

In mixed Flow and Throw Flow connections, the local variable has been changed to liLinkTypeTC from liLinkTypeConnTC.

bullet The constraint for distributional mode calculation has been changed as it had created some infeasible solutions in the LP (precision issue).
line
bullet Executive (LP calculation)
bullet

If Optimize a Bias and Merge/Diverge all have 0 effective rates, the introduction of a new constraint is skipped.

bullet

An objective function is no longer required by the Bias block (only one branch open example).

bullet Added a condition to delete an SD problem only if it exists.
bullet Post constraints introduced in relation to the change made with the distributional mode set of constraints.
bullet The tolerance of the LP has been lowered to avoid infeasible solutions. If it is feasible: a precision level of 12 is too high, the precision of the effective rate is now 10 digits.
line
bullet Tank
bullet

In PostInitsim, if connected, a message asking for the capacity of the Tank/Interchange is sent for the first calculation.
line
bullet General

New It is now possible to have a parameter linked to a database and connected with a connector. Only the link to the database is used as a result.

NewAn animated blue cross is displayed on the icon when the shift is off in the Valve, Tank, and Interchange blocks.
bullet Corrected Lower and Strictly Lower in the popup menus of Rate blocks.
bullet ConArrayGetNumCons gives an error message when the connector doesn't exist. Use ifDef in place of this function.
line
bullet Blocks with Shift capabilities
bullet

Check performed during Initsim to see if the shift starts onshift or offshift.

line
bullet Blocks with Throw Catch capabilities
bullet

Corrected error in the sequence of actions to update the connections.

Animation 2D - 3D library
bullet Animate 3D
bullet

Rotation is now in degrees.

line
bullet Animate Value
bulletAdded font size dialog to control font size of animation text.
ExtendSim Program
bullet 2D Animation
bulletColored borders around worksheet text boxes and AnimationBorder now supported.
line
bullet 3D Windows
bullet 3D Window now starts processing events just before the simulation start, instead of before initialization. This prevents a delay at the beginning of the simulation.
bullet 3D Window ends processing events after finalCalc, instead of before.
bullet The pausing of 3D models greatly improved.
bullet Custom E3D Objects should no longer cause a crash (this was a rare occurrence).
line
bullet Dialog Items
bullet Button column tag works for string datatables.
bullet Appending labels to popup menus and datatable labels when appending empty strings or appending to an empty string greatly improved.
bullet SLPopup column tag supports linking to database tables that have child fields.
line
bullet Functions
bullet ListSetSort correctly sorts the contents of a list.
bullet MailSlotClose is updated to return a zero for success, as the manual describes.
bulletGetConnectedTextBlock() now returns the connector text block inside a hierarchical block if the block argument is negative.
line
bullet Linking
bullet Copying for paste links from datatables fixed.
line
bullet OLE/COM
bulletSupports safearrays for both poke and request in the OLE object model.
bullet

Supports poking and requesting directly to a Database table or a Global Array.

line
bullet Printing
bullet Text documents will open faster in the case of a slow printer driver.
line
bullet Queue Tools
bullet Removed unnecessary line of code that was causing an out of range error.
bullet

Added PutSorted in On QueueFunction so that items would be inserted according to the sorting rule.

line
bullet General program changes and additions
bullet Links added to the Help menu.
bullet Clone tool access in a locked model is no longer available through the right mouse button.
bullet Links from Extend 6 models are now marked as non-registering links. This helps prevent them from behaving more slowly then they did in the Extend 6 models.
bullet GA initialization was being done twice, once before initsim and once between initsim and postInitsim.  This is now being done only once before initsim.
bullet Pasting icons into Powerpoint now preserves transparency.
bullet Connection make, break, and click messages now being sent into and out of hierarchical blocks correctly.
bulletSystem Message - RESUMESIMALLBLOCKS Msg – Sent to all blocks when the model resumes execution after a pause.
.

.

FixesFrom 7.0.0 to 7.0.1
Released January 23, 2008

Fixes at the program level in 7.0.1
bullet 3D Window
bullet Visual flicker when the camera faced due south is fixed.
bullet All items now update when shadow preferences changes, not just some.
bullet Improved loading and windowing in the 3D window behavior.
bullet 2D Animation
bullet Moved animation speed delay to the beginning of the next step resulting in increased speed for 2D animation.
bullet Added ModL functions AnimationGetSpeed(), AnimationSetSpeed(), and AnimationSetDelayMode() to allow more control with concurrent 2D animation.
bullet 2D animation objects now create bitmaps, speeding up 2D animation movement functions.
bullet Animation has been sped up to speeds comparable with Extend 6.
bullet Corrected flickering of animation objects in motion.
bullet Dialog Items
bullet The editing of percent parameter dialog items and percent datatables cells is now more consistent with the database.
bullet Enabled the disabling of linking of parameter dialog items. (See DILinkingDisabled function.)
bullet GetDialogItemLabel function improved when working with clones of specified dialog items.
bullet Hierarchy
bullet Creating HBlocks via model selection no longer sends unneeded block deletion and connection messages.
bullet

HBlocks in libraries some times had issues with finding the libraries for blocks included in the HBlock. This issue has now been corrected.

bullet Incorrect block messages that were being sent during the making of an HBlock have been eliminated.
bullet Eliminated tedious block library linking for v6 HBlocks from libraries.
bullet In some rare cases, block several levels deep in hierarchy were not getting simulate messages. This issue has now been corrected.
bullet Database
bullet Fixed inconsistency that would occur when editing percent format in linked datatables.
bullet

When setting child field values, the database would incorrectly match the parent record if one existed. This issue has now been corrected.

bullet Fixed the sorting of tables with child fields and parent fields. Child tables will now be relinked correctly.
bullet Database component selectors now have information to help in selection.
bullet Random cells now correctly generate new random members every time they are accessed instead of keeping older generated values if accessed in the same block at the same step.
bullet Database can now import a hybrid file of ExtendSim and SDI Database tokens for generating Extend v6 and ExtendSim 7 compatible database files.
bullet Improved the selection of child values when clicking on the database child cell.
bullet DBDataGetAsString() now correctly returns the percent format as a decimal number (e.g. 50% returns 0.5).
bullet Linking Data source links have been eliminated from read-only parameters when they are copied and pasted.
bullet General Changes to the Application
bullet Application stability has been improved. (Rare crashes associated with the closing and opening windows has been eliminated.)
bullet "View connection lines using defaults" was not working correctly. This has been corrected.
Block level changes in 7.0.1
bullet Value library
bullet Constant block Fixed problem in Constant block where output could appear to not be connected if constant value is set to 0 in CheckData.
bullet Data Import Export block Data Import Export block now correctly imports to a database at the beginning of a simulation.
bullet Mean & Variance block Added additional calls to calculate statistics in the Mean & Variance block so calculations would always be up-to-date.
bullet Statistics block Fixed the problem where time was showing up in the wrong column for the Tank mode of the Statistics block.
bullet General changes to the Value library Value output connectors have been fixed so they always report the correct value.
bullet Item library
bullet Batch-type blocks
arrow Fixed a problem in the Batch block where preserving items can be inefficient.
arrow Fixed the problem where blocking would prevent the Batch block from accepting new items when unblocked.
arrow In the Batch block, if average is selected and more than two items are batched together, attributes now work correctly.
arrow Batches of size 1 now work properly.
arrow In Unbatch block, item is now properly deleted from preserved item linked list in pullItem.
arrow In the Unbatch block, we added additional calls to BTB_sendItem to convert an item to a new picture.
bullet Convey Item block
arrow Added connection line icon view to the Convey Item Block.
arrow Revised the condition for calculating item position in Convey Item Block.
bullet Database blocks
arrow Added input variable DB Read Index.
arrow The equation output variable named DB Write is now called DB Write Value. 
arrow Added output variable DB Write Index.
bullet Equation-type blocks
arrow The names of some of the input and output variables have been changed for equation-type blocks (Equation, Equation(I), and Queue Equation).
arrow In addition, new input and output variables were added to those blocks. See pages 602 and 603 of the electronic version of the User Guide for a complete list of variables for the equation-type blocks. The electronic User Guide is located at \ExtendSim\Documentation\User Guide.pdf.
arrow In certain circumstances, the query operation was not getting passed through the DE Equation block. Now it is.
arrow The Queue Equation block now properly deals with the entering of items having Item Quantities of > 1.
arrow The equation input variable named DB Read has been changed to DB Read Value. 
arrow Changes were made to the block Help in Equation based blocks: Shift, Cost by Item, and Create.
bullet Queue blocks
arrow If the Queue is pushing an item out, items are no longer not allowed to enter Queue.
arrow Maximum length input connector now works properly in Queue.
arrow Added additional call to CalcAveLength in Queue. Calculation of average length when using resource pools was sometimes wrong.
arrow Fixed problem when items of quantity 0 enters a Queue. The wrong item will no loner be disposed.
bullet Read block Fixed problem in the Read(I) block where connector labels were refreshing even if they were not shown and the animation was off.
bullet Resource Pool Added additional error checking if Resource Pool is missing.
bullet Select Item Out block
arrow Added animation of item blocked in Select Item Out block
arrow Fixed problem in Select Item Out block where items were not always being pulled through when they should be.
bullet Shift block
arrow If the block is set to complete the item before shutting down, you may now save the shutdown duration.
arrow If the block is off shift, items are now rejected properly.
bullet General changes to the Item library Revised autoconnecting blocks in the Item library. Source code is now in its own include file.
bullet Rate library
bullet Convey Flow block The first time effective rates are calculated now propagates correctly.
bullet Interchange block

 

arrow Corrected item animation on the icon.
arrow The indicator value output connector will consistently be updated during initsim and a message will be sent during postinitsim.
arrow The first time effective rates are calculated now propagates correctly.
arrow

To check posted times when a new indicator or level empty or full is reached, instead of using the >= function, use the NearlyGreaterThan function.

bullet Merge and Diverge block The distributional mode implementation in the Merge and Diverge block has been changed so it will no longer cause a model to stop and deliver an error message.
bullet Tank block
arrow Corrected item animation on the icon.
arrow The indicator value output connector will consistently be updated during initsim and a message will be sent during postinitsim.
arrow The first time effective rates are calculated now propagates correctly.
arrow To check posted times when a new indicator or level empty or full is reached, instead of using the >= function, use the NearlyGreaterThan function.
bullet Valve block
arrow For setting a Goal, a popup menu has been added to the Flow Control tab. This allows you to choose whether to start the simulation run with the goal off, the goal on, or with the goal defined by the value at the G connector rather than the dialog value. (A new goal can no longer be triggered by changing the value of the parameter via linking message or typing a new number in the dialog parameter.)
arrow For Goal quantity and duration, if the option “Start new goal when previous goal finishes" is selected, the Goal would automatically start “on” and never turn “off”. This has been corrected.
arrow For setting Hysteresis, a popup menu has been added to the Flow Control tab. This allows you to start the simulation run with hysteresis ignored, observed, or defined by the value at the Start connector rather than the dialog value.
arrow If the Start connector and the G connector were connected and a message gets sent to the Start connector, the block will now correctly send a message to the G connector before reading the value at the G connector.
bullet Miscellaneous
bullet Turned off animation in 3D Quickview if no 3D object is associated with the item.
bullet Event handling
arrow If the end of the simulation is not timed, beforeEvent if has been added to the Event output connector.
arrow Adjusted searching for future events so that a round-off error would not be a factor.
arrow Resets the number of current events to 0 after the first set of current events processes.
bullet Proof Animation
arrow Proof bug fixed.
arrow Initialized Proof variables every run.