I was able to do it in Naitive NX, but it does not seem to be possible to use a Teamcenter managed one like "@DB/DH_Parts_List_metric/A". Thought I would share what I was able to do though:
Imports NXOpen
Imports NXOpen.UF
Imports NXOpen.Utilities
Public Class NXJournal
Shared theSession As Session = Session.GetSession()
Shared theUFSession As UFSession = UFSession.GetUFSession()
Shared workPart As Part = theSession.Parts.Work
Private Shared Sub DoIt()
Dim markId1 As NXOpen.Session.UndoMarkId = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "")
Dim pl_tags() As Tag = Nothing
Dim n_pls As Integer = Nothing
theUFSession.Plist.AskTags(pl_tags, n_pls)
Dim PartsList As DisplayableObject = DirectCast(NXObjectManager.Get(pl_tags(0)), DisplayableObject)
If PartsList.Layer = 0 Then
Dim tab_name As String = "R:\Common\NX\programs\Drafting\DH_Parts_List_metric_A.prt"
Dim pattern_tag As NXOpen.Tag
Dim group As Tag
Dim tabular_note_section As NXOpen.Tag
Dim tabular_note As NXOpen.Tag
Dim ufs As UFSession = UFSession.GetUFSession()
Dim myTag As NXOpen.Tag
Dim origin() As Double = {-250, 0}
ufs.Plist.CreateFromTemplate(tab_name, origin, myTag) 'Create Parts List from Template
Dim my_plist As NXOpen.Tag = NXOpen.Tag.Null
Dim dispPartTag As NXOpen.Tag = theSession.Parts.Display.Tag
Dim traversalSettings1 As NXOpen.UF.UFPlist.TraversalSettings
traversalSettings1.master_model = True
traversalSettings1.top_level_only = True
ufs.Plist.SetTraversalSettings(myTag, traversalSettings1)
End If
End Sub
Public Shared Sub Main(ByVal args As String())
Dim workPart As Part = theSession.Parts.Work
If workPart IsNot Nothing Then
DoIt()
Return
End If
End Sub
Public Shared Function GetUnloadOption(ByVal arg As String) As Integer
Return Session.LibraryUnloadOption.Immediately
End Function
End Class
Design Engineer, NX 7.5