ループ状のポリラインの開始点をインデックスで指定する。

矢印の座標を開始地点にする。

ポリラインのポイントの並びを変え、Sort SOPのPoint Sort: By Vertex Orderで整えたもの。
//
// 連環するポリラインの特定の場所を始点とする
// input0: polyline
// input1: point等
// RunOver: Primitives
//
// 始点とする座標
vector pos = point(1, "P", 0);
int npt = nearpoint(0, pos);
// 最初のインデックスにするポイントを探す
int startIndex = -1;
int pts[] = primpoints(0, @primnum);
for(int i = 0; i < len(pts); i++)
{
if(pts[i] == npt)
startIndex = i;
}
// 頂点をポリラインからすべて除外する
int vertices[] = primvertices(0, @primnum);
for(int i = 0; i < len(vertices); i++)
removevertex(0, vertices[i]);
// ポリラインを再構成する
for(int i = startIndex; i < len(pts); i++)
{
addvertex(0, @primnum, pts[i]);
}
for(int i = 0; i <= startIndex; i++)
{
addvertex(0, @primnum, pts[i]);
}