Engine tsEngine = null;
try
{
tsEngine = new Engine();
tsEngine.LoadTypePaletteFilesEx(TypeConflictHandlerTypes.ConflictHandler_Prompt, 0);
SequenceFile seqFile = tsEngine.NewSequenceFile();
Sequence sequence = tsEngine.NewSequence();
sequence.Name = "Test";
seqFile.InsertSequenceEx(seqFile.NumSequences, sequence);
#region Label Step
Step step = tsEngine.NewStep(AdapterKeyNames.NoneAdapterKeyName, StepTypes.StepType_Label);
step.Name = "Step Test Label";
seqFile.AsPropertyObjectFile().TypeUsageList.AddUsedTypes(step.AsPropertyObject());
sequence.InsertStep(step, 0, StepGroups.StepGroup_Main);
#endregion
#region Action Step
step = tsEngine.NewStep(AdapterKeyNames.DotNetAdapterKeyname, StepTypes.StepType_Action);
step.Name = "Step Test";
seqFile.AsPropertyObjectFile().TypeUsageList.AddUsedTypes(step.AsPropertyObject());
sequence.InsertStep(step, 1, StepGroups.StepGroup_Main);
#endregion
#region Sequence Step
step = tsEngine.NewStep(AdapterKeyNames.SequenceAdapterKeyName, StepTypes.StepType_SequenceCall);
step.Name = "Step Test Sequence";
seqFile.AsPropertyObjectFile().TypeUsageList.AddUsedTypes(step.AsPropertyObject());
sequence.InsertStep(step,2, StepGroups.StepGroup_Main);
#endregion
#region Label Step
step = tsEngine.NewStep(AdapterKeyNames.NoneAdapterKeyName, StepTypes.StepType_Label);
step.Name = "Step Test Label";
seqFile.AsPropertyObjectFile().TypeUsageList.AddUsedTypes(step.AsPropertyObject());
sequence.InsertStep(step, 2, StepGroups.StepGroup_Main);
#endregion
// Save the sequence file
string outputPath = @"C:\TestStandProjects\GeneratedSequence.seq";
seqFile.Save(outputPath);
Console.WriteLine("Sequence file created at: " + outputPath);
}
catch (Exception ex)
{
Console.WriteLine("Error creating TestStand script: " + ex.Message);
}
finally
{
tsEngine = null;
}