Pigaso - SVG to gcode coverter

For about a month I've been working on a SVG parser, which translates the SVG primitves to gcode, for the use with 3d printer. I started developing the Pigaso so I can easly plot PCBs with my 3D printer. Unfortunately for me, there wasn't any application, which would easily enable me to generate gcode from SVG image, or any image in that matter. So I though of making my own application to do just that. My main goal, is to develop a converted which is easy to use, and specialized for generating gcode, no hacking required. Continue reading for a demonstration.


As of now the application has the following features:

  • Nearly all primitves of SVG can be drawn
  • Transformations like scale, rotate, translate, matrix have been implemented
  • GUI for rearrenging the object on the platform
  • Recursive best effort longest path searching algorithm

There are still many features I would like to implement and I belive are quite mandatory for succesful project:

  • Filling
  • Support line width, could be viewed as filling algorithm
  • Automatic line invisibility test (detect where lines shouldn't be visible
  • Scaling of the image
  • Construct gcode from not only vector graphics images, but also from rastra, like JPEG, GIF, PNG.
  • Improved longest path algorithm, for example use djekstra algorithm to find the longest path
  • Construct a new algorithm to detect the shortest path between multiple elements
  • Support of multiple pictures in one workspace

The application is written in C++ with Qt framework, which enables it to be compiled basically on any OS available. So no worries, I won't be discriminating against linux or mac users.

Soon I'll publish the projects source in one of the open source version control systems, like sourceforge or github. Until then you can enjoy the video of the Pigaso generated gcode in action:

Source code is available on github

 



Related Articles



ADVERTISEMENT

  • Sritoma

    Sritoma in Implementing pulse oximeter using MAX30100

    Hi Raivis, I saw your post regarding max30100 but the same code when i am running in my arduino ide with max30100 sensor, everytime i am getting the following error while compiling is: 'pulseoxymeter_t' was not declared in this scope. Also i...

    Sritoma

    Sritoma in Implementing pulse oximeter using MAX30100

    Hi Raivis, I saw your post regarding max30100 but the same code when i am running in my arduino ide with max30100 sensor, everytime i am getting the following error while compiling is: 'pulseoxymeter_t' was not declared in this scope. Also i...

    Sritoma

    Sritoma in Implementing pulse oximeter using MAX30100

    Hi Raivis, I saw your post regarding max30100 but the same code when i am running in my arduino ide with max30100 sensor, everytime i am getting the following error while compiling is: 'pulseoxymeter_t' was not declared in this scope. Also i...

    Bogdan

    Bogdan in Implementing pulse oximeter using MAX30100

    Hello and big thumbs up for the explanations and also for FlexiPlot! I am trying to run your sketch with a MAX30102 board, but unfortunately the RED led doesn't not light up. Do you have any idea why this IC does not...

    Bogdan

    Bogdan in Implementing pulse oximeter using MAX30100

    Hello and big thumbs up for the explanations and also for FlexiPlot! I am trying to run your sketch with a MAX30102 board, but unfortunately the RED led doesn't not light up. Do you have any idea why this IC does not...

    Bogdan

    Bogdan in Implementing pulse oximeter using MAX30100

    Hello and big thumbs up for the explanations and also for FlexiPlot! I am trying to run your sketch with a MAX30102 board, but unfortunately the RED led doesn't not light up. Do you have any idea why this IC does not...

    Learning2code

    Learning2code in Adding file attachments to SMTP client for Qt5

    Hi, yes now it's working... So the mainwindows.cpp now looks like:  void MainWindow::FreeSmtp(Smtp* smtp){ delete...