Modifying Position
This example provides information on moving and rotating a part relative to the work object's user frame (it could also be the object frame).
Make sure that you have a part in your station by either creating one or importing one. Select the part, either in the browser or the graphics view, and run your Add-In.
This will move and rotate the part as defined in translationMatrix.
Get the active station.
Station station = Station.ActiveStation;Get the active RsWorkObject.
RsWorkObject workObj = station.ActiveTask.ActiveWorkObject;Get the graphically selected part.
Part selectedPart = Selection.SelectedObjects.SingleSelectedObject as Part;Check if a part is selected.
if (selectedPart != null)Define how to move and rotate the selected part.
Matrix4 translationMatrix = new Matrix4(new Vector3(1, 0, 0.5), new Quaternion(Vector3.XVector, 0.5));Move the part relative to the user frame.
selectedPart.Transform.SetRelativeTransform (workObj.UserFrame.GlobalMatrix, translationMatrix);
Example
This example provides information on moving and rotating a part relative the work object's user frame.
Project.UndoContext.BeginUndoStep("Move Part Relative Frame");
try
{
// Get the active station.
Station station = Station.ActiveStation;
// Get the active work object.
RsWorkObject workObj = station.ActiveTask.ActiveWorkObject;
// Get the selected part.
Part selectedPart = Selection.SelectedObjects.SingleSelectedObject as Part;
// Check if there is a part selected.
if (selectedPart != null)
{
// Define how we should move and rotate the selected part.
Matrix4 translationMatrix = new Matrix4(new Vector3(1, 0, 0.5),
new Quaternion(Vector3.XVector, 0.5));
// Move the part relative the user frame.
selectedPart.Transform.SetRelativeTransform
(workObj.UserFrame.GlobalMatrix, translationMatrix);
}
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
Required Namespaces
ABB.Robotics.RobotStudio.Stations