IWxWorkspace.CreateCurveLink

Синтаксис Fore

CreateCurveLink: IwxCurveLink;

Синтаксис Fore.NET

CreateCurveLink(): Prognoz.Platform.Interop.Andy.IWxCurveLink;

Описание

Метод CreateCurveLink создает скругленную линию на рабочем пространстве.

Комментарии

Для того, чтобы созданная линия стала скругленной необходимо вручную соединить ее с двумя точками фигуры.

Пример Fore

Для выполнения примера в репозитории предполагается наличие рабочего пространства с идентификатором «WorkSpace», содержащего несколько фигур.

Добавьте ссылки на системные сборки: Andy, Drawing, Metabase.

Sub userproc;
Var
    mb: IMetabase;
    Wsp: IWxWorkspace;
    Shape: IWxShape;
    CLink: IWxCurveLink;
    First, Last: IGxPointF;
Begin
    // Получаем рабочее пространство
    mb := MetabaseClass.Active;
    wsp := mb.ItemById("Workspace").Edit As IWxWorkspace;
    // Получаем фигуру и координаты двух точек
    Shape := wsp.Shapes.Item(0);
    If Shape.ConnectionPointsCount >= 2 Then
    First := Shape.ConnectionPoints(0);
    Last := Shape.ConnectionPoints(1);
    // Создаем скругленную линию, которая соединяет первую
    // и вторую точку
    CLink := wsp.CreateCurveLink;
    CLink.FirstPoint := First;
    CLink.LastPoint := Last;
    End If;
    //Сохраняем изменения
    (Wsp As IMetabaseObject).Save;
End Sub userproc;

В результате выполнения примера создается прямая линия от первой соединительной точки объекта до второй. Для того, чтобы линия стала скругленной необходимо вручную соединить линию с фигурой.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Andy;
Imports Prognoz.Platform.Interop.Drawing;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    Wsp: IWxWorkspace;
    Shape: IWxShape;
    CLink: IWxCurveLink;
    First, Last: GxPointF;
Begin
    // Получаем рабочее пространство
    mb := Params.Metabase;
    wsp := mb.ItemById["Workspace"].Edit() As IWxWorkspace;
    // Получаем фигуру и координаты двух точек
    Shape := wsp.Shapes.Item[0];
    If Shape.ConnectionPointsCount >= 2 Then
    First := Shape.ConnectionPoints[0];
    Last := Shape.ConnectionPoints[1];
    // Создаем скругленную линию, которая соединяет первую
    // и вторую точку
    CLink := wsp.CreateCurveLink();
    CLink.FirstPoint := First;
    CLink.LastPoint := Last;
    End If;
    //Сохраняем изменения
    (Wsp As IMetabaseObject).Save();
    End Sub;

См. также:

IWxShape