Option Strict On Imports System Imports NXOpen Imports NXOpen.UF Imports NXOpen.Utilities Module NXJournal Dim sess As Session Dim ufs as UFSession Dim wp As Part Dim lw as listingwindow Sub Main sess = Session.GetSession() ufs = UFSession.GetUFSession() wp = sess.Parts.Work lw = sess.listingwindow If Not wp.Preferences.Modeling.GetHistoryMode Then Throw(New Exception("Create or edit of a Feature was recorded in History Mode but playback is in History-Free Mode.")) End If lw.open() log("scanning") Dim objtag As Tag = NXOpen.Tag.Null Dim ot, st, stat, cnt As Integer Dim objman As NXObjectManager = sess.GetObjectManager Dim solobj As TaggedObject Do cnt += 1 Try objtag = ufs.Obj.CycleAll(wp.Tag, objtag) Catch ex As Exception log("Error in Cycle " & Chr(9) & ex.Message) End Try If objtag = NXOpen.Tag.Null Then Exit Do Try ufs.Obj.AskTypeAndSubtype(objtag, ot, st) Catch ex As Exception log("Error in AskType " & Chr(9) & ex.Message) End Try log("Nr. " & cnt.ToString.PadRight(12) & "Type " & ot & " SubType " & st) If ot = UFConstants.UF_solid_type Then Try stat = ufs.Obj.AskStatus(objtag) Catch ex As Exception log("Error in AskStatus " & Chr(9) & ex.Message) End Try solobj = Nothing Try solobj = objman.GetTaggedObject(objtag) Catch ex As Exception log("Error in ObjectManager " & Chr(9) & ex.Message) End Try If solobj Is Nothing Then log("Status of " & objtag.ToString & " is " & stat) Else log("Status of " & solobj.ToString & " is " & stat) End If End If Loop log ("") log("scan finished") End Sub private sub log(msg as string) lw.writeline(msg) end sub End Module