Tekla Structures 2021 Open API Release Notes
TEKLA.STRUCTURES.ANALYSIS 2021.0.0.0 ASSEMBLY
- AnalysisModelHandler.GetActiveAnalysisModel does not run a model update anymore.
TEKLA.STRUCTURES.CATALOG 2021.0.0.0. ASSEMBLY
- Now string parameter values are also read from the profile catalog correctly.
- The new methods GetHandlePoints() and SetHandlePoints() have been added to the ShapeItem class for modifying the handle points for shape items. It is possible to snap to these handle points in the model and drawing views.
- Previously, ComponentItem.Select could throw an argument out of range exception when it passed arguments of a type it could not find. This has now been fixed.
TEKLA.STRUCTURES.DIALOG 2021.0.0.0 ASSEMBLY
- Tekla Structures now stores the position of a Wpf dialog box when the dialog box is closed and reopened to the same position.
- Previously, Tekla.Structures.TeklaStructuresFiles.GetAttributeFile(string fileName) and Tekla.Structures.Dialog.UIControls.EnvironmentFiles.GetAttributeFile(string fileName) could not locate attribute files if they were located inside a subfolder of a firm or project folder. Now both methods can find attribute files in any system folder, including their subfolders. This change rendered GetAttributeFile(List<string> searchDirectories, string fileName) obsolete for both classes, and those methods have been marked as deprecated.
- When the Fusion style was applied to UI controls in the Wpf dialog boxes, only the visible UI controls were searched. Now the search is also done for the hidden controls.
- Previously, certain Logitech mouse drivers could cause a crash when the middle wheel was tilted (horizontal scroll). This has now been fixed.
- Type mismatch between a dialog box property and a stored attribute of Wpf dialog boxes could lead to an unhandled exception and crash. This has now been fixed.
- A new property UseDefaultStyle has been added to the WindowBase class. If it is set to false, the default style used in Tekla Structures is not used, for example, for the colors in dialog boxes.
- The GetFilterValue(string attributename) method has been added to the WindowBase class.
- The LoadValues() method now also supports dialog boxes inherited from the ApplicationWindowBase and ApplicationFormBase classes.
- A new property ComponentCatalog.SelectedComponentType has been added so that you can handle components that have the same component number but are of different component types.
TEKLA.STRUCTURES.DRAWINGS 2021.0.0.0. ASSEMBLY
- Drawing Markset GetObjects() now returns child marks properly again.
- New methods MergeMarks() and SplitMarks() for merging and splitting marks have been added to the Operation class in Tekla.Structures.Drawing.dll. NOTE: MergeMerks() requires the original mark content to be similar and of the same type. The operation does not support associative notes, mark sets, or template content.
- The PrintDrawing(s) methods did not work when PrintToMultipleSheet was set to true. This has now been fixed.
- Previously, the Open API function, ReinforcementSetGroup.GetModelIdentifiers, crashed if a .NET application was compiled with 'Any CPU' rather than 'x64'. This has now been fixed.
- Previously, grid line labels were sometimes placed incorrectly when modified. This has now been fixed.
TEKLA.STRUCTURES.MODEL 2021.0.0.0. ASSEMBLY
- Dynamic strings are no longer visible when asking properties with GetAllUserProperties().
- The performance of GetDynamicString() has been improved for model objects.
- Reference model API now has a method to get a list of Tekla Structures model object GUIDs based on the External GUID list.
- Previously, the Operation.CopyObject function with coordinate system parameters failed to copy the rebar set within a copied concrete column. This has now been fixed.
- Open API selection filters now obey the rebar group and single rebar selection switches.
- OpenAPI face picker has been extended to also support reference model faces. Other reference model formats work as intended, except DWG with triangle faces, which may have issues in some cases.
- The following methods have been added to retrieve a polycurve from a contour plate and a polybeam:
- Previously, DSTV-related functions could leak memory. This has now been fixed.
- The GetSimilarNumberedObjects() method in the Operations class now works correctly with assemblies.
- In some cases, Tekla Structures stopped responding when the GetDSTVCoordinateSystem method was called on a selection of Tekla Structures parts. This has now been fixed.
- A new event type OnModelSaveInfo has been added. It contains information about why the model save was called.
- When setting a temporary color with Tekla.Structures.Model.UI.ModelObjectVisualization.SetTemporaryState to an assembly, its secondary parts were not colored. This has now been fixed.
- It is now possible to create a boolean object to a component and custom part. GetBooleans has been added to the Component and CustomPart class.
- Previously, calling GetDynamicStringProperty() did not initialize the string value. This has now been fixed.
- The following changes have been made:
- Added class Tekla.Structures.Model.Geometry.Rotation3D
- Added property Tekla.Structures.Model.ReferenceModel.Rotation3D
- Obsolete property Tekla.Structures.Model.ReferenceModel.Rotation
- Added property Tekla.Structures.Model.ReferenceModel.UseWorkplane
- The ModelObjectChanged event is now triggered also by the Undo and Redo commands when the user makes property changes.
- Previously, the Operation.CopyObject function failed to copy the rebar set within a copied concrete column. This has now been fixed.
- The Rotation3d and FacetedBrep classes were not serializable and enumerating them caused crashes in the Open API. This has now been fixed.
- Changes in ProjectInfo will now trigger the OnProjectInfoChanged event to registered tools.
- ContourPlate has a new method, GetContourPolycurve, that returns the contour as a Polycurve object.
- Previously, CreateReportFromSelected was returned before a pdf was created. This has now been fixed.
- In Tekla.Application.Library.dll, the MacroBuilder.SetWpfTextBoxText method did not automatically add quotes to the "text" parameter so it failed to set the text unless you passed in a string with the quotes already added. This has now been changed so that if the string is not enclosed in quotes, they are added.
- When calling GetIntegerReportProperties/GetDoubleReportProperties, which included START_X_IN_WORK_PLANE/START_Y_IN_WORK_PLANE/START_Z_IN_WORK_PLANE/END_X_IN_WORK_PLANE/END_Y_IN_WORK_PLANE/END_Z_IN_WORK_PLANE, there was an assert in the application/plug-in. This has now been fixed.
TEKLA.STRUCTURES.PLUGINS 2021.0.0.0 ASSEMBLY
- The problem with an incompatible attribute value type in the datastorage has been solved. Exception handling has been added to the datastorage initialization. An error message will be shown in the debugger output window if a wrong type is used for the attribute.
- The standard file is now loaded correctly for custom parts when using the POSITIONING_BY_INPUT_POINTS positioning attribute.
TEKLA.STRUCTURES 2021.0.0.0 ASSEMBLY
- Exception handling has been added for remoting channel enumeration which was caused by illegal characters in the channel path.
- Applications using Open API:
Now it is possible to use Open API applications from several Tekla Structures sessions if the application is started from the Tekla Structures user interface (for instance, by using a UI macro).
- The following missing object types have been added for filtering: ANALYSIS_PART and ANALYSIS_NODE.
- Using empty string values for UDAs in filters when obtaining model objects over the Open API now works correctly. Previously, if such a BinaryFilterExpression was passed to the method
ModelObjectSelector.GetObjectsByFilter(FilterExpression FilterExpression), the resulting enumerator would return all objects from the model.
- Previously, there was a regression of attribute files location for Open API functions which were not able to locate their attributes in the model attributes folder. Now this is fixed, the methods still find the files which they were finding before.
- Previously, there was a problem with the TSEP batch builder program where it was failing to append the version to the TSEP file name using the -a option without also using the -v option to specify the version. Now if the -a option is used without -v, it appends the version specified in the TSEP definition xml file.
- The new Type field has been added to the Product element of the TSEP definition file (manifest). This has two allowed values: Environment or Extension. The new field must be added for the TSEP Batch Builder and Builder programs to build TSEPs. If it is missing, they will no longer be built and an error will be indicated in the build log. Existing TSEP packages that do not have this field will continue to be installed as before.