Class BodyCollection
A collection of Body objects.
Inheritance
BodyCollection
Assembly: ABB.Robotics.RobotStudio.Stations.dll
Syntax
public class BodyCollection : ICollection, IEnumerable<Body>, IEnumerable
Examples
Body Collection.
Project.UndoContext.BeginUndoStep("BodyProperties");
try
{
Station station = Station.ActiveStation;
// Create a part to contain the bodies.
Part p = new Part();
p.Name = "My_Part";
station.GraphicComponents.Add(p);
// Create a solid box.
Matrix4 matrix_origo = new Matrix4(new Vector3(Axis.X), 0.0);
Vector3 size = new Vector3(0.5, 0.5, 0.5);
Body b1 = Body.CreateSolidBox(matrix_origo, size);
b1.Name = "Box";
p.Bodies.Add(b1);
// Log a summary of the bodies properties.
Logger.AddMessage(new LogMessage("The body '" + b1.Name + "' has the following properties:"));
Logger.AddMessage(new LogMessage("Center of gravity: x: " + b1.CenterOfGravity.x.ToString() +
" y: " + b1.CenterOfGravity.y.ToString() +
" z: " + b1.CenterOfGravity.z.ToString()));
Logger.AddMessage(new LogMessage("Color: " + b1.Color.ToString()));
Logger.AddMessage(new LogMessage("Moment of Inertia: x: (" + b1.MomentOfInertia.x.x.ToString() +
", " + b1.MomentOfInertia.x.y.ToString() +
", " + b1.MomentOfInertia.x.z.ToString() + ")" +
" y: (" + b1.MomentOfInertia.y.x.ToString() +
", " + b1.MomentOfInertia.y.y.ToString() +
", " + b1.MomentOfInertia.y.z.ToString() + ")" +
" z: (" + b1.MomentOfInertia.z.x.ToString() +
", " + b1.MomentOfInertia.z.y.ToString() +
", " + b1.MomentOfInertia.z.z.ToString() + ")"));
Logger.AddMessage(new LogMessage("Has '" + b1.Shells.Count.ToString() + "' number of shells."));
Logger.AddMessage(new LogMessage("Surface area: " + b1.SurfaceArea.ToString()));
Logger.AddMessage(new LogMessage("Transform: X: " + b1.Transform.X.ToString() +
" Y: " + b1.Transform.Y.ToString() +
" Z: " + b1.Transform.Z.ToString() +
" Rx: " + b1.Transform.RX.ToString() +
" Ry: " + b1.Transform.RY.ToString() +
" Rz: " + b1.Transform.RZ.ToString()));
Logger.AddMessage(new LogMessage("Visibility: " + b1.Visible.ToString()));
Logger.AddMessage(new LogMessage("Volume: " + b1.Volume.ToString()));
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
Properties
Count
Declaration
public virtual int Count { get; }
Property Value
IsSynchronized
Declaration
public virtual bool IsSynchronized { get; }
Property Value
Item[Int32]
Declaration
public Body this[int index] { get; }
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Property Value
Parent
Declaration
public ProjectObject Parent { get; }
Property Value
SyncRoot
Declaration
public virtual object SyncRoot { get; }
Property Value
Methods
Add(Body)
Adds a Body to the collection.
Declaration
public void Add(Body body)
Parameters
Type |
Name |
Description |
Body |
body |
The Body to add to the collection.
|
Remarks
Examples
Add Body.
Project.UndoContext.BeginUndoStep("BodyProperties");
try
{
Station station = Station.ActiveStation;
// Create a part to contain the bodies.
Part p = new Part();
p.Name = "My_Part";
station.GraphicComponents.Add(p);
// Create a solid box.
Matrix4 matrix_origo = new Matrix4(new Vector3(Axis.X), 0.0);
Vector3 size = new Vector3(0.5, 0.5, 0.5);
Body b1 = Body.CreateSolidBox(matrix_origo, size);
b1.Name = "Box";
p.Bodies.Add(b1);
// Log a summary of the bodies properties.
Logger.AddMessage(new LogMessage("The body '" + b1.Name + "' has the following properties:"));
Logger.AddMessage(new LogMessage("Center of gravity: x: " + b1.CenterOfGravity.x.ToString() +
" y: " + b1.CenterOfGravity.y.ToString() +
" z: " + b1.CenterOfGravity.z.ToString()));
Logger.AddMessage(new LogMessage("Color: " + b1.Color.ToString()));
Logger.AddMessage(new LogMessage("Moment of Inertia: x: (" + b1.MomentOfInertia.x.x.ToString() +
", " + b1.MomentOfInertia.x.y.ToString() +
", " + b1.MomentOfInertia.x.z.ToString() + ")" +
" y: (" + b1.MomentOfInertia.y.x.ToString() +
", " + b1.MomentOfInertia.y.y.ToString() +
", " + b1.MomentOfInertia.y.z.ToString() + ")" +
" z: (" + b1.MomentOfInertia.z.x.ToString() +
", " + b1.MomentOfInertia.z.y.ToString() +
", " + b1.MomentOfInertia.z.z.ToString() + ")"));
Logger.AddMessage(new LogMessage("Has '" + b1.Shells.Count.ToString() + "' number of shells."));
Logger.AddMessage(new LogMessage("Surface area: " + b1.SurfaceArea.ToString()));
Logger.AddMessage(new LogMessage("Transform: X: " + b1.Transform.X.ToString() +
" Y: " + b1.Transform.Y.ToString() +
" Z: " + b1.Transform.Z.ToString() +
" Rx: " + b1.Transform.RX.ToString() +
" Ry: " + b1.Transform.RY.ToString() +
" Rz: " + b1.Transform.RZ.ToString()));
Logger.AddMessage(new LogMessage("Visibility: " + b1.Visible.ToString()));
Logger.AddMessage(new LogMessage("Volume: " + b1.Volume.ToString()));
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
Clear()
Declaration
Contains(Body)
Declaration
public bool Contains(Body obj)
Parameters
Type |
Name |
Description |
Body |
obj |
|
Returns
CopyTo(Body[], Int32)
Declaration
public void CopyTo(Body[] array, int index)
Parameters
Type |
Name |
Description |
Body[] |
array |
|
Int32 |
index |
|
CopyTo(Array, Int32)
Declaration
public virtual void CopyTo(Array array, int index)
Parameters
GetEnumerator()
Declaration
public virtual IEnumerator GetEnumerator()
Returns
Remove(Body)
Removes a Body from the collection.
Declaration
public void Remove(Body body)
Parameters
Type |
Name |
Description |
Body |
body |
The Body to remove from the collection.
|
Examples
Remove Body.
Project.UndoContext.BeginUndoStep("BodyProperties");
try
{
Station station = Station.ActiveStation;
// Create a part to contain the bodies.
Part p = new Part();
p.Name = "My_Part";
station.GraphicComponents.Add(p);
// Create a solid box.
Matrix4 matrix_origo = new Matrix4(new Vector3(Axis.X), 0.0);
Vector3 size = new Vector3(0.5, 0.5, 0.5);
Body b1 = Body.CreateSolidBox(matrix_origo, size);
b1.Name = "Box";
p.Bodies.Add(b1);
// Log a summary of the bodies properties.
Logger.AddMessage(new LogMessage("The body '" + b1.Name + "' has the following properties:"));
Logger.AddMessage(new LogMessage("Center of gravity: x: " + b1.CenterOfGravity.x.ToString() +
" y: " + b1.CenterOfGravity.y.ToString() +
" z: " + b1.CenterOfGravity.z.ToString()));
Logger.AddMessage(new LogMessage("Color: " + b1.Color.ToString()));
Logger.AddMessage(new LogMessage("Moment of Inertia: x: (" + b1.MomentOfInertia.x.x.ToString() +
", " + b1.MomentOfInertia.x.y.ToString() +
", " + b1.MomentOfInertia.x.z.ToString() + ")" +
" y: (" + b1.MomentOfInertia.y.x.ToString() +
", " + b1.MomentOfInertia.y.y.ToString() +
", " + b1.MomentOfInertia.y.z.ToString() + ")" +
" z: (" + b1.MomentOfInertia.z.x.ToString() +
", " + b1.MomentOfInertia.z.y.ToString() +
", " + b1.MomentOfInertia.z.z.ToString() + ")"));
Logger.AddMessage(new LogMessage("Has '" + b1.Shells.Count.ToString() + "' number of shells."));
Logger.AddMessage(new LogMessage("Surface area: " + b1.SurfaceArea.ToString()));
Logger.AddMessage(new LogMessage("Transform: X: " + b1.Transform.X.ToString() +
" Y: " + b1.Transform.Y.ToString() +
" Z: " + b1.Transform.Z.ToString() +
" Rx: " + b1.Transform.RX.ToString() +
" Ry: " + b1.Transform.RY.ToString() +
" Rz: " + b1.Transform.RZ.ToString()));
Logger.AddMessage(new LogMessage("Visibility: " + b1.Visible.ToString()));
Logger.AddMessage(new LogMessage("Volume: " + b1.Volume.ToString()));
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
ToArray()
Declaration
Returns