So ich habe mal ein wenig gesucht und bisschen was gefunden.
Ich will quasi von einem ausgewählten Volumenkörper die Farbe ändern.
In dem Fall Die Farb ID 211 (welche bei mir die Farbe Blau ist).
Ich habe aber noch ein Problem. Es werden 2 Sachen für die Auswahl angeboten; zum einen Volumenkörper und zum anderen Flächenkörper.
Frage... Ist das normal, das der Flächenkörper bei der Auswahl mit kommt?
Hier das Journal.
Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.UF
Imports NXOpen.UI
Imports NXOpen.Utilities
Module NXJournal
Sub Main
Dim theSession As Session = Session.GetSession()
Dim ufs As UFSession = UFSession.GetUFSession()
Dim workPart As Part = theSession.Parts.Work
Dim workView As NXOpen.Tag = NXOpen.Tag.Null
Dim displayPart As Part = theSession.Parts.Display
If theSession.Parts.Work Is Nothing Then
Windows.Forms.MessageBox.Show("Kein Teil geladen! - No Part Loaded!")
Exit Sub
End If
'modulabfrage
Dim module_id As Integer = 0
ufs.UF.AskApplicationModule(module_id)
'modulabfrage
If module_id = UFConstants.UF_APP_DRAFTING Then
Windows.Forms.MessageBox.Show("Bitte ins Modeling wechseln / Please change to modeling")
Exit Sub
End If
theSession.SetUndoMark( Session.MarkVisibility.Visible, "Einfaerben/Color")
' Definition für Farbe ect
Dim Farbe = 211 '(Blau)
Dim displayModification1 As DisplayModification
displayModification1 = theSession.DisplayManager.NewDisplayModification()
displayModification1.ApplyToAllFaces = False
displayModification1.NewColor = Farbe
' Select Body
Dim objects1() As NXObject
SelectBody(objects1)
' Copy NXObject array to DisplayableObject array
Dim objects2(objects1.Length-1) As DisplayableObject
Dim ii as Integer = 0
For Each obj as NXObject in objects1
objects2(ii) = objects1(ii)
ii = ii+1
Next
displayModification1.Apply(objects2)
displayModification1.Dispose()
End Sub
' ----------------------------------------------
' sub to select Body
' ----------------------------------------------
Sub SelectBody(ByRef selectedObjects As NXObject())
Dim ui As UI = NXOpen.UI.GetUI
Dim message As String = "Auswaehlen von Solids"
Dim title As String = "Auswahl Solids"
Dim scope As Selection.SelectionScope = Selection.SelectionScope.WorkPart
Dim keepHighlighted As Boolean = False
Dim includeFeatures As Boolean = False
Dim response As Selection.Response
Dim selectionAction As Selection.SelectionAction = _
Selection.SelectionAction.ClearAndEnableSpecific
Dim selectionMask_array(1) As Selection.MaskTriple
With selectionMask_array(0)
.Type = UFConstants.UF_solid_type
.Subtype = 0
.SolidBodySubtype = UFConstants.UF_solid_body_subtype
End With
response = ui.SelectionManager.SelectObjects(message, title, scope, _
selectionAction, includeFeatures, _
keepHighlighted, selectionMask_array, _
selectedObjects)
If response = Selection.Response.Cancel Or response = _
Selection.Response.Back Then
Return
End If
End Sub
End Module
------------------
MFG Thomas
NX 7.5.5.4
Teamcenter 8
Windows XP 64-bit
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP