Public Shared Sub TakeSplineMakeBKS() ' auf Editro des aktiven Dokuments zugreifen: Dim editor As Editor = _AcAp.Application.DocumentManager.MdiActiveDocument.Editor Dim SplineStartPunkt As New Point3d Dim NormaleStart As New Vector3d Dim SenkrechteStart As New Vector3d Dim SenkrechteStart90deg As New Vector3d Try ' Eingabeaufforderung: Spline wählen Dim peo As New PromptEntityOptions(vbLf & "Select a Spline") peo.SetRejectMessage("Not a Spline!") peo.AddAllowedClass(GetType(Spline), True) Dim per As PromptEntityResult = editor.GetEntity(peo) If (per.Status = PromptStatus.OK) Then Using action As Transaction = HostApplicationServices.WorkingDatabase.TransactionManager.StartTransaction Dim Spline02 As Spline = TryCast(Action.GetObject(per.ObjectId, OpenMode.ForWrite), Spline) If (Not Spline02 Is Nothing) Then SplineStartPunkt = Spline02.GetPointAtDist(0) NormaleStart = Spline02.GetFirstDerivative(SplineStartPunkt) SenkrechteStart = NormaleStart.GetPerpendicularVector SenkrechteStart90deg.RotateBy(90, SenkrechteStart) Call CreateUCS(SplineStartPunkt, SenkrechteStart, SenkrechteStart90deg) '' Test, ob auf Spline zugegriffen werden kann: 'Dim Punkt As New DBPoint(SplineStartPunkt) 'AddToModelSpace(New Entity() {Punkt}) '_AcAp.Application.ShowAlertDialog(("Handle is " & Spline02.Handle.ToString)) End If action.Commit() End Using End If Catch ex As System.Exception _AcAp.Application.ShowAlertDialog(String.Format(vbLf & "Error: {0}" & vbLf & "StackTrace: {1}", ex.Message, ex.StackTrace)) End Try End Sub