abey79 / vpype

The Swiss-Army-knife command-line tool for plotter vector graphics.

Home Page:https://vpype.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

New Feature: Add DM/PL as output format

OzHawk opened this issue · comments

The current implementation of vpype only allows SVG or HPGL output. To support Houston Instrument plotters that do not have HPGL compatibility mode, DM/PL format output should be added as an option for 'write' functionality.
The document "DM/PL Command Language", Houston Instruments, Copyright 1984, describes the complete language command structure/protocol.

Please try to implement this as a vpype-gcode profile. In the future, I don't plan on "hard-coding" new output format in vpype. Instead, the plan is to integrate vpype-gcode and its profiles.

I'll have a look at implementing it as you suggested. I had it implemented in parallel to the HPGL code this morning, but lost the change when I tried to commit it. Not sure where it ended up. I was trying to use gitpod to develop.
Can the vpype-gcode access the device configuration the same as the HPGL code does?
How is it best to develop, but forking my own branch, or working from your repository?

What do you mean by "device configuration"? With vpype-gcode, you can simply create a profile in a ~/.vpype.toml config file.

As for your question on developing on vpype, the best is to fork on GitHub, checkout on your computer, make a branch and commit to your fork, and the create a pull request.

The "device" configuration I was referring to is in vpype_config.toml. The differences between the HPGL devices can be configured here.

One of the significant differences between GCode and HPGL and DM/PL is the units. GCode uses real world units, where as HPGL and DM/PL use plotter units which map to real world units via a step size. How do you envisage this difference being implemented within vpype-gcode?
Thanks

You can make any number of vpype-profiles too, so you can cover multiple devices if needed.

vpype-gcode lets you specify which units you want to work with, as well as offsets and axes orientation (see this section of the readme).

One of the significant differences between GCode and HPGL and DM/PL is the units. GCode uses real world units, where as HPGL and DM/PL use plotter units which map to real world units via a step size. How do you envisage this difference being implemented within vpype-gcode? Thanks

These profiles were made for HPGL as well as non HPGL plotters. using vpype-gcode

You can use these as a base to understand what you need. They cover both non standard commands and non standard units.

Closing this as it is addressed by vpype-gcode.