Imports System.Runtime.InteropServices
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim objApp As SolidEdgeFramework.Application = Nothing
Dim objSEEC As SolidEdgeFramework.SolidEdgeTCE = Nothing
Dim objAsm As SolidEdgeAssembly.AssemblyDocument = Nothing
Dim objOccurrences As SolidEdgeAssembly.Occurrences = Nothing
Dim objOccurrence As SolidEdgeAssembly.Occurrence = Nothing
Dim objDocuments As SolidEdgeFramework.Documents = Nothing
Dim UserName As String
Dim Password As String
Dim Group As String
Dim Role As String
Dim URL As String
Dim varInputList(1) As Object
Dim FileItemID As String
Dim FileItemRevID As String
Dim FileDataSetName As String
Dim FileRevisionRule As String
Dim FolderName As String
Dim temp(0, 0) As Object
Dim CachePath As String = ""
Dim filename As String
Dim listoffiles As Object = Nothing
Try
'Get Active session of Solid Edge
objApp = Marshal.GetActiveObject("SolidEdge.Application")
' Teamcenter Mode
objSEEC = objApp.SolidEdgeTCE
' Get default cache path
objSEEC.GetPDMCachePath(CachePath)
'GetActive Document
objAsm = objApp.ActiveDocument
'Specify Server Credentials
UserName = "abc"
Password = "abc"
Group = ""
Role = ""
URL = "http://servername:port/tc"
Call objSEEC.ValidateLogin(UserName, Password, Group, Role, URL)
objDocuments = objApp.Documents
'Open Assembly
'objAsm = objDocuments.Open(CachePath + "\" + "025016.asm")
'Details of the Part to be added in Assembly
FileItemID = "025015"
FileItemRevID = "A"
FileDataSetName = "025015.par"
FileRevisionRule = ""
FolderName = ""
'temp is a 2 dimensional array which is not optional
'Download the file to cache
objSEEC.DownladDocumentsFromServerWithOptions(FileItemID, FileItemRevID, FileDataSetName, SolidEdgeConstants.RevisionRuleType.LatestRevision, "", True, False, SolidEdgeConstants.TCDownloadOptions.COImplicit, temp)
'Get Name of the file downloaded
objSEEC.GetListOfIndirectFilesForGivenFile(FileItemID, FileItemRevID, FileDataSetName, "latest working", "", listoffiles)
'objSEEC.GetMappedPropertiesForGivenFile(FileItemID, FileItemRevID, FileDataSetName, listoffiles)
'Cast the object to get filename
filename = DirectCast(DirectCast(listoffiles, Object())(0), String)
objOccurrences = objAsm.Occurrences
'Add the part to assembly file
objOccurrences.AddByFilename(CachePath + "\" + filename)
Catch ex As Exception
MsgBox(ex.ToString)
Clipboard.SetText(ex.ToString)
End Try
End Sub
End Class