Imports System Imports System.Windows.Forms Imports System.Reflection Imports System.Collections.Generic Imports NXOpen Imports NXOpen.Utilities Imports NXOpen.UF Module TC_Check Dim sess As Session Dim ufs As UFSession Dim nxui As UI Dim wp As Part Dim oman As NXObjectManager Dim lw As ListingWindow Dim prarch As ProcessorArchitecture Sub Main(ByVal args() As String) #If PLATFORM = "x86" Then sess = frm_debug.sess ufs = frm_debug.ufs nxui = frm_debug.nxui frm_test.frm.log("") frm_test.frm.log("TC Test") frm_test.frm.log("") #Else sess = Session.GetSession() ufs = UFSession.GetUFSession nxui = UI.GetUI #End If prarch = Assembly.GetAssembly(GetType(TC_Check)).GetName.ProcessorArchitecture() wp = sess.Parts.Work oman = sess.GetObjectManager lw = sess.ListingWindow lw.Open() If wp Is Nothing Then lw.WriteFullline("Please open a Part before using this Program") Exit Sub End If Dim nativename, dbfilename, dbpartname As String Dim dbnr, dbrev, dbtype As String Dim rootcomp As Assemblies.Component = Nothing Dim comps(-1) As Assemblies.Component Dim IsTCSession As Boolean nativename = "" dbfilename = New String(Chr(32), UFConstants.MAX_FSPEC_BUFSIZE) dbnr = New String(Chr(32), UFConstants.UF_UGMGR_PARTNO_BUFSIZE) dbrev = New String(Chr(32), UFConstants.UF_UGMGR_PARTREV_BUFSIZE) dbtype = New String(Chr(32), UFConstants.UF_UGMGR_FTYPE_BUFSIZE) dbpartname = New String(Chr(32), UFConstants.UF_UGMGR_FNAME_BUFSIZE) ufs.UF.IsUgmanagerActive(IsTCSession) If IsTCSession Then lw.WriteFullline("TC Session") Dim leaf As String = "" Try leaf = wp.Leaf Catch ex As Exception lw.WriteFullline("Error in WorkPart.Leaf") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("Leaf: " & leaf) Dim fullpath As String = "" Try fullpath = wp.FullPath Catch ex As Exception lw.WriteFullline("Error in WorkPart.FullPath") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("FullPath: " & fullpath) Try ufs.Part.AskPartName(wp.Tag, dbfilename) Catch ex As Exception lw.WriteFullline("Error in AskPartName") lw.WriteFullline(ex.Message) End Try Try ufs.Ugmgr.DecodePartFileName(dbfilename, dbnr, dbrev, dbtype, dbpartname) Catch ex As Exception lw.WriteFullline("Error in DecodePartFileName") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("") lw.WriteFullline("Filename: " & dbfilename) lw.WriteFullline("Part Number: " & dbnr) lw.WriteFullline("Revision: " & dbrev) lw.WriteFullline("Part Type: " & dbtype) lw.WriteFullline("Part Name: " & dbpartname) lw.WriteFullline("") Dim expdir As String = "" Try ufs.Ugmgr.AskExportDirectory(wp.Tag, expdir) Catch ex As Exception lw.WriteFullline("Error in AskExportDirectory") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("ExportDirectory: " & expdir) lw.WriteFullline("") Dim mgrobjtyp As UFUgmgr.ObjectType = UFUgmgr.ObjectType.TypeUnknown Try ufs.Ugmgr.AskObjectType(wp.Tag, mgrobjtyp) Catch ex As Exception lw.WriteFullline("Error in AskObjectType") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("ObjectType: " & mgrobjtyp.ToString) lw.WriteFullline("") Try ufs.Ugmgr.AskPartNumber(wp.Tag, dbnr) Catch ex As Exception lw.WriteFullline("Error in AskPartNumber") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("DB Part Number: " & dbnr) lw.WriteFullline("") Dim dbtag As Tag = Tag.Null Try ufs.Ugmgr.AskPartTag(dbnr, dbtag) Catch ex As Exception lw.WriteFullline("Error in AskPartTag") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("DB Part Tag: " & dbtag.ToString) lw.WriteFullline("") Dim dbpartdescr As String = "" Try ufs.Ugmgr.AskPartNameDesc(dbtag, dbpartname, dbpartdescr) Catch ex As Exception lw.WriteFullline("Error in AskPartNameDesc") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("DB Part Name: " & dbpartname & " Descr " & dbpartdescr) lw.WriteFullline("") Dim username As String = Environment.UserName Dim ncontent As Integer Dim contenttags(-1) As Tag Dim fldtag As Tag = Tag.Null Try ufs.Ugmgr.AskUserFolder(username, fldtag) Catch ex As Exception lw.WriteFullline("Error in AskUserFolder") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("DB Folder Tag: " & fldtag.ToString) lw.WriteFullline("") Dim rootfldtag As Tag = Tag.Null Try ufs.Ugmgr.AskRootFolder(rootfldtag) Catch ex As Exception lw.WriteFullline("Error in AskRootFolder") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("DB ROOT Folder Tag: " & rootfldtag.ToString) lw.WriteFullline("") If Not fldtag = Tag.Null Then Dim fldname As String = "" Try ufs.Ugmgr.AskFolderName(fldtag, fldname) Catch ex As Exception lw.WriteFullline("Error in AskFolderName") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("FolderName: " & fldname) Try ufs.Ugmgr.ListFolderContents(fldtag, ncontent, contenttags) Catch ex As Exception lw.WriteFullline("Error in ListFolderContents") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("Found " & ncontent & " FolderContents") Dim prttags(-1) As Tag Try ufs.Ugmgr.ListPartsInFolder(fldtag, ncontent, prttags) Catch ex As Exception lw.WriteFullline("Error in ListPartsInFolder") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("Found " & ncontent & " Parts in Folder " & fldname) lw.WriteFullline("") End If If Not rootfldtag = Tag.Null Then Dim fldname As String = "" Try ufs.Ugmgr.AskFolderName(rootfldtag, fldname) Catch ex As Exception lw.WriteFullline("Error in AskFolderName") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("RootFolderName: " & fldname) Try ufs.Ugmgr.ListFolderContents(rootfldtag, ncontent, contenttags) Catch ex As Exception lw.WriteFullline("Error in ListFolderContents") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("Found " & ncontent & " FolderContents") Dim prttags(-1) As Tag Try ufs.Ugmgr.ListPartsInFolder(rootfldtag, ncontent, prttags) Catch ex As Exception lw.WriteFullline("Error in ListPartsInFolder") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("Found " & ncontent & " Parts in Folder " & fldname) lw.WriteFullline("") End If Dim userrole As String = "" Try ufs.Ugmgr.AskUserRole(userrole) Catch ex As Exception lw.WriteFullline("Error in AskUserRole") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("UserRole: " & userrole) lw.WriteFullline("") Dim cliname As String = " " Try ufs.Ugmgr.ConvertFileNameToCli(wp.FullPath, cliname) Catch ex As Exception lw.WriteFullline("Error in ConvertFileNameToCli") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("FileNameToCli: " & cliname) lw.WriteFullline("") Dim internalname As String = "" If cliname.Length > 0 Then Try ufs.Ugmgr.ConvertNameFromCli(cliname, internalname) Catch ex As Exception lw.WriteFullline("Error in ConvertNameFromCli") lw.WriteFullline(ex.Message) End Try End If lw.WriteFullline("NameFromCli: " & internalname) lw.WriteFullline("") Dim encodedname As String = "" Try ufs.Ugmgr.EncodePartFilename(dbnr, dbrev, dbtype, dbpartname, encodedname) Catch ex As Exception lw.WriteFullline("Error in EncodePartFilename") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("EncodedPartFilename: " & encodedname) lw.WriteFullline("") Dim dbbasename As String = "" Try ufs.Ugmgr.GenerateBaseFileName(wp.FullPath, dbbasename) Catch ex As Exception lw.WriteFullline("Error in GenerateBaseFileName") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("BaseFileName: " & dbbasename) lw.WriteFullline("") Dim revcnt As Integer Dim revtags(-1) As Tag Try ufs.Ugmgr.ListPartRevisions(wp.Tag, revcnt, revtags) Catch ex As Exception lw.WriteFullline("Error in ListPartRevisions") lw.WriteFullline(ex.Message) End Try lw.WriteFullline("Found " & revcnt & " Revisions") Else lw.WriteFullline("Native NX Session") nativename = wp.FullPath lw.WriteFullline("Part Name: " & nativename) End If lw.WriteFullline("") End Sub End Module