Detailed process of rapid development of station state diagram based on floating cloud drawing SDK

When the train enters and leaves the station, it needs to monitor the status of track, turnout, annunciator and other equipment in real time, involving thousands of equipment. How to display the status of all equipment in real time, accurately and intuitively is not a small problem.

Abstract graphical station yard diagram is a mature scheme in the industry. However, the drawing and status update of thousands of graphics either have poor performance (slow refresh) or take a long time to develop or construct. How to speed up development, reduce implementation time, and run efficiently and stably? Cloud mapping gives a simple but not simple solution.


1. The floating cloud drawing is fast, which greatly shortens the construction time

The existing floating cloud drawing, based on VC + + to develop the core drawing, has good performance; The tool for drawing battlefield map supports multi selection, grouping, alignment and distribution, and supports undo, redo, cut and copy; Support grid alignment adsorption and batch setting parameters; Support scrolling, zooming and so on, which greatly improves the drawing efficiency.



2. Cloud mapping is developed rapidly, with good performance and stable operation

Integrated cloud drawing component fydc DLL and interface function declaration can quickly create components, load primitives, find primitives, and modify primitives' line, color, area, font and other properties.

You only need to associate the Title or Name of the element with your business object to synchronously update the graphic display status effect in real time. The graphical real-time state diagram of the station can be realized by coding for at least 30 minutes (the element is associated with the business object, and the element properties are updated in real time according to the state of the business object).



3. Cloud graphics SDK development kit, support friendly

Cloud graphics provides a complete SDK, including drawing editor, DLL and LIB, VC version and C# version Demo project source code, data file description, detailed steps of using SDK development, etc.

Cloud mapping sdk2 0 development kit # quickly develop the source code of various states, topology diagrams, electronic drawings, etc


VC + + interface functions are as follows:

extern "C" __declspec(dllimport) CShapeCanvas * NewFYDC();
extern "C" __declspec(dllimport) void CreateFYDC(CShapeCanvas * canvas, HWND hParentWnd, int x, int y, int w, int h);
extern "C" __declspec(dllimport) void LoadShapes(CShapeCanvas * canvas, const char* fileName);
extern "C" __declspec(dllimport) void DeleteFYDC(CShapeCanvas * canvas);

extern "C" __declspec(dllimport) void SetCanvasRect(CShapeCanvas * canvas, int left, int top, int right, int bottom);
extern "C" __declspec(dllimport) void GetCanvasRect(CShapeCanvas* canvas, int& left, int& top, int& right, int& bottom);
extern "C" __declspec(dllimport) int GetShapeCount(CShapeCanvas * canvas);
extern "C" __declspec(dllimport) CShapeElement* GetShape(CShapeCanvas* canvas, const char* type, const char* name);
extern "C" __declspec(dllimport) CShapeElement* GetShapeAt(CShapeCanvas* canvas, int index);

extern "C" __declspec(dllimport) void GetShapeType(CShapeElement* shape, wchar_t* type);
extern "C" __declspec(dllimport) void GetShapeTitle(CShapeElement* shape, wchar_t* title);
extern "C" __declspec(dllimport) void SetShapeTitle(CShapeCanvas* canvas, CShapeElement* shape, const char* title);
extern "C" __declspec(dllimport) void GetShapeName(CShapeElement* shape, wchar_t* name);
extern "C" __declspec(dllimport) void SetShapeName(CShapeCanvas* canvas, CShapeElement* shape, const char* name);

extern "C" __declspec(dllimport) int GetLineColor(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetLineStyle(CShapeCanvas* canvas, CShapeElement* shape, int style);
extern "C" __declspec(dllimport) int GetLineStyle(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetLineEndMode(CShapeCanvas* canvas, CShapeElement* shape, int mode);
extern "C" __declspec(dllimport) int GetLineEndMode(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetLineWidth(CShapeCanvas* canvas, CShapeElement* shape, int width);
extern "C" __declspec(dllimport) int GetLineWidth(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetFillColor(CShapeCanvas* canvas, CShapeElement* shape, int color);
extern "C" __declspec(dllimport) int GetFillColor(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetIsFill(CShapeCanvas* canvas, CShapeElement* shape, BOOL isFill);
extern "C" __declspec(dllimport) int GetIsFill(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetFontColor(CShapeCanvas* canvas, CShapeElement* shape, int color);
extern "C" __declspec(dllimport) int GetFontColor(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetFontType(CShapeCanvas* canvas, CShapeElement* shape, const char* fntype);
shape, int status);

extern "C" __declspec(dllimport) void SetZoom(CShapeCanvas* canvas, double zoom);
extern "C" __declspec(dllimport) double GetZoom(CShapeCanvas* canvas);
extern "C" __declspec(dllimport) void SetZoomFactor(CShapeCanvas* canvas, double factor);
extern "C" __declspec(dllimport) double GetZoomFactor(CShapeCanvas* canvas);

extern "C" __declspec(dllimport) BOOL SaveToPicture(CShapeCanvas* canvas, const char* fileName);


4. Floating cloud drawing, supporting customization and extension

Floating cloud drawing is a set of drawing framework projects with complete functions, solid bottom and good expansibility. The SDK of floating cloud graphics version 2.0 can meet many drawing projects, such as network state diagram, collection equipment state diagram, character relationship topology diagram, group organization chart, flow chart, etc.


If Party A has more personalized basic drawing elements (such as multi-point lines, special-shaped drawings, electronic components, etc.) and more professional scenes (such as circuit schematic diagram, architectural design, simulation, etc.), we can contact us for customized development. Together, we can make the drawing field better, make the information Charm more sufficient and make customers more satisfied.

Posted by fezzik on Sat, 21 May 2022 09:59:38 +0300