Dim tubeParents() As NXOpen.NXObject Dim tubeCurves() As NXOpen.NXObject Dim displayModification1 As DisplayModification Dim tb As BodyFeature Dim faces() As NXopen.Face Dim nFaces As Integer = 0 Dim obj(-1) As DisplayableObject InfoWindow.WriteLine("Zugehörige Rohre: ") For Each z0 As NXOpen.Features.Feature In workPart.Features tubeParents = z0.GetSections For Each objsec As Section In tubeParents objsec.GetOutputCurves(tubeCurves) For Each objcurve As NXOpen.Line In tubeCurves If objcurve.StartPoint.X & objcurve.StartPoint.Y & objcurve.StartPoint.Z = p0.Position.X & p0.Position.Y & p0.Position.Z Then InfoWindow.WriteLine(z0.GetFeatureName) tb = DirectCast(z0, BodyFeature) 'For i As Integer = 0 To tb.GetFaces().Length - 1 ' If TypeOf tb.GetFaces(i) Is NX.Face.Cylinder Then ' faces = tb.GetFaces() ' End If 'Next faces = tb.GetFaces() nFaces = faces.Length ReDim obj(nFaces - 1) For i As Integer = 0 To nFaces - 1 obj(i) = faces(i) Next displayModification1 = NXSession.DisplayManager.NewDisplayModification() displayModification1.ApplyToAllFaces = False displayModification1.NewColor = 1 displayModification1.Apply(obj) ElseIf objcurve.EndPoint.X & objcurve.EndPoint.Y & objcurve.EndPoint.Z = p0.Position.X & p0.Position.Y & p0.Position.Z Then InfoWindow.WriteLine(z0.GetFeatureName) tb = DirectCast(z0, BodyFeature) 'For i As Integer = 0 To tb.GetFaces().Length - 1 ' If TypeOf tb.GetFaces(i) Is NX.Face.Cylinder Then ' faces = tb.GetFaces() ' End If 'Next faces = tb.GetFaces() nFaces = faces.Length ReDim obj(nFaces - 1) For i As Integer = 0 To nFaces - 1 obj(i) = faces(i) Next displayModification1 = NXSession.DisplayManager.NewDisplayModification() displayModification1.ApplyToAllFaces = False displayModification1.NewColor = 1 displayModification1.Apply(obj) End If Next Next Next