ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
1/15
Dealt with by, telephone
Release Notes RobotStudio
®
SDK
5.13
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
2/15
Dealt with by, telephone
General
Release Information
The information should be considered as last minutes information and most up-to-date.
The RobotStudio 5.13 SDK is distributed as a part of RobotStudio 5.13, with build number
3722.0225. For information about
RobotStudio 5.13 please refer to the document “Release
Notes RobotStudio 5.13.pdf”.
For more information, please visit the support web site at
http://www.robotstudio.com/community
.There you can find a discussion forum dedicated to
RobotStudio.
Introduction
This file contains release notes for RobotStudio SDK 5.13.
RobotStudio SDK 5.13 is included in the RobotStudio 5.13 installation and can be used for
free by anyone who wants to develop RobotStudio Add-Ins, that can provide new
functionality and customized user interfaces. It is also possible to call PC SDK to access
real or virtual IRC5 controller functionality from the Add-In.
Custom Smart Components can also be developed using the RobotStudio SDK.
The installation includes software, documentation and tools as specified below:
Software
ABB.Robotics.Math.dll
ABB.Robotics.Environment.dll
ABB.Robotics.RobotStudio.dll
ABB.Robotics.RobotStudio.Controllers.dll
ABB.Robotics.RobotStudio.Stations.dll
ABB.Robotics.RobotStudio.Stations.Forms.dll
Documentation
Reference Manual
– RobotStudio SDK (5.13) (Html Help).
Tools
LibraryCompiler.exe
– A tool for batch creation for RobotStudio libraries such as
SmartComponents and Mechanisms.
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
3/15
Dealt with by, telephone
Visual Studio Project Templates
RobotStudio Add-In
– template for a standard Add-In
RobotStudio Smart Component
– template for a Smart Component with Code Behind and
XML description.
After installation the documentation can be launched from RobotStudio Help Menu, and
Windows Start Menu\Programs\ABB Industrial IT\Robotics IT\Robot Studio 5.13\SDK.
In no event shall ABB be liable for incidental or consequential damages arising from use of
this product, of the software and hardware described in relating product documentation.
http://www.robotstudio.com/community
Click the Download symbol to the right in order to download RobotStudio 5.13, including
RobotStudio SDK 5.13 for free.
To learn more and get hints, visit the User Forum, where developers discuss software
problems and solutions online.
Installation
In order for the Visual Studio project templates to be installed, Visual Studio 2008 needs to
be installed on the computer before you install RobotStudio SDK 5.13.
To install RobotStudio SDK 5.13 click RobotStudio on the RobotWare & RobotStudio DVD.
If you select the default installation option Complete, RobotStudio SDK will be installed. The
.NET assemblies and Visual Studio template can be optionally installed, while the
documentation is always installed. If you do not want to install the assemblies and
templates, select the installation option Custom and uncheck the feature
RobotStudio/SDK.
Hardware and Software requirements
Software requirements
Operating system:
Same as RobotStudio
– Please refer to RobotStudio Release Notes
Supported development environment:
Microsoft Visual Studio 2008
The Visual Studio project templates works only for the English version of Visual Studio.
Note! It is possible, but not supported, to develop RobotStudio Add-Ins with any .NET
development environment, such as Visual Studio 2008 Express or SharpDevelop, but there
will be no project templates available. The RobotStudio API documentation also assumes
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
4/15
Dealt with by, telephone
that Visual Studio 2008 is used, which means that information about VisualStudio project
settings etc has to be adopted to the other development environment.
Compatibility
RobotStudio SDK 5.13 and 5.12 are compatible, there are no breaking changes.
New functionality in RobotStudio SDK 5.13 vs. 5.12.03
This chapter lists new functionality in general.
For a complete list of new types and members see New namespaces, New types in existing
namespaces and New members in existing types.
API Reference Documentation can be launched from RobotStudio Help menu
You can launch the RobotStudio API Reference documentation from the RobotStudio
Help menu, or using the shortcut Alt+F1.
XML Schemas documented
The RobotStudio SDK public XML Schemas are documented in the reference
documentation.
Visual Studio Project Template for Smart Component Code Behind
A new template is available that helps you get started with developing a Smart
Component with Code Behind. The template project includes C# source for a Code
Behind class, the XML source for the Smart Component library and a post build step
that calls the LibraryCompiler.exe to compile the component and embeds the Code
Behind assembly as an asset.
LibraryCompiler.exe
The commandline tool LibraryCompiler.exe, can be used to automate the creation of
RobotStudio library files, such as Mechanism and Smart Components from XML library
source files.
New namespaces
ABB.Robotics.RobotStudio.Controllers
The ABB.Robotics.RobotStudio.Controllers namespace contains classes that represent and
manage references to virtual and real IRC5 robot controllers. RobotStudio can reference virtual
and real controllers which are added to the Online Tab and virtual controllers that belongs to a
RobotStudio station. Note: To interact with the controllers referenced by RobotStudio, use the
classes in the ABB.Robotics.Controllers namespace of PC SDK.
ABB.Robotics.RobotStudio.Diagnostics
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
5/15
Dealt with by, telephone
The ABB.Robotics.RobotStudio.Diagnostics namespace contains diagnostic functionality to aid
debugging a RobotStudio application.
ABB.Robotics.RobotStudio.Documents
The ABB.Robotics.RobotStudio.Documents namespace contains classes for working with the
Document Manager. Using the Document Manager a user can access documents such as
Station, Library and Word documents from various sources, such as folders on the local file
system, remote file systems and document servers. It also contains a base class for
implementing custom document providers.
New types in existing namespaces
1
ABB.Robotics.Math
struct BoundingBox
Axis-aligned bounding box.
1
The following new types are not listed; event argument classes corresponding to new events. Please
refer to the documentation of the new events. Enumeration types used by new types and members.
Please refer to the documentation of the new types and methods.
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
6/15
Dealt with by, telephone
ABB.Robotics.RobotStudio.Stations
class SmartComponent
Represents a GraphicComponent that
contains Properties, I/O Signals,
Assets and other
GraphicComponents. The behavior of
the component is implemented by
Code Behind.
class Asset
An asset is a piece of binary content
that is embedded in a Smart
Component. RobotStudio uses assets
to store string resources and the
Code Behind assembly. Any kind of
binary data that is needed by the
smart component can be added as an
asset.
class AssetCollection
Represents a collection of Assets
contained by a SmartComponent.
class DynamicProperty
An object attached to a
SmartComponent that has value, type
and attributes. The property value is
used to control the behavior of the
SmartComponent
class DynamicPropertyCollection
Represents a collection of
DynamicProperties attached to a
SmartComponent.
class IOConnection
Represents a connection from from a
source signal to a target signal.
class IOConnectionCollection
class IOSignal
Represents an I/O signal in the
Station or in a SmartComponent.
class IOSignalCollection
Represents a collection of IOSignals
attached to a SmartComponent
struct KnownAttributeKey
Contains attribute keys for use in the
DynamicProperty.Attributes collection.
Attributes with these keys are used for
value validation and user interface
hints.
interface IHasFrames
interface IHasGraphicComponents
interface IHasIOConnections
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
7/15
Dealt with by, telephone
Interface IHasDynamicProperties
interface IHasIOSignals
interface IHasPropertyBindings
class PropertyAttributeCollection
Represents a collection of key-value
String pairs attached to a
DynamicProperty.
class PropertyBinding
Represents a binding from a source
property to a target property.
class SmartComponentCodeBehind
Base class for code-behind that
implements behavior of a
SmartComponent.
struct ValueValidationInfo
Contains information about the result
of a property/signal value validation.
New members in existing types
2
ABB.Robotics.Math
MathExpression
MathExpression(String expression,
String[] variables);
Obsolete. Parameter 'variables' is
not needed.
void SetVariableValues(Double[]
values);
Obsolete. Use SetVariableValue()
instead.
IEnumerable<String> VariableNames {
get; }
Returns the names of variables used
in the expression.
static String[] GetAllowedOperators();
Returns the allowed operators.
Matrix4
Boolean IsIdentity();
Returns true if the matrix is identity.
static Matrix4 FromTwoAxes(Vector3
translation, Vector3 axis1,
DirectionAxis axis1Direction, Vector3
axis2, DirectionAxis axis2Direction);
Creates a matrix from a translation
and two axis vectors.
public static Boolean TryParse(String
value, out Matrix4 result);
Converts the string representation to
its Matrix4 equivalent.
2
Methods and properties of new classes. Please refer to the documentation of the new classes.
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
8/15
Dealt with by, telephone
Vector3
static Boolean TryParse(String value,
out Vector3 result);
Converts the string representation to
its Vector3 equivalent.
ABB.Robotics.RobotStudio.Environment
ExecutingCommandEventArgs
ExecuteCommandReason Reason { get; }
Gets the reason for the event.
RibbonTab
Boolean Flash { get; set; }
Sets or gets if the tab should flash to
alert the user.
Window
public Object Tag { get; set; }
Gets or sets an object that
contains data about the window.
public virtual String HelpId { get; }
Gets the help ID of the window,
used for context sensitive help.
VisualStyle
Color BackColorDark { get; }
Obsolete. Use GetThemeColor()
instead.
Color BackColorLight { get; }
Obsolete. Use GetThemeColor()
instead.
Color GetThemeColor(ThemeColor color);
Returns a theme color
ABB.Robotics.RobotStudio
DocumentInfo
String Type { get; set; }
Gets or sets the type of the
document.
LicenseInformation
String ActivationKey;
The key used when the license was
activated.
Project
ProjectObject
GetObjectFromUniqueId(String
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
9/15
Dealt with by, telephone
uniqueId);
static event ProjectFileEventHandler
BeforeLoadProjectFile;
ProjectObject
Boolean UIVisible { get; set; }
Gets or sets if this object should be
visible in the user interface. Used by
RobotStudio to e.g. determine if an
object should be visible in the
browsers or not.
String UniqueId { get; }
Gets the unique id of the object
UndoContext
void ResumeUndoStep();
Resumes collection of undoable
changes.
void SuspendUndoStep();
Temporarily disables collection of
undoable changes.
ABB.Robotics.RobotStudio.Stations
Attachment
Matrix4 Offset { get; set; }
Gets or sets the Offset of the
Attachment, e.g the relative
transform from parent to child.
Transform Transform { get; }
Obsolete. Don't use.
Body
Material GetMaterial();
BodyCollection
void Clear();
CollisionDetector
CollisionType
CheckCollision(GraphicComponent
object1, GraphicComponent object2,
Double nearMiss, out Part part1, out
Part part2);
Calculates whether two objects
intersect, or whether an object
intersects any other object, and
returns the intersecting Parts.
Boolean CheckLineIntersection(Station
station, Vector3 start, Vector3 end,
Double radius, out Part closestPart,
out Vector3 intersectionPoint);
Calculates whether an line between
two points intersects with any
graphical object in a station.
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
10/15
Dealt with by, telephone
Double MinimumDistance(ProjectObject
object1, ProjectObject object2, out
Vector3 point1, out Vector3 point2,
out Part part1, out Part part2);
static Double PointDistance(Vector3
testPoint, out ProjectObject
testObject, out Vector3 hitPoint, out
Part hitPart);
Calculates the shortest distance
from a point to a graphic object, as
well as the closest point on the
object.
GraphicComponent
virtual void Delete();
Deletes this object permanently. The
object must first be removed from its
parent. Any subsequent attempts to
access the object or its children will
fail. Use with caution!
void ExportXml(String xmlFile);
Exports this to an XML file
void ExportXml(String xmlFile, String
referenceDirectory);
Exports this to an XML file
static GraphicComponent
ImportXml(String xmlFile);
Creates a GraphicComponent from
an RSXML file.
static GraphicComponent
ImportXml(String libraryXmlFile,
String libraryFileName);
Creates a GraphicComponent
specified in a Library XML file.
static GraphicComponent
ImportXml(String xmlData, String
referenceDirectory, String
defaultName, String defaultResource);
Creates a GraphicComponent from
in-memory XML.
GraphicComponentGroup
Implements IHasGraphicComponents
Mechanism
Boolean MultiAxisRobot { get; }
Returns true if this is an multi axis
robot
MechanismBuilder
Double Mass { get; set; }
Obsolete. Use SetLoadData() to
specify load.
void AddToolData(String toolDataName,
String linkName, Matrix4 offset);
void AddToolData(string toolDataName,
string linkName, Matrix4 offset,
Vector3 centerOfGravity, Vector3
centerOfInertia);
Obsolete.
void SetCustomKinematics(String
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
11/15
Dealt with by, telephone
progId, Double[] initValues);
void SetWorkRange(Vector3 minRange,
Vector3 maxRange);
Obsolete. Not used.
Mesh
Implements IEnumerable
IEnumerator GetEnumerator();
void Transform(Matrix4 matrix);
MeshBase
void Transform(Matrix4 matrix);
MeshFace
BoundingBox BoundingBox { get; set; }
Gets or sets the bounding box for
this MeshFace.
MeshInfo
Int32 NumberOfDetailLevels;
Gets the number of detail levels of
the mesh.
Part
Part(Boolean supportGeometry);
Material GetMaterial();
RsDataDeclarationCollection
Boolean Contains(String name);
Obsolete. Do not call this method,
name is not unique. Use
RsTask.FindDataDeclarationFromM
oduleScope.
Boolean TryGetDataDeclaration(String
name, out RsDataDeclaration
dataDeclaration);
Obsolete. Do not call this method.
Use
RsTask.FindDataDeclarationFromM
oduleScope.
RsIrc5Controller
RsTask[] SetTaskFrameTransform(RsTask
task, Matrix4 globalTransform, Boolean
updateBaseFrames);
RsJointTarget
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
12/15
Dealt with by, telephone
Double[] GetJointValues(Mechanism
mechanism, Boolean
convertFromRapidDataToSI);
Boolean JumpTo(Boolean
updateController);
void SetRobotAxes(RobotAxisValues
robotAxes, Mechanism mechanism,
Boolean convertFromSIToRapidData);
RsMechanicalUnit
public String GetRobotSingleName();
RsMoveInstruction
Boolean JumpTo(Boolean
updateController);
RsPathProcedure
Boolean Local { get; }
RsPathProcedureCollection
Boolean Contains(String name);
Obsolete. Do not call this method,
name is not unique. Use
RsTask.FindPathProcedureFromMo
duleScope.
TryGetPathProcedure(String name, out
RsPathProcedure pathProcedure);
Obsolete. Do not call this method.
Use
RsTask.FindPathProcedureFromMo
duleScope.
RsMoveInstruction
Boolean JumpTo(Boolean
updateController);
RsTarget
Boolean JumpTo(RsToolData tool,
Boolean updateController);
RsTask
RsDataDeclaration
FindDataDeclarationFromModuleScope(Str
ing name, String moduleName);
Find the RsDataDeclaration from the
specified module scope.
public RsTarget
FindFirstTargetByWorkObject(String
workObjectName);
Obsolete. Do not call this method,
name is not unique. Use
FindFirstTargetByWorkObject(RsWo
rkObject ^ workObject).
RsTarget
FindFirstTargetByWorkObject(RsWorkObje
ct workObject);
See above.
RsPathProcedure
Find the RsPathProcedure from the
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
13/15
Dealt with by, telephone
FindPathProcedureFromModuleScope(Strin
g name, String moduleName);
specified module scope.
RsTarget[] FindTargets(RsWorkObject
workObject, RsRobTarget robTarget);
Finds the RsTargets for the supplied
of a RsWorkObject and of a
RsRobTarget.
RsTarget[] FindTargets(String
workObjectName, String robTargetName);
Obsolete. Do not call this method,
name is not unique. Use
RsTask.FindTargets(RsWorkobject
workObject, RsRobTarget
robTarget).
RsTarget[]
FindTargetsByRobTarget(String
robTargetName);
Obsolete. Do not call this method,
name is not unique. Use
RsTask.FindTargetsByRobTarget(R
sRobTarget robTarget)")]
RsTarget[]
FindTargetsByWorkObject(String
workObjectName);
Obsolete. Do not call this method,
name is not unique. Use
RsTask.FindTargetsByWorkObject(
RsWorkObject workObject)")]
Boolean
IsValidRapidNameInTaskScope(String
name, String moduleName);
Checks if the specified string is a
valid RAPID name in the RsTask
scope.
Simulator
static Boolean RecordingEnabled { get;
set; }
Station
IOConnectionCollection Connections {
get; }
IOSignalCollection IOSignals { get; }
PropertyBindingCollection Bindings {
get; }
VirtualSignalCollection VirtualSignals
{ get; }
Obsolete. Use IOSignals instead.
event IOSignalChangedEventHandler
IOSignalChanged;
event IOSignalChangedEventHandler
IOSignalValueChanged;
ool
ToolDataInfo
Quaternion AxesOfMoment { get; }
Gets the axes of moment for this
ToolDataInfo object.
ABB.Robotics.RobotStudio.Stations.Forms
GraphicControl
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
14/15
Dealt with by, telephone
void ExamineObject(
ProjectObject object,
Vector3 lookDirection,
float time
)
Zooms in on an object.
Nullable<Vector3> ProjectPointOnFloor(
int x,
int y,
bool snapToUCSGrid
static event GraphicPickEventHandler
GraphicPickPreview
Occurs when the user moves the
mouse in the graphic view.
TemporaryGraphic DrawSurfaceRectangle(
Matrix4 origin,
double width,
double height,
Color color
)
Creates a surface rectangle
NumericTextBoxArray
NumericTextBoxArray(Int32
numTextBoxes);
event EventHandler ValueChanged;
ObjectSelectionControl
Boolean ReadOnly { get; set; }
Predicate<Object> Filter { get; set; }
void
AddDropDownExclusion(ProjectObject
obj);
void AddDropDownScope(ProjectObject
scope);
void AddDropDownValue(ProjectObject
obj);
ABB AB Robotics
Copies to
Title
Release Notes RobotStudio SDK
5.13
Ref
Department
RO/PRS
Date
2010-04-08
Filename
Release Notes RobotStudio SDK
5.13.doc
Page
15/15
Dealt with by, telephone
Product Support
If you need help or advice while using the product please visit the User Forum referred to in
the introduction. For product support please turn to your local ABB office.