[COLOR=green]'September 13, 2012[/color]
[COLOR=green]'eng-tips thread561-329693[/color]
[COLOR=green]'[/color]
[COLOR=green]'Turn all layers on (make them selectable)[/color]
[COLOR=green]'change color of each object on a given layer to specified color[/color]
[COLOR=green]'change view to trimetric and perform "fit all"[/color]
[COLOR=blue]Option[/color] [COLOR=blue]Strict[/color] [COLOR=blue]Off[/color]
[COLOR=blue]Imports[/color] System
[COLOR=blue]Imports[/color] System.Collections.Generic
[COLOR=blue]Imports[/color] NXOpen
[COLOR=blue]Module[/color] Module1
[COLOR=blue]Sub[/color] Main()
[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] markId1 [COLOR=blue]As[/color] Session.UndoMarkId
markId1 [COLOR=blue]=[/color] theSession.SetUndoMark(Session.MarkVisibility.Visible, "Layer Object Color Journal")
[COLOR=blue]Dim[/color] layerObjects() [COLOR=blue]As[/color] NXObject
[COLOR=blue]Dim[/color] layerObjectsDisplayable() [COLOR=blue]As[/color] DisplayableObject
[COLOR=blue]Dim[/color] layerColorID(256) [COLOR=blue]As[/color] [COLOR=blue]Integer[/color]
[COLOR=green]'store color ID's for layers in array[/color]
layerColorID(1) [COLOR=blue]=[/color] 181
layerColorID(2) [COLOR=blue]=[/color] 186
layerColorID(3) [COLOR=blue]=[/color] 78
layerColorID(4) [COLOR=blue]=[/color] 6
layerColorID(5) [COLOR=blue]=[/color] 11
layerColorID(6) [COLOR=blue]=[/color] 36
layerColorID(7) [COLOR=blue]=[/color] 108
layerColorID(8) [COLOR=blue]=[/color] 31
layerColorID(9) [COLOR=blue]=[/color] 103
layerColorID(10) [COLOR=blue]=[/color] 211
layerColorID(11) [COLOR=blue]=[/color] 164
layerColorID(12) [COLOR=blue]=[/color] 125
[COLOR=green]'...[/color]
[COLOR=green]'expand this out as above and add other layer colors as necessary[/color]
[COLOR=blue]For[/color] i [COLOR=blue]As[/color] [COLOR=blue]Integer[/color] [COLOR=blue]=[/color] 13 [COLOR=blue]To[/color] 255
layerColorID(i) [COLOR=blue]=[/color] i
[COLOR=blue]Next[/color]
[COLOR=green]'...[/color]
layerColorID(256) [COLOR=blue]=[/color] 94
[COLOR=blue]For[/color] i [COLOR=blue]As[/color] [COLOR=blue]Integer[/color] [COLOR=blue]=[/color] 1 [COLOR=blue]To[/color] 256
[COLOR=green]'make layer selectable[/color]
[COLOR=blue]Dim[/color] stateArray1(0) [COLOR=blue]As[/color] Layer.StateInfo
[COLOR=blue]If[/color] workPart.Layers.WorkLayer [COLOR=blue]=[/color] i [COLOR=blue]Then[/color]
stateArray1(0) [COLOR=blue]=[/color] [COLOR=blue]New[/color] Layer.StateInfo(i, Layer.State.WorkLayer)
[COLOR=blue]Else[/color]
stateArray1(0) [COLOR=blue]=[/color] [COLOR=blue]New[/color] Layer.StateInfo(i, Layer.State.Selectable)
End [COLOR=blue]If[/color]
workPart.Layers.ChangeStates(stateArray1, [COLOR=blue]False[/color])
[COLOR=green]'get all objects on layer[/color]
layerObjects [COLOR=blue]=[/color] workPart.Layers.GetAllObjectsOnLayer(i)
[COLOR=blue]If[/color] layerObjects.Length > 0 [COLOR=blue]Then[/color]
[COLOR=green]'change color of all objects on layer[/color]
[COLOR=blue]Dim[/color] displayModification1 [COLOR=blue]As[/color] DisplayModification
displayModification1 [COLOR=blue]=[/color] theSession.DisplayManager.NewDisplayModification()
displayModification1.ApplyToAllFaces [COLOR=blue]=[/color] [COLOR=blue]True[/color]
displayModification1.ApplyToOwningParts [COLOR=blue]=[/color] [COLOR=blue]False[/color]
displayModification1.NewColor [COLOR=blue]=[/color] layerColorID(i)
[COLOR=blue]Dim[/color] objects1 [COLOR=blue]As[/color] [COLOR=blue]New[/color] List(Of DisplayableObject)
[COLOR=blue]For[/color] [COLOR=blue]Each[/color] obj [COLOR=blue]As[/color] NXObject [COLOR=blue]In[/color] layerObjects
obj [COLOR=blue]=[/color] TryCast(obj, DisplayableObject)
[COLOR=blue]If[/color] obj [COLOR=blue]IsNot[/color] [COLOR=blue]Nothing[/color] [COLOR=blue]Then[/color]
objects1.Add(obj)
End [COLOR=blue]If[/color]
[COLOR=blue]Next[/color]
layerObjectsDisplayable [COLOR=blue]=[/color] objects1.ToArray
displayModification1.Apply(layerObjectsDisplayable)
displayModification1.Dispose()
End [COLOR=blue]If[/color]
[COLOR=blue]Next[/color]
[COLOR=green]'fit view, trimetric[/color]
workPart.ModelingViews.WorkView.Orient(View.Canned.Trimetric, View.ScaleAdjustment.Fit)
End [COLOR=blue]Sub[/color]
[COLOR=blue]Public[/color] [COLOR=blue]Function[/color] GetUnloadOption(ByVal dummy [COLOR=blue]As[/color] [COLOR=blue]String[/color]) [COLOR=blue]As[/color] [COLOR=blue]Integer[/color]
[COLOR=green]'Unloads the image when the NX session terminates[/color]
GetUnloadOption [COLOR=blue]=[/color] NXOpen.Session.LibraryUnloadOption.AtTermination
End [COLOR=blue]Function[/color]
End [COLOR=blue]Module[/color]