public static void FindPositionMark(Editor ed)
{
int desiredPos = GetDesiredPositionNumberFromUser();
List<Point3d> objectPos = GetBlockReferencesWithDesiredPosition(desiredPos);
for (int i = 0; i < objectPos.Count;)
{
Point3d posMark = objectPos[i];
AuxiliaryUtilities.ViewUtilities.ZoomExtents(posMark);
PromptKeywordOptions keyOpts = new PromptKeywordOptions("\nПерейти к: ");
if (i > 0)
{
keyOpts.Keywords.Add("Prev", "Предыдущему");
}
if (i < objectPos.Count - 1)
{
keyOpts.Keywords.Add("Next", "Следующему");
keyOpts.Keywords.Default = "Next";
}
else
{
keyOpts.Keywords.Default = "Prev";
}
keyOpts.Keywords.Add("Exit", "Выход");
keyOpts.AllowNone = true;
keyOpts.Message += keyOpts.Keywords.GetDisplayString(false);
PromptResult keyRes = ed.GetKeywords(keyOpts);
if (keyRes.Status != PromptStatus.OK || keyRes.StringResult == "Exit") break;
switch (keyRes.StringResult)
{
case "Prev":
i--;
break;
case "Next":
i++;
break;
}
}
}