Software development in C++
Project detail
We are looking for a software engineer (C++) with experience of working in the CNC and automation industries to produce a windows application GUI for interfacing with either the Planet CNC USB or Eding motion controller. Both Planet CNC (www.planet-cnc.com) and Eding (www.edingcnc.com) offer an API and software developers kit for their controller.
The application to be created would require, direct importing of various graphical file formats, such as, DXF, Ai, EPS, CDR PNG BMP JPEG as well as a windows printer driver, where users can “print” directly from an external graphics package.
When printing from an external graphics package, the software would open automatically (if not already running) and display a preview of the sent design. Files directly imported would also be shown in a preview.
Users would be able to set cutting parameter variables for each colour (of lines/entities) within their designs, and machine processing order by colour of the entity within the sent design.
A materials database, where the user can choose from a list of pre-defined materials and their respective settins would also be a requirement, in addition to a seperate menu for the manual entering of cutting parameters.
Both vector and raster information would be displayed in the preview, and the software would be capable of interpreting fill an line weights within the drawings.
There would be the functionality to dither images for laser engraving, with options for inversion of image (black-white) and dither dot size.
A password protected menu would allow access to machine set up and motor/motion variables; these settings are numerous.
A file history would be displayed where users can re-process past jobs, with the option to delete if necessary in addition to a “one-job-memory” where only the last job processed is displayed.
Existing applications, such as light burn (www.lightburnsoftware) are available as a reference for our requirements, however this application would be greatly simplified with no drawing capability, only offering the parameters required for setting up jobs.
A clean user interface, fully branded to our machine range, and simplified user operating environment within the program is essential, setings and machine parameters should be available within panels, or tabs to simplify the user experience.
A full and detailed brief can be written upon request, and any questions will be answered promptly.