Imports System Imports NXOpen Imports NXOpen.UF Module pp_02 Dim sess As Session = Session.GetSession() 'Dim ufs As UFSession = UFSession.GetUFSession Dim wp As Part = sess.Parts.Work Dim sm As Selection = UI.GetUI.SelectionManager Dim lw As ListingWindow = sess.ListingWindow Sub Main() Dim undomark As Session.UndoMarkId = sess.SetUndoMark(Session.MarkVisibility.Visible, "create points") Dim n_pnt As Integer = 100 Dim crv As NXObject = select_curve() If Not crv Is Nothing Then Dim nullscalar As Scalar = wp.Scalars.CreateScalar(0, Scalar.DimensionalityType.Length, SmartObject.UpdateOption.WithinModeling) Dim ref_pnt As Point = wp.Points.CreatePoint(CType(crv, IBaseCurve), nullscalar, SmartObject.UpdateOption.WithinModeling) Dim test2(n_pnt - 1) As Double Dim messp As Point For i As Integer = 0 To n_pnt - 1 Dim scalar As Scalar = wp.Scalars.CreateScalar(i / (n_pnt - 1), scalar.DimensionalityType.Length, SmartObject.UpdateOption.WithinModeling) Dim nx_pnt As Point = wp.Points.CreatePoint(CType(crv, IBaseCurve), ref_pnt, scalar, PointCollection.AlongCurveOption.Percent, Sense.Forward, SmartObject.UpdateOption.WithinModeling) nx_pnt.SetVisibility(SmartObject.VisibilityOption.Visible) 'nx_pnt.SetName("p_" & i + 1) messp = nx_pnt Dim test1(n_pnt - 1) As Double test1(i) = nx_pnt.Coordinates.X.ToString("F6") test2 = test1 lw.Open() lw.WriteLine(test1(i)) sess.UpdateManager.AddToDeleteList(scalar) Next i Array.Sort(test2) For i As Integer = 0 To n_pnt - 1 lw.Open() lw.WriteLine(test2(i)) Next i sess.UpdateManager.AddToDeleteList(nullscalar) End If sess.UpdateManager.DoUpdate(undomark) End Sub Private Function select_curve() As NXObject Dim type_arr() As Selection.SelectionType = {Selection.SelectionType.CurvesAndEdges} Dim obj As NXObject = Nothing Dim cursor As Point3d Dim sel_resp As Selection.Response = sm.SelectObject("Select a Curve", _ "Select Curve", Selection.SelectionScope.AnyInAssembly, _ False, type_arr, obj, cursor) If sel_resp < 4 Then Return Nothing Else Return obj End If End Function Public Function GetUnloadOption(ByVal dummy As String) As Integer Return Session.LibraryUnloadOption.Immediately End Function End Module