var api = Studio.GetInstance();
api.Init();
var project = api.OpenProject($"{myProjectPath}");
var wsp = project.GetVariants().FirstOrDefault()?.GetWorkspaces().FirstOrDefault(w => w.Name.Contains("MyWorkspace"));
wsp.Open(false, false);
var cp = wsp.GetAllOccurrences().FirstOrDefault(o => o.Name == "cp_1") as IControlPoint;
var cp2 = wsp.GetAllOccurrences().FirstOrDefault(o => o.Name == "cp_2") as IControlPoint;
var tray = wsp.GetAllOccurrences().FirstOrDefault(o => o.Name == "tray_1") as IOccCableTray;
wsp.RoutePathSegment(cp, cp2, new[] { tray });
wsp.Save();
wsp.Close();
project.Save();
project.Close();