Danke schon mal!
Journal:
' NX 8.5.0.23
Option Strict Off
Imports System
Imports NXOpen
Module NXJournal
Sub Main (ByVal args() As String)
Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim displayPart As Part = theSession.Parts.Display
' ----------------------------------------------
' Menu: Analysis->Molded Part Validation->Check Wall Thickness...
' ----------------------------------------------
Dim markId1 As Session.UndoMarkId
markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Start")
Dim wallThicknessCheckerBuilder1 As Tooling.WallThicknessCheckerBuilder
wallThicknessCheckerBuilder1 = workPart.ToolingManager.WallThicknessChecker.CreateBuilder()
wallThicknessCheckerBuilder1.CalculationMaximumThicknessTolerance = 0.1
wallThicknessCheckerBuilder1.CalculationMaximumSpacing = 1.0
wallThicknessCheckerBuilder1.CalculationCalculateMethod = Tooling.WallThicknessCheckerBuilder.CalculateMethod.RollingBall
wallThicknessCheckerBuilder1.CalculationMaximumThicknessTolerance = 0.0711805372899784
wallThicknessCheckerBuilder1.CalculationMaximumSpacing = 4.80468626707354
wallThicknessCheckerBuilder1.CalculationCalculateMethod = Tooling.WallThicknessCheckerBuilder.CalculateMethod.Ray
wallThicknessCheckerBuilder1.InspectionDisplayFringeColorPlot = True
wallThicknessCheckerBuilder1.InspectionIncludeAllFaces = True
wallThicknessCheckerBuilder1.InspectionThicknessFilterRangeHighLimit = 30.0
wallThicknessCheckerBuilder1.InspectionSelectedFacesColor = workPart.Colors.Find("Medium Lemon")
wallThicknessCheckerBuilder1.OptionsRangeType = Tooling.WallThicknessCheckerBuilder.RangeType.UserDefined
wallThicknessCheckerBuilder1.OptionsNumberOfColors = 3
wallThicknessCheckerBuilder1.OptionsColor01 = workPart.Colors.Find("Green")
wallThicknessCheckerBuilder1.OptionsLowerLimit01 = 2.0
wallThicknessCheckerBuilder1.OptionsUpperLimit01 = 100.0
wallThicknessCheckerBuilder1.OptionsColor02 = workPart.Colors.Find("Yellow")
wallThicknessCheckerBuilder1.OptionsLowerLimit02 = 1.0
wallThicknessCheckerBuilder1.OptionsUpperLimit02 = 2.0
wallThicknessCheckerBuilder1.OptionsColor03 = workPart.Colors.Find("Red")
wallThicknessCheckerBuilder1.OptionsUpperLimit03 = 1.0
wallThicknessCheckerBuilder1.OptionsColor04 = workPart.Colors.Find("Deep Orange")
wallThicknessCheckerBuilder1.OptionsColor05 = workPart.Colors.Find("Deep Yellow")
wallThicknessCheckerBuilder1.OptionsColor06 = workPart.Colors.Find("Medium Olive")
wallThicknessCheckerBuilder1.OptionsColor07 = workPart.Colors.Find("Medium Green")
wallThicknessCheckerBuilder1.OptionsColor08 = workPart.Colors.Find("Green")
wallThicknessCheckerBuilder1.OptionsColor09 = workPart.Colors.Find("Cyan")
wallThicknessCheckerBuilder1.OptionsColor10 = workPart.Colors.Find("Strong Emerald")
wallThicknessCheckerBuilder1.OptionsColor11 = workPart.Colors.Find("Cornflower")
wallThicknessCheckerBuilder1.OptionsColor12 = workPart.Colors.Find("Blue")
wallThicknessCheckerBuilder1.OptionsDisplayMeshElements = True
theSession.SetUndoMarkName(markId1, "Check Wall Thickness Dialog")
wallThicknessCheckerBuilder1.InApplyStatus = 0
wallThicknessCheckerBuilder1.InitThicknessData(0)
Dim body1 As Body = CType(workPart.Bodies.FindObject("EXTRUDE(1)"), Body)
wallThicknessCheckerBuilder1.CalculationBody.Value = body1
Dim mWPartingManagerBuilder1 As Tooling.MWPartingManagerBuilder
mWPartingManagerBuilder1 = workPart.ToolingManager.MWPartingManager.CreateBuilder()
mWPartingManagerBuilder1.RegisterWtcPostUndoCallback(1)
mWPartingManagerBuilder1.DeleteTransientMeshes(0)
mWPartingManagerBuilder1.Destroy()
Dim id1 As Session.UndoMarkId
id1 = theSession.GetNewestUndoMark(Session.MarkVisibility.Visible)
wallThicknessCheckerBuilder1.CalculationCalculateMethod = Tooling.WallThicknessCheckerBuilder.CalculateMethod.RollingBall
wallThicknessCheckerBuilder1.InspectionThicknessFilterRangeHighLimit = 0.0
wallThicknessCheckerBuilder1.UpdateSelectedFacesInfo()
wallThicknessCheckerBuilder1.OptionsRangeType = Tooling.WallThicknessCheckerBuilder.RangeType.Uniform
wallThicknessCheckerBuilder1.OptionsNumberOfColors = 12
wallThicknessCheckerBuilder1.OptionsColor01 = workPart.Colors.Find("Red")
wallThicknessCheckerBuilder1.OptionsLowerLimit01 = 0.0
wallThicknessCheckerBuilder1.OptionsUpperLimit01 = 0.0
wallThicknessCheckerBuilder1.OptionsColor02 = workPart.Colors.Find("Strong Crimson")
wallThicknessCheckerBuilder1.OptionsLowerLimit02 = 0.0
wallThicknessCheckerBuilder1.OptionsUpperLimit02 = 0.0
wallThicknessCheckerBuilder1.OptionsColor03 = workPart.Colors.Find("Medium Plum")
wallThicknessCheckerBuilder1.OptionsUpperLimit03 = 0.0
wallThicknessCheckerBuilder1.CalculationCalculateMethod = Tooling.WallThicknessCheckerBuilder.CalculateMethod.Ray
wallThicknessCheckerBuilder1.OptionsRangeType = Tooling.WallThicknessCheckerBuilder.RangeType.UserDefined
wallThicknessCheckerBuilder1.OptionsNumberOfColors = 3
' ----------------------------------------------
' Dialog Begin Color
' ----------------------------------------------
wallThicknessCheckerBuilder1.OptionsColor01 = workPart.Colors.Find("Green")
' ----------------------------------------------
' Dialog Begin Color
' ----------------------------------------------
wallThicknessCheckerBuilder1.OptionsColor02 = workPart.Colors.Find("Yellow")
' ----------------------------------------------
' Dialog Begin Color
' ----------------------------------------------
wallThicknessCheckerBuilder1.OptionsColor03 = workPart.Colors.Find("Red")
wallThicknessCheckerBuilder1.OptionsLowerLimit01 = 2.0
wallThicknessCheckerBuilder1.OptionsLowerLimit02 = 1.0
wallThicknessCheckerBuilder1.OptionsUpperLimit01 = 100.0
wallThicknessCheckerBuilder1.OptionsUpperLimit02 = 2.0
wallThicknessCheckerBuilder1.OptionsUpperLimit03 = 1.0
wallThicknessCheckerBuilder1.Calculate()
wallThicknessCheckerBuilder1.InspectionThicknessFilterRangeLowLimit = 0.499999999999986
wallThicknessCheckerBuilder1.InspectionThicknessFilterRangeHighLimit = 160.0
wallThicknessCheckerBuilder1.UpdateSelectedFacesInfo()
Dim markId2 As Session.UndoMarkId
markId2 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Check Wall Thickness")
Dim nXObject1 As NXObject
nXObject1 = wallThicknessCheckerBuilder1.Commit()
wallThicknessCheckerBuilder1.InApplyStatus = 1
Dim mWPartingManagerBuilder2 As Tooling.MWPartingManagerBuilder
mWPartingManagerBuilder2 = workPart.ToolingManager.MWPartingManager.CreateBuilder()
mWPartingManagerBuilder2.RegisterWtcPostUndoCallback(0)
mWPartingManagerBuilder2.Destroy()
theSession.DeleteUndoMark(markId2, Nothing)
theSession.SetUndoMarkName(id1, "Check Wall Thickness")
wallThicknessCheckerBuilder1.Destroy()
Dim markId3 As Session.UndoMarkId
markId3 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Start")
Dim wallThicknessCheckerBuilder2 As Tooling.WallThicknessCheckerBuilder
wallThicknessCheckerBuilder2 = workPart.ToolingManager.WallThicknessChecker.CreateBuilder()
wallThicknessCheckerBuilder2.CalculationMaximumThicknessTolerance = 0.1
wallThicknessCheckerBuilder2.CalculationMaximumSpacing = 1.0
wallThicknessCheckerBuilder2.CalculationCalculateMethod = Tooling.WallThicknessCheckerBuilder.CalculateMethod.RollingBall
wallThicknessCheckerBuilder2.CalculationMaximumThicknessTolerance = 0.0711805372899784
wallThicknessCheckerBuilder2.CalculationMaximumSpacing = 4.80468626707354
wallThicknessCheckerBuilder2.CalculationCalculateMethod = Tooling.WallThicknessCheckerBuilder.CalculateMethod.Ray
wallThicknessCheckerBuilder2.InspectionDisplayFringeColorPlot = True
wallThicknessCheckerBuilder2.InspectionIncludeAllFaces = True
wallThicknessCheckerBuilder2.InspectionThicknessFilterRangeLowLimit = 0.499999999999986
wallThicknessCheckerBuilder2.InspectionThicknessFilterRangeHighLimit = 160.0
wallThicknessCheckerBuilder2.InspectionSelectedFacesColor = workPart.Colors.Find("Medium Lemon")
wallThicknessCheckerBuilder2.OptionsRangeType = Tooling.WallThicknessCheckerBuilder.RangeType.UserDefined
wallThicknessCheckerBuilder2.OptionsNumberOfColors = 3
wallThicknessCheckerBuilder2.OptionsColor01 = workPart.Colors.Find("Green")
wallThicknessCheckerBuilder2.OptionsLowerLimit01 = 2.0
wallThicknessCheckerBuilder2.OptionsUpperLimit01 = 100.0
wallThicknessCheckerBuilder2.OptionsColor02 = workPart.Colors.Find("Yellow")
wallThicknessCheckerBuilder2.OptionsLowerLimit02 = 1.0
wallThicknessCheckerBuilder2.OptionsUpperLimit02 = 2.0
wallThicknessCheckerBuilder2.OptionsColor03 = workPart.Colors.Find("Red")
wallThicknessCheckerBuilder2.OptionsUpperLimit03 = 1.0
wallThicknessCheckerBuilder2.OptionsColor04 = workPart.Colors.Find("Deep Orange")
wallThicknessCheckerBuilder2.OptionsColor05 = workPart.Colors.Find("Deep Yellow")
wallThicknessCheckerBuilder2.OptionsColor06 = workPart.Colors.Find("Medium Olive")
wallThicknessCheckerBuilder2.OptionsColor07 = workPart.Colors.Find("Medium Green")
wallThicknessCheckerBuilder2.OptionsColor08 = workPart.Colors.Find("Green")
wallThicknessCheckerBuilder2.OptionsColor09 = workPart.Colors.Find("Cyan")
wallThicknessCheckerBuilder2.OptionsColor10 = workPart.Colors.Find("Strong Emerald")
wallThicknessCheckerBuilder2.OptionsColor11 = workPart.Colors.Find("Cornflower")
wallThicknessCheckerBuilder2.OptionsColor12 = workPart.Colors.Find("Blue")
wallThicknessCheckerBuilder2.OptionsDisplayMeshElements = True
theSession.SetUndoMarkName(markId3, "Check Wall Thickness Dialog")
wallThicknessCheckerBuilder2.InApplyStatus = 1
wallThicknessCheckerBuilder2.InitThicknessData(0)
wallThicknessCheckerBuilder2.CalculationBody.Value = body1
Dim mWPartingManagerBuilder3 As Tooling.MWPartingManagerBuilder
mWPartingManagerBuilder3 = workPart.ToolingManager.MWPartingManager.CreateBuilder()
mWPartingManagerBuilder3.RegisterWtcPostUndoCallback(1)
mWPartingManagerBuilder3.Destroy()
wallThicknessCheckerBuilder2.UpdateSelectedFacesInfo()
' ----------------------------------------------
' Dialog Begin Check Wall Thickness
' ----------------------------------------------
Dim markId4 As Session.UndoMarkId
markId4 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Check Wall Thickness")
theSession.DeleteUndoMark(markId4, Nothing)
Dim markId5 As Session.UndoMarkId
markId5 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Check Wall Thickness")
Dim nXObject2 As NXObject
nXObject2 = wallThicknessCheckerBuilder2.Commit()
wallThicknessCheckerBuilder2.InApplyStatus = 1
Dim mWPartingManagerBuilder4 As Tooling.MWPartingManagerBuilder
mWPartingManagerBuilder4 = workPart.ToolingManager.MWPartingManager.CreateBuilder()
mWPartingManagerBuilder4.RegisterWtcPostUndoCallback(0)
mWPartingManagerBuilder4.Destroy()
wallThicknessCheckerBuilder2.InApplyStatus = 0
Dim mWPartingManagerBuilder5 As Tooling.MWPartingManagerBuilder
mWPartingManagerBuilder5 = workPart.ToolingManager.MWPartingManager.CreateBuilder()
mWPartingManagerBuilder5.DeleteTransientMeshes(1)
mWPartingManagerBuilder5.Destroy()
Dim id2 As Session.UndoMarkId
id2 = theSession.GetNewestUndoMark(Session.MarkVisibility.Visible)
theSession.SetUndoMarkVisibility(id2, Nothing, Session.MarkVisibility.Invisible)
theSession.DeleteUndoMark(markId5, Nothing)
theSession.SetUndoMarkName(id2, "Check Wall Thickness")
wallThicknessCheckerBuilder2.Destroy()
' ----------------------------------------------
' Menu: Tools->Journal->Stop Recording
' ----------------------------------------------
End Sub
End Module
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP