vpype icon indicating copy to clipboard operation
vpype copied to clipboard

New Feature: Add DM/PL as output format

Open OzHawk opened this issue 2 years ago • 8 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.

OzHawk avatar Aug 01 '22 01:08 OzHawk

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.

abey79 avatar Aug 01 '22 08:08 abey79

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?

OzHawk avatar Aug 01 '22 09:08 OzHawk

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

abey79 avatar Aug 01 '22 09:08 abey79

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.

abey79 avatar Aug 01 '22 09:08 abey79

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

OzHawk avatar Aug 01 '22 13:08 OzHawk

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

OzHawk avatar Aug 01 '22 13:08 OzHawk

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).

abey79 avatar Aug 01 '22 15:08 abey79

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.

ithinkido avatar Aug 01 '22 17:08 ithinkido

Closing this as it is addressed by vpype-gcode.

abey79 avatar Mar 10 '23 16:03 abey79