yucad3d

Pline marks (GIS highlights)

Transient coloured runs and point marks along an entity's contour (CadSetPlineMark); marks are overlay chrome, never saved.

// GIS pline marks: coloured temporary highlights along a route polyline.
static void feat_plinemark() {
    samp_clear();
    CadClearVertices();
    CadAddVertex(0,0,0); CadAddVertex(40,25,0); CadAddVertex(80,5,0); CadAddVertex(120,35,0);
    int pl = CadAddPolyline(g_hDwg, CAD_PLINE_LINEAR, 0);
    CadSetPlineMark(g_hDwg, 1, pl, 10, 25, RGB(255, 60, 60), 5, 0);   // red run
    CadSetPlineMark(g_hDwg, 2, pl, 70, 30, RGB(60, 220, 60), 5, 0);   // green run
    CadAddPlineMark(g_hDwg, pl, 120, 0);                              // point mark
    CadUpdate(g_hDwg); samp_zoom_ext();
    set_status(L"CadSetPlineMark: red + green runs and a point mark along the route (transient, not saved)");
}
    4:                                            // Pline marks
      begin
        CadPurge(FhDwg, CAD_CLEAR_ENTITIES);
        CadClearVertices;
        CadAddVertex(0, 0, 0); CadAddVertex(40, 25, 0);
        CadAddVertex(80, 5, 0); CadAddVertex(120, 35, 0);
        l := CadAddPolyline(FhDwg, CAD_PLINE_LINEAR, 0);
        CadSetPlineMark(FhDwg, 1, l, 10, 25, $003C3CFF, 5, 0);   // red run  (COLORREF BGR)
        CadSetPlineMark(FhDwg, 2, l, 70, 30, $003CDC3C, 5, 0);   // green run
        CadAddPlineMark(FhDwg, l, 120, 0);                        // point mark
        CadUpdate(FhDwg); CadExecute(FhDwg, FCadHwnd, CAD_CMD_ZOOM_EXT);
        StatusBar.SimpleText := 'CadSetPlineMark: red + green runs and a point mark (transient, not saved)';
      end;
    private void FeatPlineMark()
    {
        SampleClear();
        YuCadApi.CadClearVertices();
        YuCadApi.CadAddVertex(0, 0, 0); YuCadApi.CadAddVertex(40, 25, 0);
        YuCadApi.CadAddVertex(80, 5, 0); YuCadApi.CadAddVertex(120, 35, 0);
        var pl = YuCadApi.CadAddPolyline(_hDwg, YuCadApi.CAD_PLINE_LINEAR, 0);
        YuCadApi.CadSetPlineMark(_hDwg, 1, pl, 10, 25, 0x003C3CFFu, 5, 0);   // red run   (COLORREF BGR)
        YuCadApi.CadSetPlineMark(_hDwg, 2, pl, 70, 30, 0x003CDC3Cu, 5, 0);   // green run
        YuCadApi.CadAddPlineMark(_hDwg, pl, 120, 0);                          // point mark
        YuCadApi.CadUpdate(_hDwg); SampleZoomExt();
        SetStatus("CadSetPlineMark: red + green runs and a point mark along the route (transient, not saved)");
    }
This code is extracted verbatim from the shipped demo hosts (examples/cpp, examples/delphi, examples/csharp) — run the matching menu item there to see it live.