This function create a new “3DShape” and assign the according window to a variable [Typ: Window]. The variables “MyEditor” and “MyPart” are assigned to the new editor and the new part.
Public Function CreateNewFileAndSetWindow(ByRef MyEditor As Editor, ByRef MyPart As Part) As Window
Dim MyService As PLMNewService
Set MyService = CATIA.GetSessionService("PLMNewService")
MyService.PLMCreate "3DShape", MyEditor
Set CreateNewFileAndSetWindow = CATIA.ActiveWindow
Set MyPart = MyEditor.ActiveObject
End Function
' Get the Search service objekt
Dim MySearchService As Service
Set MySearchService = CATIA.GetSessionService("PLMSearch")
' Instantiate PLMSearch
Dim MyPLMSearch 'As SearchService
Set MyPLMSearch = MySearchService.Searches.Add
' Set type of object to query, a criterium and trigger
MyPLMSearch.Type = "VPMReference"
MyPLMSearch.AddAttributeCriteria "V_Name", MyFile
MyPLMSearch.Search
' retrieve the listed entities
Dim MyPLMEntities As PLMEntities
Set MyPLMEntities = MyPLMSearch.EditedContent
' get the PLMOpen and Open the first Doc
Dim MyPLMOpenService As Service
Set MyPLMOpenService = CATIA.GetSessionService("PLMOpenService")
MyPLMOpenService.PLMOpen MyPLMEntities.Item(1), MyEditor
Public Sub SaveFile(MyEditor As Editor)
Dim MyPLMService As PLMPropagateService
Set MyPLMService = MyEditor.GetService("PLMPropagateService")
MyPLMService.Save
End Sub