[COLOR=blue]Option Strict Off[/color]
[COLOR=blue]Imports[/color] System
[COLOR=blue]Imports[/color] NXOpen
[COLOR=blue]Module[/color] Module2
[COLOR=blue]Dim[/color] theSession [COLOR=blue]As[/color] Session [COLOR=blue]=[/color] Session.GetSession()
[COLOR=blue]Dim[/color] workPart [COLOR=blue]As[/color] Part [COLOR=blue]=[/color] theSession.Parts.Work
[COLOR=blue]Dim[/color] sketchAttribute [COLOR=blue]As String =[/color] "SketchVisibility"
[COLOR=blue]Sub[/color] Main()
[COLOR=blue]Dim[/color] sketchesVisible [COLOR=blue]As Boolean = False[/color]
[COLOR=blue]Try[/color]
sketchesVisible [COLOR=blue]=[/color] workPart.GetBooleanUserAttribute(sketchAttribute, 0)
[COLOR=blue]Catch[/color] ex [COLOR=blue]As[/color] NXException
[COLOR=blue]If[/color] ex.ErrorCode [COLOR=blue]=[/color] 512008 [COLOR=blue]Then[/color]
[COLOR=green]'attribute not found[/color]
workPart.SetBooleanUserAttribute(sketchAttribute, 0, False, Update.Option.Later)
[COLOR=blue]Else[/color]
[COLOR=green]'unexpected error[/color]
MsgBox(ex.ErrorCode [COLOR=blue]&[/color] " : " [COLOR=blue]&[/color] ex.Message)
[COLOR=blue]Return[/color]
End [COLOR=blue]If[/color]
End [COLOR=blue]Try[/color]
[COLOR=blue]If[/color] sketchesVisible [COLOR=blue]Then[/color]
HideSketches()
[COLOR=blue]Else[/color]
ShowSketches()
End [COLOR=blue]If[/color]
End [COLOR=blue]Sub[/color]
[COLOR=blue]Sub[/color] ShowSketches()
[COLOR=blue]For Each[/color] theSketch [COLOR=blue]As[/color] Sketch [COLOR=blue]In[/color] workPart.Sketches
theSketch.Unblank()
[COLOR=blue]Next[/color]
workPart.SetBooleanUserAttribute(sketchAttribute, 0, True, Update.Option.Later)
End [COLOR=blue]Sub[/color]
[COLOR=blue]Sub[/color] HideSketches()
[COLOR=blue]For Each[/color] theSketch [COLOR=blue]As[/color] Sketch [COLOR=blue]In[/color] workPart.Sketches
theSketch.Blank()
[COLOR=blue]Next[/color]
workPart.SetBooleanUserAttribute(sketchAttribute, 0, False, Update.Option.Later)
End [COLOR=blue]Sub[/color]
[COLOR=blue]Public Function[/color] GetUnloadOption(ByVal dummy [COLOR=blue]As String[/color]) [COLOR=blue]As Integer[/color]
[COLOR=green]'Unloads the image when the NX session terminates[/color]
GetUnloadOption [COLOR=blue]=[/color] NXOpen.Session.LibraryUnloadOption.AtTermination
[COLOR=green]'----Other unload options-------[/color]
[COLOR=green]'Unloads the image immediately after execution within NX[/color]
[COLOR=green]'GetUnloadOption = NXOpen.Session.LibraryUnloadOption.Immediately[/color]
[COLOR=green]'Unloads the image explicitly, via an unload dialog[/color]
[COLOR=green]'GetUnloadOption = NXOpen.Session.LibraryUnloadOption.Explicitly[/color]
[COLOR=green]'-------------------------------[/color]
End [COLOR=blue]Function[/color]
End [COLOR=blue]Module[/color]