ArcGIS Pro 2.8 API Reference Guide
SplitAtDistance Method
Example 

ArcGIS.Core.Geometry Namespace > MultipartBuilder<T> Class : SplitAtDistance Method
The distance from the From point to insert the vertex.
True to treat the distance as a ratio (or %) of the part length.
(Optional) Specifies whether a new part is to be created when the part is split. The default value is false.
Introduces a new vertex into the last part of this polyline at a specified distance from the beginning of the polyline. For a split to happen, the split distance must be between the From and To points of the polycurve. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public int SplitAtDistance( 
   double distance,
   bool asRatio,
   bool createPart
)
Public Function SplitAtDistance( _
   ByVal distance As Double, _
   ByVal asRatio As Boolean, _
   Optional ByVal createPart As Boolean _
) As Integer

Parameters

distance
The distance from the From point to insert the vertex.
asRatio
True to treat the distance as a ratio (or %) of the part length.
createPart
(Optional) Specifies whether a new part is to be created when the part is split. The default value is false.

Return Value

The new segment index.
Exceptions
ExceptionDescription
This method or property must be called within the lambda passed to QueuedTask.Run.
The distance is less than zero.
Remarks
createPart must be FALSE for polygons. For polylines, if createPart is TRUE, the part on which the new split point falls is split into two parts with the newly added vertex serving as the end of the first part and the beginning of the second.

Split At Distance

Example
// create list of points
MapPoint startPt = MapPointBuilder.CreateMapPoint(1.0, 1.0);
MapPoint endPt = MapPointBuilder.CreateMapPoint(2.0, 1.0);

List<MapPoint> list = new List<MapPoint>();
list.Add(startPt);
list.Add(endPt);

// Builder constructors need to run on the MCT.
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
  // use the PolylineBuilder as we wish to manipulate the geometry
  using (PolylineBuilder polylineBuilder = new PolylineBuilder(list))
  {
    // split at a distance 0.75
    polylineBuilder.SplitAtDistance(0.75, false);
    // get the polyline
    Polyline p = polylineBuilder.ToGeometry();
    // polyline p should have 3 points  (1,1), (1.75, 1), (2,1)

    // add another path
    MapPoint p1 = MapPointBuilder.CreateMapPoint(4.0, 1.0);
    MapPoint p2 = MapPointBuilder.CreateMapPoint(6.0, 1.0);
    MapPoint p3 = MapPointBuilder.CreateMapPoint(7.0, 1.0);
    List<MapPoint> pts = new List<MapPoint>();
    pts.Add(p1);
    pts.Add(p2);
    pts.Add(p3);

    polylineBuilder.AddPart(pts);
    p = polylineBuilder.ToGeometry();

    // polyline p has 2 parts.  Each part has 3 points

    // split the 2nd path half way - dont create a new path
    polylineBuilder.SplitPartAtDistance(1, 0.5, true, false);

    p = polylineBuilder.ToGeometry();

    // polyline p still has 2 parts; but now has 7 points 
  }
});
Requirements

Target Platforms: Windows 10, Windows 8.1

See Also

Reference

MultipartBuilder<T> Class
MultipartBuilder<T> Members