Imports System Imports NXOpen Imports NXOpen.UF Module pnts_on_crv 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 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) 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) 'scalar.Value = i / (n_pnt - 1) ' Punkt auf der Kurve anlegen, scalar ist Parameter 'Dim nx_pnt As Point = wp.Points.CreatePoint(CType(crv, IBaseCurve), scalar, SmartObject.UpdateOption.WithinModeling) ' Punkt auf der Kurve anlegen, scalar ist prozentuale Länge 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) sess.UpdateManager.AddToDeleteList(scalar) 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