' ---------------------- START nx_api4580 ' This only allows for one line of replacement text. ' Your dimension will now have Manual Text ' Option Strict Off Imports System Imports NXOpen Imports NXOpenUI Imports NXOpen.UI Imports NXOpen.UF Imports NXOpen.Annotations Module modify_dimension_text Sub Main() Dim theSession As Session = Session.GetSession() Dim dim1 As Dimension While select_a_dimension("Bemassung auswählen", dim1) = Selection.Response.Ok Dim UserInputString As String = "" Dim initialString As String = "Manuellen Masswert eingeben" UserInputString = NXInputBox.GetInputString("Masswert eingeben:", "User Input:", initialString) Dim newText() As String = {UserInputString} Dim markId1 As NXOpen.Session.UndoMarkId markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "SetDimText") dim1.SetDimensionText(newText) Dim nErrs1 As Integer = theSession.UpdateManager.DoUpdate(markId1) End While End Sub Function select_a_dimension(ByVal prompt As String, ByRef obj As Dimension) Dim ui As UI = GetUI() Dim mask(0) As Selection.MaskTriple With mask(0) .Type = UFConstants.UF_dimension_type .Subtype = 0 .SolidBodySubtype = 0 End With Dim cursor As Point3d = Nothing Dim resp As Selection.Response = _ ui.SelectionManager.SelectObject(prompt, prompt, _ Selection.SelectionScope.AnyInAssembly, _ Selection.SelectionAction.ClearAndEnableSpecific, _ False, False, mask, obj, cursor) If resp = Selection.Response.ObjectSelected Or _ resp = Selection.Response.ObjectSelectedByName Then Return Selection.Response.Ok Else Return Selection.Response.Cancel End If End Function Public Function GetUnloadOption(ByVal dummy As String) As Integer GetUnloadOption = UFConstants.UF_UNLOAD_IMMEDIATELY End Function End Module ' ---------------------- END