13 Sep

Inkscape and Plotters, the 3rd

And the saga continues!!!

After my extension was officially bundled with Inkscape 0.91 i added a couple of new features which will be released with the upcoming release Inkscape 0.92. If you are impatient just download the newest “Developer Version”.

See two related posts here: Inkscape and Plotters, the 2nd and Your (Cutting) Plotter and Inkscape.

Added support for Pen Plotters with multiple colors

This is a neat feature for old pen plotters supporting multiple pens (Colors, thicknesses, etc.), so you can produce colorful drawings for… whatever. Honestly i don’t know why someone would use Pen Plotters today anyway, but since this feature was requested multiple times i added it. I had to refactor quite a lot of code to get this to work.

To use it you have to create a layer for each pen number (HPGl doesn’t support color or anything, just pen numbers corresponding to pen slots on the plotter), and name the layer something like “Pen 1” or “MyCoolLayerName Pen 1” or “Bla Pen 1 Bla”.
The number after “Pen” is the pen slot to use, and if you write something besides the pen information it has to be separated by a space character.
Now just put the portion of your drawing you want to use this pen with in the according layer and you are done.

Added support for a very small fraction of plotters (I think less than 1%) not working with standard serial settings (8bits, 1stopbit)

This may be confusing for newbees and i hope they read the help texts for these commands by hovering over the settings, but apparently there are some plotters (in 3 years i supported users with multiple problems i only encountered one!) that don’t use standard settings for “Byte size”, “Stop bits” and “Parity”, so i had to add these settings in the “Connection Settings” tab.


Ideas for new features / needed changes (Thanks for the suggestions added by users!)

  • Add support for “window” type plotters (Like the NEON Plotter) that can only plot in Xcm wide parts: NEON Plotter
  • Add a option to plot a box around the drawing to make weeding easier.
  • Scale Overcut and Tool offset correction separate for each axis, atm it is done by a common scale factor. some thought has to be put into this.
  • Change the cutting order from smallest to biggest parts to avoid stripped off parts of small text characters. This could impact CPU performance.
  • Preview functionality. The extension is prepared for it, but it needs support from the Inkscape side (C/C++) i cannot provide. Help from a C++ programmer would be greatly appreciated!
  • Make use of a measurement feature of Roland plotters to determine if the used workpiece is big enough for the plot before starting the plot. Since i don’t have a Roland plotter i need someone to test my code.
  • Add option to set final point to move to above drawing instead of 0 point, to allow to cut of the piece of vinyl with the drawing instantly and plot again.

If you want more features or have problems leave me a comment below.

Have Fun!

98 thoughts on “Inkscape and Plotters, the 3rd

  1. I saw in your first iteration of this extension (Way back in Inkscape 0.47) I saw you had the option to tell it to start the cut at a specific X, Y Coordinate. I.e. If I didn’t want it to start cutting right at 0,0 I could tell it to offset the cut by 1 inch on the X or Y axis. How can I do that with the most recent iteration of the extension? Other than that one issue, this has worked great for me! It is MUCH better than using the default software that comes bundled with the USCutter devices.

    • Hi, the offset settings was removed because it became obsolete with another feature i added. To achieve what you want untick the “Auto align” feature in the “Plot Features” tab, from now on the extension will use the documents (x and y) 0 point instead of moving the drawings to the plotters 0 point. now you can move your drawing however far from your documents 0 point to achieve your offset. but be aware that parts that are not inside the documents bounds will be cut off.

      • That did the trick perfectly, thank you! Two follow up questions

        1) I saw for the next release you hope to enable the ability to advance the cutter rather than returning to origin. I don’t suppose there’s a version of that ready to download off github or anything (Or do you have a github / source code repository in general?

        2) What are your thought on making some tweaks to the interface? Specifically, it would be nice if I could have an option to automatically close the menu after sending the SVG off to the plotter. It would also be nice if instead of “Apply” it said something like “Plot”. The first couple cuts I did were by accident when I thought I was saving my settings, lol.

        Regardless I’m very happy with being able to use my MH721 straight from Inkscape now! Thank you for your work on this!

  2. I just bought an HP 7550 to simulate handwritten thank-you notes for the charity I work for. Your extension works great as it allows me to simulate a hand signature on a laser printed letter. I have a few questions:
    1. The force setting doesn’t seem to work in the software or the hardware. If I set the force to the max on the front panel it just goes back to the default (2) can this be fixed?
    2. The paper doesn’t eject automatically after I plot can this feature be added? My work around is to store the plot in the HP 7550 make 100 copies and it will auto eject
    3. Do you know if a way I can mail merge a person’s name into my plot? Doesn’t seem to be a way to do this.

  3. Thank you for creating this extension! I’m trying to talk to a Roland Camm-1 CX-24 over /dev/ttyUSB0 using Inkscape 0.92 on Ubuntu 18.04.

    I am getting this error:

    File “plotter.py”, line 268, in
    File “/snap/inkscape/4693/share/inkscape/extensions/inkex.py”, line 283, in affect
    File “plotter.py”, line 98, in effect
    File “plotter.py”, line 154, in sendHpglToSerial
    mySerial = serial.Serial()
    AttributeError: ‘module’ object has no attribute ‘Serial’

    Any ideas on how I can overcome this?


    • Seems like your trying to print to the actual usb device, instead of the serial port it emulates, try looking for another serial port added to your system under dev.

  4. I am trying to use Inkscape to design and vinyl cut/plot stickers for my van. I am using a vinyl express R series ii machine and I do not seem to have this extension in Inkscape. I just downloaded the latest inkscape but I am not sure how to proceed. Would love to not be tied to the manufacturers software. Any suggestions? Thank you

  5. Hello TW,

    First let me say this looks like an awesome extension.

    The background: my wife nagged me to buy her a Cricut as she uses one at her place of work – “greatest thing since sliced bread”. Possibly, if you’re prepared to be connected to the internet all day. So it’s going back.

    The question: is there a list of supported/working devices for the Plot extension?

    Obviously I need to replace the Cricut!

  6. Hi,

    I do not see any port settings for the plotter when in HPGL save mode, but other plotter settings. I copied the serial folder into python2.7/lib but I also tried making inkcut work, too, and I did download, install, copy a ton of stuff so I am not sure if that is messing with it? I did try with the plotter connected and not.

Leave a Reply to Matthew Bennett Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.