APISynthesisResourcesTutorial: Difference between revisions
Kate Racaza (talk | contribs) No edit summary |
Kate Racaza (talk | contribs) No edit summary |
||
Line 28: | Line 28: | ||
{{APIComment|'Specify the full path to the Synthesis repository.}} | {{APIComment|'Specify the full path to the Synthesis repository.}} | ||
{{APIComment|'The following code assumes that a standard repository called "RSRepository1.rsr10" exists in the C drive.}} | {{APIComment|'The following code assumes that a standard repository called "RSRepository1.rsr10" exists in the C drive.}} | ||
MyRepository.ConnectToRepository({{APIString|"C: | MyRepository.ConnectToRepository({{APIString|"C:\RSRepository1.rsr10"}}) | ||
The Repository class provides other methods for connecting to standard or enterprise repositories. In this example, we use the basic <code>ConnectToRepository</code> method because we are creating a simple application. | The Repository class provides other methods for connecting to standard or enterprise repositories. In this example, we use the basic <code>ConnectToRepository</code> method because we are creating a simple application. | ||
Line 67: | Line 67: | ||
{{APIComment|'Specify the full path to the Synthesis repository.}} | {{APIComment|'Specify the full path to the Synthesis repository.}} | ||
{{APIComment|'The following code assumes that a standard repository called "RSRepository1.rsr10" exists in the C drive.}} | {{APIComment|'The following code assumes that a standard repository called "RSRepository1.rsr10" exists in the C drive.}} | ||
MyRepository.ConnectToRepository({{APIString|"C: | MyRepository.ConnectToRepository({{APIString|"C:\RSRepository1.rsr10"}}) | ||
{{APIComment|'Declare a new instance of the NameIDPair class.}} | {{APIComment|'Declare a new instance of the NameIDPair class.}} | ||
Line 93: | Line 93: | ||
==Creating a New Synthesis Resource== | ==Creating a New Synthesis Resource== | ||
Now that we know how to connect to a repository and a project, let’s | Now that we know how to connect to a repository and a project, let’s try adding a new model resource to a repository. | ||
<div style="border:1px solid #AAA; background:#f9f9f9; border-radius:10px; width:auto; margin:0 0 1em 1em; padding:1em; float:right;"> | <div style="border:1px solid #AAA; background:#f9f9f9; border-radius:10px; width:auto; margin:0 0 1em 1em; padding:1em; float:right;"> | ||
Line 105: | Line 105: | ||
1. We begin again by connecting to a Synthesis repository and a project. | 1. We begin again by connecting to a Synthesis repository and a project. | ||
'''VBA | VB.NET''' | '''VBA|VB.NET''' | ||
{{APIComment|'Connect to a Synthesis repository and set the first available project in the repository as the active project.}} | {{APIComment|'Connect to a Synthesis repository and set the first available project in the repository as the active project.}} | ||
{{APIPrefix|Dim}} MyRepository {{APIPrefix|As New}} Repository | {{APIPrefix|Dim}} MyRepository {{APIPrefix|As New}} Repository | ||
MyRepository.ConnectToRepository({{APIString|"C: | MyRepository.ConnectToRepository({{APIString|"C:\RSRepository1.rsr10"}}) | ||
MyRepository.Project.SetCurrentProject(1) | MyRepository.Project.SetCurrentProject(1) | ||
Line 121: | Line 121: | ||
{{APIComment|'Declare a new instance of the cModel class.}} | {{APIComment|'Declare a new instance of the cModel class.}} | ||
{{APIPrefix|Dim}} Amodel {{APIPrefix|As New}} cModel | {{APIPrefix|Dim}} Amodel {{APIPrefix|As New}} cModel | ||
{{APIComment|'Define the model's properties.}} | {{APIComment|'Define the model's properties.}} | ||
{{APIPrefix|Dim}} ModelType {{APIPrefix|As}} ModelTypeEnum | {{APIPrefix|Dim}} ModelType {{APIPrefix|As}} ModelTypeEnum | ||
Line 152: | Line 153: | ||
==Updating an Existing Resource== | ==Updating an Existing Resource== | ||
<div style="border:1px solid #AAA; background:#f9f9f9; border-radius:10px; width:auto; margin:0 0 1em 1em; padding:1em; float:right;"> | |||
'''Reference Links''' | |||
*[[Repository.Model.GetModel|GetModel Method]] | |||
*[[Guide to Using Item IDs with the Synthesis API]] | |||
</div> | |||
This next section demonstrates how to update the properties of an existing resource in a Synthesis repository. | |||
1. First, connect to the Synthesis repository and project. | |||
'''VBA|VB.NET''' | |||
{{APIComment|'Connect to a Synthesis repository and set the first available project in the repository as the active project.}} | |||
{{APIPrefix|Dim}} MyRepository {{APIPrefix|As New}} Repository | |||
MyRepository.ConnectToRepository({{APIString|"C:\RSRepository1.rsr10"}}) | |||
MyRepository.Project.SetCurrentProject(1) | |||
2. Next, retrieve the resource to be updated from the repository. For this example, let's retrieve the model we created in the previous section. (The model was called "MyNewModel.") | |||
The following code demonstrates how to retrieve the model, assuming that its ID# is 21. | |||
'''VBA''' | |||
{{APIComment|Retrieve the model with ID# 21 from the repository.}} | |||
{{APIPrefix|Dim}} Amodel {{APIPrefix|As New}} cModel | |||
{{APIPrefix|Set}} AModel = MyRepository.Model.GetModel(21) | |||
'''VB.NET''' | |||
{{APIComment|Retrieve the model with ID# 21 from the repository.}} | |||
{{APIPrefix|Dim}} Amodel {{APIPrefix|As New}} cModel | |||
AModel = MyRepository.Model.GetModel(21) | |||
3. | |||
==Extracting Information from Resources== | ==Extracting Information from Resources== |
Revision as of 23:34, 19 October 2015
This tutorial introduces you to the basic functionalities of the Synthesis API. You will learn how to use the API to create new and update existing resources in a Synthesis repository.
In the Synthesis Platform, repositories contain projects, and projects contain resources, analyses and other related items. Therefore, to read or write data to a Synthesis repository, we must begin by first connecting to a Synthesis repository and then accessing one of its projects.
Connecting to a Synthesis Repository and Project
Reference Links
1. Start with the following basic code for connecting to a standard Synthesis repository.
VBA|VB.NET 'Declare a new instance of the Repository class. Dim MyRepository As New Repository 'Specify the full path to the Synthesis repository. 'The following code assumes that a standard repository called "RSRepository1.rsr10" exists in the C drive. MyRepository.ConnectToRepository("C:\RSRepository1.rsr10")
The Repository class provides other methods for connecting to standard or enterprise repositories. In this example, we use the basic ConnectToRepository
method because we are creating a simple application.
2. Next, we select one of the projects in the repository as our current (or active) project.
VBA|VB.NET 'Declare a new instance of the NameIDPair class. Dim ListofProjects() As NameIDPair 'Get a list of all projects in the repository. ListOfProjects = MyRepository.Project.GetAllProjects() 'Set the first available project in the repository as the current project. MyRepository.Project.SetCurrentProject(ListofProjects(0))
Any time you wish to switch to another project in the repository, you can always use the Project.SetCurrentProject
method to specify a new active project.
However, if you wish to access projects from another repository, you’ll first need to disconnect from the current repository by using the DisconnectFromRepository
method, and then use the ConnectToRepository
method again to connect to the desired repository.
VBA|VB.NET
'Disconnect from the Synthesis repository.
MyRepository.DisconnectFromRepository
Verify it works
Let’s verify that our connections to the repository and project work.
Here’s the code we have so far, with additional code added right before disconnecting from the repository to verify the result:
VBA|VB.NET 'Declare a new instance of the Repository class. Dim MyRepository As New Repository 'Specify the full path to the Synthesis repository. 'The following code assumes that a standard repository called "RSRepository1.rsr10" exists in the C drive. MyRepository.ConnectToRepository("C:\RSRepository1.rsr10") 'Declare a new instance of the NameIDPair class. Dim ListofProjects() As NameIDPair 'Get a list of all projects in the repository. ListOfProjects = MyRepository.Project.GetAllProjects() 'Set the first available project in the repository as the current project. MyRepository.Project.SetCurrentProject(ListofProjects(0)) 'Verify connection to repository and project. 'The following code displays a message box containing the name and ID number of the current project. Dim ProjectName As String Dim ProjectID As Integer ProjectName = MyRepository.Project.GetCurrentProject().Name ProjectID = MyRepository.Project.GetCurrentProject().ID MsgBox ("You are currently connected to: " & ProjectName & ", ID#" & ProjectID) 'Disconnect from the Synthesis repository. MyRepository.DisconnectFromRepository
On the Debug menu, click Start to run the application. A message box displays the name and ID number of the first available project in the repository. You can verify the information by opening the repository in any Synthesis application and checking for the name of the project. (The project ID can be found by xxx.)
Creating a New Synthesis Resource
Now that we know how to connect to a repository and a project, let’s try adding a new model resource to a repository.
Reference Links
1. We begin again by connecting to a Synthesis repository and a project.
VBA|VB.NET 'Connect to a Synthesis repository and set the first available project in the repository as the active 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's properties. 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)
VB.NET 'Declare a new instance of the cModel class. You can use an in-line parameter list to define the model. Dim newModel As New cModel(ModelTypeEnum.Weibull2, ModelCategoryEnum.Reliability, "MyNewModel", 1, 100) 'Add the new model to the current project. MyRepository.Model.AddModel(AModel)
Verify it works
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.
Updating an Existing Resource
Reference Links
This next section demonstrates how to update the properties of an existing resource in a Synthesis repository.
1. First, connect to the Synthesis repository and project.
VBA|VB.NET 'Connect to a Synthesis repository and set the first available project in the repository as the active project. Dim MyRepository As New Repository MyRepository.ConnectToRepository("C:\RSRepository1.rsr10") MyRepository.Project.SetCurrentProject(1)
2. Next, retrieve the resource to be updated from the repository. For this example, let's retrieve the model we created in the previous section. (The model was called "MyNewModel.")
The following code demonstrates how to retrieve the model, assuming that its ID# is 21.
VBA Retrieve the model with ID# 21 from the repository. Dim Amodel As New cModel Set AModel = MyRepository.Model.GetModel(21)
VB.NET Retrieve the model with ID# 21 from the repository. Dim Amodel As New cModel AModel = MyRepository.Model.GetModel(21)
3.