APISynthesisResourcesTutorial2
Synthesis Resources Tutorial
- Connect to a Synthesis Repository and Project
- Create a New Synthesis Resource
- Update an Existing Resource
- Calculate Results from a Model
Now that we've learned how to connect to a repository and a project, let’s try adding a new model resource to the repository.
Part 2: Create a New Synthesis Resource
1. Create a new module and begin again by connecting to the Synthesis repository and project.
VBA|VB.NET 'Connect to the Synthesis repository and set project ID#1 as the current project. Dim MyRepository As New Repository MyRepository.ConnectToRepository("C:\RSRepository1.rsr10") MyRepository.Project.SetCurrentProject(1)
2. Use the cModel
class to create a 2-parameter Weibull reliability model with beta 1 and eta 100. Name the model, "MyNewModel."
For VBA, use the SetModel
method to define the model. For VB.NET, use the parameterized constructor to create and define the model.
VBA 'Declare a new instance of the cModel class. Dim Amodel As New cModel 'Define the model. Dim ModelType As ModelTypeEnum Dim ModelCategory As ModelCategoryEnum Dim ModelName As String Dim ModelParams(1) As Double ModelType = ModelTypeEnum_Weibull2 ModelCategory = ModelCategoryEnum_Reliability ModelName = "MyNewModel" ModelParams(0) = 1 ModelParams(1) = 100 Call AModel.SetModel(ModelType, ModelCategory, ModelName, ModelParams)
VB.NET 'Declare a new instance of the cModel class. You can use an in-line parameter list to define the model. Dim AModel As New cModel(ModelTypeEnum.Weibull2, ModelCategoryEnum.Reliability, "MyNewModel", 1, 100)
3. Use the AddModel
method to save the new model to the repository.
VBA 'Add the new model to the current project. Call MyRepository.Model.AddModel(AModel)
VB.NET
'Add the new model to the current project.
MyRepository.Model.AddModel(AModel)
Test the Code
Below are the VBA and VB.NET code lists for this example. On the Debug menu, click Start to run the application. Then in the Synthesis repository, open the project’s Resource Manager (Project > Synthesis> Resource Manager) and then select the Models page. A model named "MyNewModel" should be on the list. (You may need to click the Refresh or Show All command to update the display.)
VBA Sub Main() 'Connect to the Synthesis repository and set project ID#1 as the current project. Dim MyRepository As New Repository MyRepository.ConnectToRepository("C:\RSRepository1.rsr10") MyRepository.Project.SetCurrentProject(1) 'Declare a new instance of the cModel class. Dim Amodel As New cModel 'Define the model. Dim ModelType As ModelTypeEnum Dim ModelCategory As ModelCategoryEnum Dim ModelName As String Dim ModelParams(1) As Double ModelType = ModelTypeEnum_Weibull2 ModelCategory = ModelCategoryEnum_Reliability ModelName = "MyNewModel" ModelParams(0) = 1 ModelParams(1) = 100 Call AModel.SetModel(ModelType, ModelCategory, ModelName, ModelParams) 'Add the new model to the current project. Call MyRepository.Model.AddModel(AModel) End Sub
VB.NET Sub Main() 'Connect to the Synthesis repository and set project ID#1 as the current project. Dim MyRepository As New Repository MyRepository.ConnectToRepository("C:\RSRepository1.rsr10") MyRepository.Project.SetCurrentProject(1) 'Declare a new instance of the cModel class. You can use an in-line parameter list to define the model. Dim AModel As New cModel(ModelTypeEnum.Weibull2, ModelCategoryEnum.Reliability, "MyNewModel", 1, 100) 'Add the new model to the current project. MyRepository.Model.AddModel(AModel) End Sub
Now that you've learned how to add a model resource to a project, try adding other types of Synthesis resources to the project. For example, to create a Universal Reliability Definition (URD) resource, use the methods and properties in the cURD
class, and the use the Repository.URD.AddURD
method to save the URD to the project.
References
To learn more, see the reference documentation for the classes and methods discussed in this section:
- cModel Class
- cModel.SetModel Method
- cModel Constructor (VB.NET Only)
- ModelTypeEnum Enumeration
- ModelCategoryEnum Enumeration
- Repository.Model.AddModel Method