In V15.0, .NET API introduces a new type of object called TCPTrack object that holds the curves created by the TCP Tracker command. The new object is represented by the ITxTCPTrackObject interface and TxTCPTrackObject class. These objects can be created using the .NET API by calling the CreateTCPTrackObject method of the TxPhysicalRoot class. The created data is represented by the TxTCPTrackCreationData class. The TCPTrack objects appear in the Object Tree under a new main folder called Curves. The TxMainFolderType of the Curves folder is TcpTrackerCurves. Children of the TCPTrack objects can be accessed using the methods of the ITxObjectCollection interface.
Solid Box Creation
The TxBoxCreationData class exposes a new constructor that receives an offset parameter. The offset parameter allows the API user to control the position of the geometric object relative to its self-frame when the object is created. By default, a box is created when its self-frame is at the center of the bottom face. This can be changed using the new constructor – for example, the box can be located so that its self-frame is at the geometric center by setting the offset parameters to (0, 0, -boxHeight /2.0).
The following changes were made in Cable .NET API:
The cable settings are now public: All settings properties belong to the new TxCableSettings class and can be accessed via new static property Settings from TxCable class, allowing the user to tweak all cable settings (obstacle mode, smooth cable display, twist lines display and constraint colors display).
All hook classes ( TxCableHook, TxCableFixedHook and TxCableRetractableHook) along with all their properties and methods have been deprecated.
Attachment classes TxCableAttachment, TxCableFixedAttachment and TxCableRetractSystemAttachmentType1 have been added and replace the hooks.
Attachment class TxCableRetractSystemAttachmentType2 has been added and provides access to a new kind of attachment.
Hooks of TxCableData class has been deprecated and replaced by the new Attachments property.
Property ControlPointsLengthRatios of TxCableData class has been deprecated and replaced by the new ControlPointsPositionsAlongCable property.
In this version, a new scaling API is available for .NET API users. The ITxScalable interface brings the Scale method that scales an object by factors defined with TxScaleData class. The scale API supports only exact geometry. The scaling is relative to the object self-frame and if the object is away from its self, the scaling cause it to move. If scaling is non-uniform, it deform the object according the self-frame directions. To avoid unexpected results, it is advised to model objects at the origin, and relocate them later.
Placement Manipulator API
The Placement Manipulator is now presented in the .NET API with the new TxPlacementManipulator class. This functionality allows the user to move objects with the aid of a guiding graphic manipulator. The manipulator can be configured using the TxPlacementManipulatorParameters class and displayed at the desired location. The manipulator is controlled by the Show and Hide methods and receives the ElementPicked and ManipulatorMoved notifications.
In V15.0, .Net API introduces the ITxOperationLinkCollection interface that holds the common functionality for operations that contain operation links like TxTcOperation, TxTcProcess, TxCompoundOperation, TxRoboticSeamOperation, etc. The interface provides the existing CreateLink and CanCreateLink methods, ChildLinks property and LinkCreated event.
The new ITxSkippableObject interface represents objects that can be skipped by the controller during simulation, such as OLP commands and locations. To complete the functionality, the ITxSkippableRobotSimulationController is an interface that can be implemented by a controller to enable skipping during simulation. Controller developers can implement ITxSkippableObject and ITxSkippableRobotSimulationController to support skipping in their controllers. Simulation and debugging applications developers can use the currently running simulation controller’s ITxSkippableRobotSimulationController interface, if implemented, to query whether a skip to an ITxSkippableObject is possible, and invoke the skip itself.
The ITxRobot interface exposes the AlwaysStoreTaughtPose property that gets whether motionparametrs.e file has the "taught_pose_store" entry set to "always".
The new CommandExtracted event is now available in ITxRoboticOperation and the derived robotic operation classes. The event occurs when extracting a command from a robotic operation. The controller can use this observer to handle command extraction from a robotic operation during simulation of this operation.
Whenever there is a need to be notified upon an indirect move of an object (i.e., movement as a result of the movement of its parent, logical parent or other), the registration to the AbsoluteLocationChanged event should be done via the primary locator of the object that is now exposed via the PrimaryLocator property of the ITxLocatableObject interface.
Signals and PLC expressions now support the new LReal data type that represents floating point numbers with double precision. Available in TxPlcSignalDataType enum and TxPlcValue class.