Skip to main content

OpenTD 2025 R2

Changelog

Last update: 16.07.2025

Version 2025 R2

Notes

  • For this release and all subsequent releases, Assembly versions will correspond to TD versions (25.2.0.0, etc.). We reconsidered the previous decision to decouple the two versioning schemes.
  • For this release, there are two versions of OpenTD dll's: one for use with .NET 4.8 and AutoCAD 2024, and one for very limited use with .NET 8 and AutoCAD 2025.
  • The .NET 4 versions of the dll's will have assembly version 25.2.4.x and will be installed to the GAC, as usual.
  • The .NET 8 versions of the dll's will have assembly version 25.2.8.y and will be installed in the TD installation directory. .NET 8 does not use the GAC.
  • At release, for .NET 8 / AutoCAD 2025 only OpenTD add-ins are supported. Client/server OpenTD programs are not supported. We are working to fix this.

New Features

  • Added ability to override TdConnect settings with end-user config file (see TdConnectUserOverrides)
  • Added Domains.*XREF members to find domains from XREF'd dwgs
  • added DomainManager.Rename method
  • Added RadiationAnalysisGroupManager.PurgeUnused, .Remove, .Merge, and .Copy methods

Performance Improvements

  • CoSolver communication to Sinda now works on machines using number formats other than "en-US"
  • Improved error checking in CaseSetManager.Run
  • Fixed bug with Orbit.DiffuseSkyIRArray units
  • Fixed user preferences bug

Assembly version 92.0.0.0

Notes

  • For this release and all subsequent releases, OpenTD assemblies will no longer include the version in their filenames. The filenames will not change with each version.
  • Assembly versions will no longer correspond to TD versions (24.2.0.0, etc.).
  • The first assembly version chosen for this new scheme is 92.0.0.0.

New features

  • Comparer now supports different comparison algorithms for different types of data.
  • All methods that used to accept Dataset now accept IDataset for greater flexibility.
  • DatasetFactory.Load can now be used to load sav, CSR, or savx with path, without knowing type of file.
  • MCH_USED added to StandardDataSubtypes.
  • Now handles domain names from XREF dwgs.
  • Added TIMEN2 support to logic objects.

Performance improvements

  • CaptureGraphicsArea is more reliable.
  • Fixed various Orbit parameters to correctly use flux or temperature conversions.
  • Fixed rename behavior for all properties, including stacks. Entities that use the property now reflect the rename.
  • User preferences now set correctly from OpenTD.
  • CreateHeatLoad now works with tets.
  • Fixed bug where results in UDFA’s associated with fluid objects returned NaN’s.
  • Fixed bug where UDFA results were incorrect.
  • One-way conductors now show positive heat flow if flow is in the direction of “from” node to “to” node (was reversed).
  • Now reading BotInsulationNodeSubmodelIdOption correctly for surfaces.

Version 2024 R2

New features

  • Added case set group name parameter to TDSF_CoSolver constructors.
  • Added Message member to CompareSuite; just returns Log member.
  • Twin lump ids are now automatically sequenced if lump.TwinId == 0.
  • Added auto start of OpenTD servers on _SAVEAS for all versions of OpenTD.

Version 2024 R1

Note

This was an administrative release. There is only one new feature: added Comparer.ToString() method.

Version 2023 R2

Major new features

  • Added support for controlling item visibility via the ThermalDesktop.VisibilityManager.
  • Added ReadMeshDataFile method to read various mesh data formats into TD.
  • Added support for stack aliases.
  • Added DynamicSindaStatus class for interacting with messages generated by Dynamic Sinda.
  • Added limited support for new beta SaveX file format.

Other new features

  • Added MeshDisplayer.BaseTrans property -- now you can move FEM's.
  • Added experimental CaseSetManager.IsCaseRunning() method for asynchronous cases.
  • Added Contactor.Comment property.
  • Use lightweight SubmodelNameData's to identify submodels for FloCAD objects.
  • Added GetNumberOfDbObjects(...) method.
  • Implemented ConvertFDtoFE method.
  • Matrix3d.SetOrigin now returns the new matrix instead of void.
  • Dataset.Factory.Load method to load sav, savx, or CSR.
  • Comparer ctor overload to accept IDatasets instead of Datasets.
  • Added Close and ReOpen methods to IDataset.
  • Added CloseDatasets and ReOpenDatasets methods to Comparer.
  • Added ability to rename and delete aliases.
  • Added CaseSetManagerOptions.ShowTextScreenDuringRun member.
  • Added Conductor.UseGlobalAccelm member.
  • Added RcEntityData.GlobalContactArray member.
  • Added RcSolidElement.AnalysisGroupsVolumetric member.
  • Added RcFdSolidData.AnalysisGroupsVolumetric member.
  • Added FkLocator.Anchor member.
  • Added Pipe.LengthDivisions and RadialDivisions members.
  • Added Tie.LengthDivisions, RadialDivisions, and UseGlobalAccelm members.

Performance improvements

  • CreateCone returns correct node names.
  • Polygon.Update() no longer duplicates vertices.
  • CoSolver.Continue() returns -1 if SF disconnected, instead of an exception.
  • New scr filename and pipe name conventions to avoid Windows Defender mistaking scr files for viruses.
  • Avoid issues with duplicate handles in Assembly.
  • Fix parsing mixed-case subtypes like "DeltaP."
  • Fix GetMeshFD(s) so it populates returned object(s) correctly.
  • GetPipe no longer returns pipes with blank signatures.
  • Pipe ties now handle domains correctly.
  • CaseSet.Run and CaseSetManager.Run now handle casesets with drive symbols from Excel.

Version 6.3

Major New Features

  • added Addin capability
  • added support for Measures
  • added full support for global dwg preferences
  • added support for Post Processing Data Mappers
  • added support for legacy TD COM interface via ThermalDesktop.SendLegacyComCommand method
  • added SF_Launcher for running text-based input models in SINDA/FLUINT
  • added SF_CoSolver for running and controlling text-based input models in SINDA/FLUINT
  • added access to Logging namespace, allowing client programs to use our rich logging features
  • added OpenTDMixedInterface.dll, providing access to some OpenTD features via C/C++/Fortran

Other New Features

  • added GetSymbolValue method to return an evaluated symbol value from TD
  • added Show/HideModelBrowser methods
  • added support for getting and setting the UCS
  • added ProgressBar class to control RadCAD progress bar
  • added IUserBreak interface to allow end users to cancel an Addin operation
  • added several AutoCAD commands for controlling OpenTD servers
  • updated all public methods that accept List to accept IEnumerable instead, for LINQ and general flexibility
  • updated LogicObjectRoutineTypes values for clarity
  • ThermalDesktop.Quit() now defaults to a gentle quit, but can be forced to kill the acad process
  • added DomainManager.GetDomain method for getting the entities in any type of domain
  • added DataArray constructor that just accepts a list of doubles
  • added Enable/Disable Undo methods -- disabling undo can speed up operations
  • added overloaded ThermalDesktop.SetView methods, which wrap the Restore*View methods
  • added ThermalDesktop.ClearSelection method
  • added ThermalDesktop.GetMainWindow method to get the AutoCAD window to use as the owner of OpenTD dialogs
  • added Notes.HasPassword list to identify notes that are password-protected
  • added Comparer.SaveExceedancePlots method
  • Comparer now works with registers
  • added Comparer.CompareJustFinalRecord member
  • added Get/SetInstanceData methods to allow storage of general data with a TD instance

6.3 New Features Included in 6.2

  • added support for 3d polylines
  • added ThermalDesktop.Get- and SetNodeCorrespondenceMap methods
  • added GetSelection method to prompt the user to select entities manually in TD
  • added SetSelection method to highlight objects in the TD graphics window
  • added GetEntityTypes method to get entity types from handles
  • test applied to objects for consistency before creating or updating heatload
  • added GetXREFpathnames method
  • added DomainManager.GetAnysetDomain method for getting the entities in an ANYSET domain
  • added SS_CONSTANT_TEMP_APPLIED_NODES as an allowable value for Heater.SSMethod

6.3 Performance Improvements Included in 6.2

  • sped up most operations by eliminating calls to CheckIfConnected()
  • only allow one node in From list in CreateConductor
  • use a single instance of CaseSetManager per ThermalDesktop to avoid confusion
  • LocalTrans no longer deletes rotation expressions
  • GetSubmodels and GetFluidSubmodels now scan database for submodel names before returning
  • WeightedAverageDataArray no longer allows negative weights
  • Getter speed improved by handling expression units more efficiently

Version 6.2

Major New Features

  • added FD Solids
  • greater support for FEM's
  • OpenTDv62.CoSolver to connect SINDA/FLUINT to other analysis codes
  • added support for TD Datasets and contour plotting
  • added FloCAD Compartments and Acceleration
  • added Trackers
  • added Pressure loads
  • added logic objects: ArrayInterpolation, PID, UDFA
  • added AutoCAD arcs, circles, ellipses, splines, helices, and polylines
  • added CaseSetManager class to set Case Set Manager options and run in batch mode
  • added UserPreferences class for manipulating some global preferences
  • added support for reading PCS files to determine model topology from results
  • added Results.Dataset.Browser class to determine heat flows between groups of entities
  • added support for reading UDFA results
  • overhauled OpenTDv62.Results to emphasize groups of data: submodels, domains, arbitrary groups
  • OpenTDv62.Results now outputs NaN for missing data, and uses NaN in plots and DerivedDataArrays
  • added support for Text Transient files
  • added SpreadsheetDataFile method for reading csv or similar files
  • added support for custom DataSubtypes (you're not restricted to T, PL, etc. -- can make your own)
  • added FormulaDataArray for combining DataArrays with arbitrary formulae
  • added WeightedAverageDataArray class
  • added MaxDataArray and MinDataArray types (to return loci of extreme values across input arrays)
  • added SumDataArray

Other New Features

  • added CompareSuite and CompareAssertion classes, to compare multiple pairs of Datasets
  • added Exceedances member, and PlotExceedances and GetExceedancePlots to Comparer
  • added EllipticCylinder class (accidentally left out of 6.1)
  • added methods to get all rectangles, cones, etc. (all FD Surface types)
  • added TdConnectConfig.ShowAcadSplashScreen and .AdditionalAcadCommandline members
  • added CreateIn(ThermalDesktop) methods to all entities
  • added UpdateIn(ThermalDesktop) methods to all entities
  • added Connection.IsEmpty() method
  • added AttachedNodeHandles member to all FD surfaces (already included for FD solids and finite elements)
  • added DataArrayCollection.Dimension and DataItemCount members
  • added ThermalDesktop.GetOpticalPropDBPathname and .GetThermoPropDBPathname methods
  • added RadiationAnalysisGroupManager.GetDefault method
  • added DataArrayCollection.GetTranspose method
  • superceded SubmodelDataArrayCollection and DomainNodeDataArrayCollection with new methods for specifying groups
  • added CreatePipe(DbObject centerline) convenience method
  • added convenient Write and WriteLine methods to StandardOutput
  • updated Contactor/TEC with new features for 6.2
  • added ThermalDesktop.GetViewNames method
  • now allow CreatePort to create ports with no connections by passing an empty Connection (Handle == "")
  • update Plot2d.AddSeries(DataArrayCollection) to allow using first array as x data
  • added DataArray copy constructor
  • added DataTypeFamilies enum (thermal, fluid, other) and methods to determine from DataTypes or DataSubtypes
  • added ThermalDesktop.GetLayerByName method
  • added ThermalDesktop.GetCurrentLayer() and .SetCurrentLayer(string name)
  • added SaveFile.Close() method and made SaveFile IDisposable
  • added CaseSet.ReplaceFilenames method
  • added UnitsData constructor that accepts a units expression string
  • added read-only members to Node class to help navigate FD/FEM networks (AttachedObjectHandles, etc.)
  • added Matrix3d.ToString method
  • ExportNodeInfo now defaults to returning a List with the same strings that would otherwise be written to screen or file
  • use RcEntityData.AnalysisGroups dictionary to simplify specifying FD Surface radiation analysis groups
  • added ThermalDesktop.CreateNode(Point3d origin) method

Performance Improvements

  • speed increase for DataArrayCollection Dataset.GetData(...)
  • initialize RadCAD members in constructors to reduce errors with CreateIn methods
  • fixed NodeBreakdownData to default to a blank Boundaries list
  • fixed bug where Assembly.AxisSize wasn't scaling with WorkingUnits
  • make SaveFile's threadsafe

Connect with Ansys