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.