RsProcessDefinitionCollectionRemove Method |
Namespace: ABB.Robotics.RobotStudio.Stations
public void Remove( RsProcessDefinition processDefinition )
Project.UndoContext.BeginUndoStep("RsProcessDefinitionExample"); try { Station station = Station.ActiveStation; // Create a new RsProcessDefinition. RsProcessDefinition myProcDef = new RsProcessDefinition("", "SearchL", ""); // Name it "SearchL". myProcDef.Name = "SearchL"; // Create a new RsInstructionTemplate. RsInstructionTemplate mySearchLInstrTempl = new RsInstructionTemplate(); // Name it "SearchL". mySearchLInstrTempl.Name = "SearchL"; // Create the instruction arguments for the InstructionTemplate, and add them to it. RsInstructionArgument myArg = new RsInstructionArgument("Stop", ""); myArg.Enabled = true; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("PStop", ""); myArg.Enabled = false; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("SStop", ""); myArg.Enabled = false; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("Sup", ""); myArg.Enabled = false; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("Signal", "di1"); myArg.Enabled = true; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("Flanks", ""); myArg.Enabled = false; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("SearchPoint", ""); myArg.Enabled = true; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("ToPoint", ""); myArg.Enabled = true; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("ID", ""); myArg.Enabled = false; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("Speed", "v1000"); myArg.Enabled = true; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("V", ""); myArg.Enabled = true; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("T", ""); myArg.Enabled = false; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("Tool", ""); myArg.Enabled = true; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("WObj", ""); myArg.Enabled = false; mySearchLInstrTempl.InstructionArguments.Add(myArg); myArg = new RsInstructionArgument("Corr", ""); myArg.Enabled = false; mySearchLInstrTempl.InstructionArguments.Add(myArg); // Create a RsProcessTemplate using the RsInstructionTemplate. // Use null arguments since it does not support circular or joint motions. RsProcessTemplate myDefaultSearchLProcTempl = new RsProcessTemplate(null, mySearchLInstrTempl, null); // Name it "Default". myDefaultSearchLProcTempl.Name = "Default"; // Set the ActiveMotionType to linear. myDefaultSearchLProcTempl.ActiveMotionType = MotionType.Linear; // Add the process template to the ProcessDefinition. myProcDef.ProcessTemplates.Add(myDefaultSearchLProcTempl); // Set the process template as the ActiveProcessTemplate. myProcDef.ActiveProcessTemplate = myProcDef.ProcessTemplates[0]; // Finally add the ProcessDefinition to the ActiveTask. station.ActiveTask.ProcessDefinitions.Add(myProcDef); } catch { Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback); throw; } finally { Project.UndoContext.EndUndoStep(); }