' NX 1953 ' Journal created by naikss on Mon Mar 21 10:46:50 2022 India Standard Time ' Imports System Imports NXOpen Module NXJournal Sub Main (ByVal args() As String) Dim theSession As NXOpen.Session = NXOpen.Session.GetSession() Dim workPart As NXOpen.Part = theSession.Parts.Work Dim displayPart As NXOpen.Part = theSession.Parts.Display ' ---------------------------------------------- ' Menu: Assemblies->Components->Add Component... ' ---------------------------------------------- Dim markId1 As NXOpen.Session.UndoMarkId = Nothing markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Start") Dim addComponentBuilder1 As NXOpen.Assemblies.AddComponentBuilder = Nothing addComponentBuilder1 = workPart.AssemblyManager.CreateAddComponentBuilder() Dim componentPositioner1 As NXOpen.Positioning.ComponentPositioner = Nothing componentPositioner1 = workPart.ComponentAssembly.Positioner componentPositioner1.ClearNetwork() Dim arrangement1 As NXOpen.Assemblies.Arrangement = CType(workPart.ComponentAssembly.Arrangements.FindObject("Arrangement 1"), NXOpen.Assemblies.Arrangement) componentPositioner1.PrimaryArrangement = arrangement1 componentPositioner1.BeginAssemblyConstraints() Dim allowInterpartPositioning1 As Boolean = Nothing allowInterpartPositioning1 = theSession.Preferences.Assemblies.InterpartPositioning Dim nullNXOpen_Unit As NXOpen.Unit = Nothing Dim expression1 As NXOpen.Expression = Nothing expression1 = workPart.Expressions.CreateSystemExpressionWithUnits("1.0", nullNXOpen_Unit) Dim unit1 As NXOpen.Unit = CType(workPart.UnitCollection.FindObject("MilliMeter"), NXOpen.Unit) Dim expression2 As NXOpen.Expression = Nothing expression2 = workPart.Expressions.CreateSystemExpressionWithUnits("1.0", unit1) Dim expression3 As NXOpen.Expression = Nothing expression3 = workPart.Expressions.CreateSystemExpressionWithUnits("0.0", unit1) Dim unit2 As NXOpen.Unit = CType(workPart.UnitCollection.FindObject("Degrees"), NXOpen.Unit) Dim expression4 As NXOpen.Expression = Nothing expression4 = workPart.Expressions.CreateSystemExpressionWithUnits("0.0", unit2) Dim expression5 As NXOpen.Expression = Nothing expression5 = workPart.Expressions.CreateSystemExpressionWithUnits("1", nullNXOpen_Unit) Dim expression6 As NXOpen.Expression = Nothing expression6 = workPart.Expressions.CreateSystemExpressionWithUnits("1.0", unit1) Dim expression7 As NXOpen.Expression = Nothing expression7 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit1) Dim expression8 As NXOpen.Expression = Nothing expression8 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit2) Dim network1 As NXOpen.Positioning.Network = Nothing network1 = componentPositioner1.EstablishNetwork() Dim componentNetwork1 As NXOpen.Positioning.ComponentNetwork = CType(network1, NXOpen.Positioning.ComponentNetwork) componentNetwork1.MoveObjectsState = True Dim nullNXOpen_Assemblies_Component As NXOpen.Assemblies.Component = Nothing componentNetwork1.DisplayComponent = nullNXOpen_Assemblies_Component theSession.SetUndoMarkName(markId1, "Add Component Dialog") componentNetwork1.MoveObjectsState = True Dim markId2 As NXOpen.Session.UndoMarkId = Nothing markId2 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Assembly Constraints Update") Dim nullNXOpen_Assemblies_ProductInterface_InterfaceObject As NXOpen.Assemblies.ProductInterface.InterfaceObject = Nothing addComponentBuilder1.SetComponentAnchor(nullNXOpen_Assemblies_ProductInterface_InterfaceObject) addComponentBuilder1.SetInitialLocationType(NXOpen.Assemblies.AddComponentBuilder.LocationType.Snap) addComponentBuilder1.SetCount(1) addComponentBuilder1.SetScatterOption(True) addComponentBuilder1.ReferenceSet = "Unknown" addComponentBuilder1.Layer = -1 theSession.PdmSession.SetNativeMode(True, False) Dim basePart1 As NXOpen.BasePart = Nothing Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing basePart1 = theSession.Parts.OpenBase("D:\tool1.prt", partLoadStatus1) partLoadStatus1.Dispose() theSession.PdmSession.SetNativeMode(False, False) addComponentBuilder1.ReferenceSet = "Use Model" addComponentBuilder1.Layer = -1 Dim partstouse1(0) As NXOpen.BasePart Dim part1 As NXOpen.Part = CType(basePart1, NXOpen.Part) partstouse1(0) = part1 addComponentBuilder1.SetPartsToAdd(partstouse1) Dim productinterfaceobjects1() As NXOpen.Assemblies.ProductInterface.InterfaceObject addComponentBuilder1.GetAllProductInterfaceObjects(productinterfaceobjects1) addComponentBuilder1.ReferenceSet = "Use Model" addComponentBuilder1.Layer = -1 Dim partstouse2(1) As NXOpen.BasePart Dim part2 As NXOpen.Part = CType(theSession.Parts.FindObject("@DB/JP181737/00.02"), NXOpen.Part) partstouse2(0) = part2 partstouse2(1) = part1 addComponentBuilder1.SetPartsToAdd(partstouse2) Dim productinterfaceobjects2() As NXOpen.Assemblies.ProductInterface.InterfaceObject addComponentBuilder1.GetAllProductInterfaceObjects(productinterfaceobjects2) Dim markId3 As NXOpen.Session.UndoMarkId = Nothing markId3 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Start") Dim expression9 As NXOpen.Expression = Nothing expression9 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit1) Dim expression10 As NXOpen.Expression = Nothing expression10 = workPart.Expressions.CreateSystemExpressionWithUnits("p9_x=0.00000000000", unit1) Dim expression11 As NXOpen.Expression = Nothing expression11 = workPart.Expressions.CreateSystemExpressionWithUnits("p10_y=0.00000000000", unit1) Dim expression12 As NXOpen.Expression = Nothing expression12 = workPart.Expressions.CreateSystemExpressionWithUnits("p11_z=0.00000000000", unit1) Dim expression13 As NXOpen.Expression = Nothing expression13 = workPart.Expressions.CreateSystemExpressionWithUnits("p12_xdelta=0.00000000000", unit1) Dim expression14 As NXOpen.Expression = Nothing expression14 = workPart.Expressions.CreateSystemExpressionWithUnits("p13_ydelta=0.00000000000", unit1) Dim expression15 As NXOpen.Expression = Nothing expression15 = workPart.Expressions.CreateSystemExpressionWithUnits("p14_zdelta=0.00000000000", unit1) Dim expression16 As NXOpen.Expression = Nothing expression16 = workPart.Expressions.CreateSystemExpressionWithUnits("p15_radius=0.00000000000", unit1) Dim expression17 As NXOpen.Expression = Nothing expression17 = workPart.Expressions.CreateSystemExpressionWithUnits("p16_angle=0.00000000000", unit2) Dim expression18 As NXOpen.Expression = Nothing expression18 = workPart.Expressions.CreateSystemExpressionWithUnits("p17_zdelta=0.00000000000", unit1) Dim expression19 As NXOpen.Expression = Nothing expression19 = workPart.Expressions.CreateSystemExpressionWithUnits("p18_radius=0.00000000000", unit1) Dim expression20 As NXOpen.Expression = Nothing expression20 = workPart.Expressions.CreateSystemExpressionWithUnits("p19_angle1=0.00000000000", unit2) Dim expression21 As NXOpen.Expression = Nothing expression21 = workPart.Expressions.CreateSystemExpressionWithUnits("p20_angle2=0.00000000000", unit2) Dim expression22 As NXOpen.Expression = Nothing expression22 = workPart.Expressions.CreateSystemExpressionWithUnits("p21_distance=0", unit1) Dim expression23 As NXOpen.Expression = Nothing expression23 = workPart.Expressions.CreateSystemExpressionWithUnits("p22_arclen=0", unit1) Dim expression24 As NXOpen.Expression = Nothing expression24 = workPart.Expressions.CreateSystemExpressionWithUnits("p23_percent=0", nullNXOpen_Unit) expression10.SetFormula("153") expression11.SetFormula("238") expression12.SetFormula("385") expression13.SetFormula("0") expression14.SetFormula("0") expression15.SetFormula("0") expression16.SetFormula("0") expression17.SetFormula("0") expression18.SetFormula("0") expression19.SetFormula("0") expression20.SetFormula("0") expression21.SetFormula("0") expression22.SetFormula("0") expression24.SetFormula("100") expression23.SetFormula("0") theSession.SetUndoMarkName(markId3, "Point Dialog") Dim expression25 As NXOpen.Expression = Nothing expression25 = workPart.Expressions.CreateSystemExpressionWithUnits("p24_x=0.00000000000", unit1) Dim scalar1 As NXOpen.Scalar = Nothing scalar1 = workPart.Scalars.CreateScalarExpression(expression25, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression26 As NXOpen.Expression = Nothing expression26 = workPart.Expressions.CreateSystemExpressionWithUnits("p25_y=0.00000000000", unit1) Dim scalar2 As NXOpen.Scalar = Nothing scalar2 = workPart.Scalars.CreateScalarExpression(expression26, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression27 As NXOpen.Expression = Nothing expression27 = workPart.Expressions.CreateSystemExpressionWithUnits("p26_z=0.00000000000", unit1) Dim scalar3 As NXOpen.Scalar = Nothing scalar3 = workPart.Scalars.CreateScalarExpression(expression27, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim point1 As NXOpen.Point = Nothing point1 = workPart.Points.CreatePoint(scalar1, scalar2, scalar3, NXOpen.SmartObject.UpdateOption.WithinModeling) expression10.SetFormula("0") expression11.SetFormula("0") expression12.SetFormula("0") expression10.SetFormula("0.00000000000") expression11.SetFormula("0.00000000000") expression12.SetFormula("0.00000000000") expression10.SetFormula("0") expression11.SetFormula("0") expression12.SetFormula("0") expression10.SetFormula("0.00000000000") expression11.SetFormula("0.00000000000") expression12.SetFormula("0.00000000000") expression13.SetFormula("0.00000000000") expression14.SetFormula("0.00000000000") expression15.SetFormula("0.00000000000") expression16.SetFormula("0.00000000000") expression17.SetFormula("0.00000000000") expression18.SetFormula("0.00000000000") expression19.SetFormula("0.00000000000") expression20.SetFormula("0.00000000000") expression21.SetFormula("0.00000000000") expression24.SetFormula("100.00000000000") ' ---------------------------------------------- ' Dialog Begin Point ' ---------------------------------------------- Dim markId4 As NXOpen.Session.UndoMarkId = Nothing markId4 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Point") theSession.DeleteUndoMark(markId4, Nothing) Dim markId5 As NXOpen.Session.UndoMarkId = Nothing markId5 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Point") expression10.RightHandSide = "0.00000000000" expression11.RightHandSide = "0.00000000000" expression12.RightHandSide = "0.00000000000" workPart.Points.DeletePoint(point1) Dim expression28 As NXOpen.Expression = Nothing expression28 = workPart.Expressions.CreateSystemExpressionWithUnits("p10_x=0.00000000000", unit1) Dim scalar4 As NXOpen.Scalar = Nothing scalar4 = workPart.Scalars.CreateScalarExpression(expression28, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression29 As NXOpen.Expression = Nothing expression29 = workPart.Expressions.CreateSystemExpressionWithUnits("p11_y=0.00000000000", unit1) Dim scalar5 As NXOpen.Scalar = Nothing scalar5 = workPart.Scalars.CreateScalarExpression(expression29, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression30 As NXOpen.Expression = Nothing expression30 = workPart.Expressions.CreateSystemExpressionWithUnits("p12_z=0.00000000000", unit1) Dim scalar6 As NXOpen.Scalar = Nothing scalar6 = workPart.Scalars.CreateScalarExpression(expression30, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim point2 As NXOpen.Point = Nothing point2 = workPart.Points.CreatePoint(scalar4, scalar5, scalar6, NXOpen.SmartObject.UpdateOption.WithinModeling) theSession.DeleteUndoMark(markId5, Nothing) theSession.SetUndoMarkName(markId3, "Point") Try ' Expression is still in use. workPart.Expressions.Delete(expression10) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression11) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression12) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression13) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression14) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression15) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression16) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression17) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression18) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression19) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression20) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression21) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression22) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression23) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression24) Catch ex As NXException ex.AssertErrorCode(1050029) End Try workPart.MeasureManager.SetPartTransientModification() workPart.Expressions.Delete(expression9) workPart.MeasureManager.ClearPartTransientModification() theSession.DeleteUndoMark(markId3, Nothing) Dim point3 As NXOpen.Point3d = New NXOpen.Point3d(0.0, 0.0, 0.0) Dim orientation1 As NXOpen.Matrix3x3 = Nothing orientation1.Xx = 1.0 orientation1.Xy = 0.0 orientation1.Xz = 0.0 orientation1.Yx = 0.0 orientation1.Yy = 1.0 orientation1.Yz = 0.0 orientation1.Zx = 0.0 orientation1.Zy = 0.0 orientation1.Zz = 1.0 addComponentBuilder1.SetInitialLocationAndOrientation(point3, orientation1) Dim movableObjects1(1) As NXOpen.NXObject Dim component1 As NXOpen.Assemblies.Component = CType(workPart.ComponentAssembly.RootComponent.FindObject("COMPONENT tool1 1"), NXOpen.Assemblies.Component) movableObjects1(0) = component1 Dim component2 As NXOpen.Assemblies.Component = CType(workPart.ComponentAssembly.RootComponent.FindObject("COMPONENT JP181737/00.02 1"), NXOpen.Assemblies.Component) movableObjects1(1) = component2 componentNetwork1.SetMovingGroup(movableObjects1) Dim markId6 As NXOpen.Session.UndoMarkId = Nothing markId6 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Add Component") theSession.DeleteUndoMark(markId6, Nothing) Dim markId7 As NXOpen.Session.UndoMarkId = Nothing markId7 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Add Component") Dim markId8 As NXOpen.Session.UndoMarkId = Nothing markId8 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "AddComponent on_apply") componentNetwork1.Solve() componentPositioner1.ClearNetwork() Dim nErrs1 As Integer = Nothing nErrs1 = theSession.UpdateManager.AddToDeleteList(componentNetwork1) Dim nErrs2 As Integer = Nothing nErrs2 = theSession.UpdateManager.DoUpdate(markId2) componentPositioner1.EndAssemblyConstraints() Dim logicalobjects1() As NXOpen.PDM.LogicalObject addComponentBuilder1.GetLogicalObjectsHavingUnassignedRequiredAttributes(logicalobjects1) Dim nXObject1 As NXOpen.NXObject = Nothing nXObject1 = addComponentBuilder1.Commit() Dim errorList1 As NXOpen.ErrorList = Nothing errorList1 = addComponentBuilder1.GetOperationFailures() errorList1.Dispose() theSession.DeleteUndoMark(markId7, Nothing) theSession.SetUndoMarkName(markId1, "Add Component") addComponentBuilder1.Destroy() workPart.Points.DeletePoint(point2) Dim nullNXOpen_Assemblies_Arrangement As NXOpen.Assemblies.Arrangement = Nothing componentPositioner1.PrimaryArrangement = nullNXOpen_Assemblies_Arrangement theSession.DeleteUndoMark(markId2, Nothing) theSession.CleanUpFacetedFacesAndEdges() ' ---------------------------------------------- ' Menu: Assemblies->Components->Add Component... ' ---------------------------------------------- Dim markId9 As NXOpen.Session.UndoMarkId = Nothing markId9 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Start") Dim addComponentBuilder2 As NXOpen.Assemblies.AddComponentBuilder = Nothing addComponentBuilder2 = workPart.AssemblyManager.CreateAddComponentBuilder() Dim componentPositioner2 As NXOpen.Positioning.ComponentPositioner = Nothing componentPositioner2 = workPart.ComponentAssembly.Positioner componentPositioner2.ClearNetwork() componentPositioner2.PrimaryArrangement = arrangement1 componentPositioner2.BeginAssemblyConstraints() Dim allowInterpartPositioning2 As Boolean = Nothing allowInterpartPositioning2 = theSession.Preferences.Assemblies.InterpartPositioning Dim expression31 As NXOpen.Expression = Nothing expression31 = workPart.Expressions.CreateSystemExpressionWithUnits("1.0", nullNXOpen_Unit) Dim expression32 As NXOpen.Expression = Nothing expression32 = workPart.Expressions.CreateSystemExpressionWithUnits("1.0", unit1) Dim expression33 As NXOpen.Expression = Nothing expression33 = workPart.Expressions.CreateSystemExpressionWithUnits("0.0", unit1) Dim expression34 As NXOpen.Expression = Nothing expression34 = workPart.Expressions.CreateSystemExpressionWithUnits("0.0", unit2) Dim expression35 As NXOpen.Expression = Nothing expression35 = workPart.Expressions.CreateSystemExpressionWithUnits("1", nullNXOpen_Unit) Dim expression36 As NXOpen.Expression = Nothing expression36 = workPart.Expressions.CreateSystemExpressionWithUnits("1.0", unit1) Dim expression37 As NXOpen.Expression = Nothing expression37 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit1) Dim expression38 As NXOpen.Expression = Nothing expression38 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit2) Dim network2 As NXOpen.Positioning.Network = Nothing network2 = componentPositioner2.EstablishNetwork() Dim componentNetwork2 As NXOpen.Positioning.ComponentNetwork = CType(network2, NXOpen.Positioning.ComponentNetwork) componentNetwork2.MoveObjectsState = True componentNetwork2.DisplayComponent = nullNXOpen_Assemblies_Component theSession.SetUndoMarkName(markId9, "Add Component Dialog") componentNetwork2.MoveObjectsState = True Dim markId10 As NXOpen.Session.UndoMarkId = Nothing markId10 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Assembly Constraints Update") addComponentBuilder2.SetComponentAnchor(nullNXOpen_Assemblies_ProductInterface_InterfaceObject) addComponentBuilder2.SetInitialLocationType(NXOpen.Assemblies.AddComponentBuilder.LocationType.Snap) addComponentBuilder2.SetCount(1) addComponentBuilder2.SetScatterOption(True) addComponentBuilder2.ReferenceSet = "Unknown" addComponentBuilder2.Layer = -1 theSession.PdmSession.SetNativeMode(True, False) theSession.PdmSession.SetNativeMode(False, False) addComponentBuilder2.ReferenceSet = "Use Model" addComponentBuilder2.Layer = -1 Dim partstouse3(0) As NXOpen.BasePart partstouse3(0) = part1 addComponentBuilder2.SetPartsToAdd(partstouse3) Dim productinterfaceobjects3() As NXOpen.Assemblies.ProductInterface.InterfaceObject addComponentBuilder2.GetAllProductInterfaceObjects(productinterfaceobjects3) Dim markId11 As NXOpen.Session.UndoMarkId = Nothing markId11 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Start") Dim expression39 As NXOpen.Expression = Nothing expression39 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit1) Dim expression40 As NXOpen.Expression = Nothing expression40 = workPart.Expressions.CreateSystemExpressionWithUnits("p9_x=0.00000000000", unit1) Dim expression41 As NXOpen.Expression = Nothing expression41 = workPart.Expressions.CreateSystemExpressionWithUnits("p10_y=0.00000000000", unit1) Dim expression42 As NXOpen.Expression = Nothing expression42 = workPart.Expressions.CreateSystemExpressionWithUnits("p11_z=0.00000000000", unit1) Dim expression43 As NXOpen.Expression = Nothing expression43 = workPart.Expressions.CreateSystemExpressionWithUnits("p12_xdelta=0.00000000000", unit1) Dim expression44 As NXOpen.Expression = Nothing expression44 = workPart.Expressions.CreateSystemExpressionWithUnits("p13_ydelta=0.00000000000", unit1) Dim expression45 As NXOpen.Expression = Nothing expression45 = workPart.Expressions.CreateSystemExpressionWithUnits("p14_zdelta=0.00000000000", unit1) Dim expression46 As NXOpen.Expression = Nothing expression46 = workPart.Expressions.CreateSystemExpressionWithUnits("p15_radius=0.00000000000", unit1) Dim expression47 As NXOpen.Expression = Nothing expression47 = workPart.Expressions.CreateSystemExpressionWithUnits("p16_angle=0.00000000000", unit2) Dim expression48 As NXOpen.Expression = Nothing expression48 = workPart.Expressions.CreateSystemExpressionWithUnits("p17_zdelta=0.00000000000", unit1) Dim expression49 As NXOpen.Expression = Nothing expression49 = workPart.Expressions.CreateSystemExpressionWithUnits("p18_radius=0.00000000000", unit1) Dim expression50 As NXOpen.Expression = Nothing expression50 = workPart.Expressions.CreateSystemExpressionWithUnits("p19_angle1=0.00000000000", unit2) Dim expression51 As NXOpen.Expression = Nothing expression51 = workPart.Expressions.CreateSystemExpressionWithUnits("p20_angle2=0.00000000000", unit2) Dim expression52 As NXOpen.Expression = Nothing expression52 = workPart.Expressions.CreateSystemExpressionWithUnits("p21_distance=0", unit1) Dim expression53 As NXOpen.Expression = Nothing expression53 = workPart.Expressions.CreateSystemExpressionWithUnits("p22_arclen=0", unit1) Dim expression54 As NXOpen.Expression = Nothing expression54 = workPart.Expressions.CreateSystemExpressionWithUnits("p23_percent=0", nullNXOpen_Unit) expression40.SetFormula("0") expression41.SetFormula("0") expression42.SetFormula("0") expression43.SetFormula("0") expression44.SetFormula("0") expression45.SetFormula("0") expression46.SetFormula("0") expression47.SetFormula("0") expression48.SetFormula("0") expression49.SetFormula("0") expression50.SetFormula("0") expression51.SetFormula("0") expression52.SetFormula("0") expression54.SetFormula("100") expression53.SetFormula("0") theSession.SetUndoMarkName(markId11, "Point Dialog") Dim expression55 As NXOpen.Expression = Nothing expression55 = workPart.Expressions.CreateSystemExpressionWithUnits("p24_x=0.00000000000", unit1) Dim scalar7 As NXOpen.Scalar = Nothing scalar7 = workPart.Scalars.CreateScalarExpression(expression55, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression56 As NXOpen.Expression = Nothing expression56 = workPart.Expressions.CreateSystemExpressionWithUnits("p25_y=0.00000000000", unit1) Dim scalar8 As NXOpen.Scalar = Nothing scalar8 = workPart.Scalars.CreateScalarExpression(expression56, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression57 As NXOpen.Expression = Nothing expression57 = workPart.Expressions.CreateSystemExpressionWithUnits("p26_z=0.00000000000", unit1) Dim scalar9 As NXOpen.Scalar = Nothing scalar9 = workPart.Scalars.CreateScalarExpression(expression57, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim point4 As NXOpen.Point = Nothing point4 = workPart.Points.CreatePoint(scalar7, scalar8, scalar9, NXOpen.SmartObject.UpdateOption.WithinModeling) expression40.SetFormula("0.00000000000") expression41.SetFormula("0.00000000000") expression42.SetFormula("0.00000000000") expression40.SetFormula("0") expression41.SetFormula("0") expression42.SetFormula("0") expression40.SetFormula("0.00000000000") expression41.SetFormula("0.00000000000") expression42.SetFormula("0.00000000000") expression43.SetFormula("0.00000000000") expression44.SetFormula("0.00000000000") expression45.SetFormula("0.00000000000") expression46.SetFormula("0.00000000000") expression47.SetFormula("0.00000000000") expression48.SetFormula("0.00000000000") expression49.SetFormula("0.00000000000") expression50.SetFormula("0.00000000000") expression51.SetFormula("0.00000000000") expression54.SetFormula("100.00000000000") ' ---------------------------------------------- ' Dialog Begin Point ' ---------------------------------------------- expression40.SetFormula("100") workPart.Points.DeletePoint(point4) expression40.RightHandSide = "100" expression41.RightHandSide = "0.00000000000" expression42.RightHandSide = "0.00000000000" Dim expression58 As NXOpen.Expression = Nothing expression58 = workPart.Expressions.CreateSystemExpressionWithUnits("p10_x=100", unit1) Dim scalar10 As NXOpen.Scalar = Nothing scalar10 = workPart.Scalars.CreateScalarExpression(expression58, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression59 As NXOpen.Expression = Nothing expression59 = workPart.Expressions.CreateSystemExpressionWithUnits("p11_y=0.00000000000", unit1) Dim scalar11 As NXOpen.Scalar = Nothing scalar11 = workPart.Scalars.CreateScalarExpression(expression59, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression60 As NXOpen.Expression = Nothing expression60 = workPart.Expressions.CreateSystemExpressionWithUnits("p12_z=0.00000000000", unit1) Dim scalar12 As NXOpen.Scalar = Nothing scalar12 = workPart.Scalars.CreateScalarExpression(expression60, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim point5 As NXOpen.Point = Nothing point5 = workPart.Points.CreatePoint(scalar10, scalar11, scalar12, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim markId12 As NXOpen.Session.UndoMarkId = Nothing markId12 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Point") theSession.DeleteUndoMark(markId12, Nothing) Dim markId13 As NXOpen.Session.UndoMarkId = Nothing markId13 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Point") expression40.RightHandSide = "100" expression41.RightHandSide = "0.00000000000" expression42.RightHandSide = "0.00000000000" workPart.Points.DeletePoint(point5) Dim expression61 As NXOpen.Expression = Nothing expression61 = workPart.Expressions.CreateSystemExpressionWithUnits("p10_x=100", unit1) Dim scalar13 As NXOpen.Scalar = Nothing scalar13 = workPart.Scalars.CreateScalarExpression(expression61, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression62 As NXOpen.Expression = Nothing expression62 = workPart.Expressions.CreateSystemExpressionWithUnits("p11_y=0.00000000000", unit1) Dim scalar14 As NXOpen.Scalar = Nothing scalar14 = workPart.Scalars.CreateScalarExpression(expression62, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim expression63 As NXOpen.Expression = Nothing expression63 = workPart.Expressions.CreateSystemExpressionWithUnits("p12_z=0.00000000000", unit1) Dim scalar15 As NXOpen.Scalar = Nothing scalar15 = workPart.Scalars.CreateScalarExpression(expression63, NXOpen.Scalar.DimensionalityType.None, NXOpen.SmartObject.UpdateOption.WithinModeling) Dim point6 As NXOpen.Point = Nothing point6 = workPart.Points.CreatePoint(scalar13, scalar14, scalar15, NXOpen.SmartObject.UpdateOption.WithinModeling) theSession.DeleteUndoMark(markId13, Nothing) theSession.SetUndoMarkName(markId11, "Point") Try ' Expression is still in use. workPart.Expressions.Delete(expression40) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression41) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression42) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression43) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression44) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression45) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression46) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression47) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression48) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression49) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression50) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression51) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression52) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression53) Catch ex As NXException ex.AssertErrorCode(1050029) End Try Try ' Expression is still in use. workPart.Expressions.Delete(expression54) Catch ex As NXException ex.AssertErrorCode(1050029) End Try workPart.MeasureManager.SetPartTransientModification() workPart.Expressions.Delete(expression39) workPart.MeasureManager.ClearPartTransientModification() theSession.DeleteUndoMark(markId11, Nothing) Dim point7 As NXOpen.Point3d = New NXOpen.Point3d(100.0, 0.0, 0.0) Dim orientation2 As NXOpen.Matrix3x3 = Nothing orientation2.Xx = 1.0 orientation2.Xy = 0.0 orientation2.Xz = 0.0 orientation2.Yx = 0.0 orientation2.Yy = 1.0 orientation2.Yz = 0.0 orientation2.Zx = 0.0 orientation2.Zy = 0.0 orientation2.Zz = 1.0 addComponentBuilder2.SetInitialLocationAndOrientation(point7, orientation2) Dim movableObjects2(0) As NXOpen.NXObject Dim component3 As NXOpen.Assemblies.Component = CType(workPart.ComponentAssembly.RootComponent.FindObject("COMPONENT tool1 1"), NXOpen.Assemblies.Component) movableObjects2(0) = component3 componentNetwork2.SetMovingGroup(movableObjects2) Dim markId14 As NXOpen.Session.UndoMarkId = Nothing markId14 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Add Component") theSession.DeleteUndoMark(markId14, Nothing) Dim markId15 As NXOpen.Session.UndoMarkId = Nothing markId15 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Add Component") Dim markId16 As NXOpen.Session.UndoMarkId = Nothing markId16 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "AddComponent on_apply") componentNetwork2.Solve() componentPositioner2.ClearNetwork() Dim nErrs3 As Integer = Nothing nErrs3 = theSession.UpdateManager.AddToDeleteList(componentNetwork2) Dim nErrs4 As Integer = Nothing nErrs4 = theSession.UpdateManager.DoUpdate(markId10) componentPositioner2.EndAssemblyConstraints() Dim logicalobjects2() As NXOpen.PDM.LogicalObject addComponentBuilder2.GetLogicalObjectsHavingUnassignedRequiredAttributes(logicalobjects2) addComponentBuilder2.ComponentName = "TOOL1" Dim nXObject2 As NXOpen.NXObject = Nothing nXObject2 = addComponentBuilder2.Commit() Dim errorList2 As NXOpen.ErrorList = Nothing errorList2 = addComponentBuilder2.GetOperationFailures() errorList2.Dispose() theSession.DeleteUndoMark(markId15, Nothing) theSession.SetUndoMarkName(markId9, "Add Component") addComponentBuilder2.Destroy() workPart.Points.DeletePoint(point6) componentPositioner2.PrimaryArrangement = nullNXOpen_Assemblies_Arrangement theSession.DeleteUndoMark(markId10, Nothing) theSession.CleanUpFacetedFacesAndEdges() ' ---------------------------------------------- ' Menu: Tools->Journal->Stop Recording ' ---------------------------------------------- End Sub End Module