private static void CreateSplittedLines(IStep step, IFilter filter, IODBObject evtlLine2, ILineSpecificsD line2, PointD pDest, ref List <IODBObject> selectedElements) { PointD lastEnd = line2.End; line2.End = pDest; if (Math.Abs(IMath.DistancePointToPoint(line2.End, line2.Start)) < errorLevel) { line2.End = lastEnd; line2.Start = pDest; if (Math.Abs(IMath.DistancePointToPoint(line2.End, line2.Start)) > errorLevel) { evtlLine2.SetSpecifics(line2); } else { Debug.WriteLine("Line with length 0!"); } } else { evtlLine2.SetSpecifics(line2); ILayer parentLayer = step.GetLayer(evtlLine2.GetParentLayerName()); if (parentLayer != null) { IODBObject line2Part2 = filter.CreateLine((IODBLayer)parentLayer); line2.End = lastEnd; line2.Start = pDest; line2Part2.SetSpecifics(line2); selectedElements.Add(line2Part2); } } }