Skip to main content

PyPI version Python versions Downloads codecov License

Vpype-Gscrib: G-Code Plugin for Vpype

Plug-in that adds G-code generation capabilities to vpype.

This plugin allows you to convert vector graphics into G-code commands suitable for CNC machines, plotters, and other G-code compatible devices. This plugin processes a vpype document and generates G-Code from it using the Gscrib library. The ouput can be sent to the teminal, a file or to a connected device using Gscrib's direct write mode.

Features

  • Convert vector paths to optimized G-code
  • Support for multiple tool types (marker, spindle, beam, blade, extruder)
  • Configurable machine parameters (speeds, power levels, spindle settings)
  • Automatic and manual tool change support
  • Coolant control (mist/flood)
  • Bed control (heat/cool down)
  • Fan speed control (on/off)
  • Customizable units (metric/imperial)
  • Use heightmaps for Z height compensation
  • Per-layer configuration support via TOML files

Documentation

Documentation for the latest version of the project can be found at Read the Docs.

Examples

Here are some common usage examples:

# Basic G-code generation from an SVG file
vpype read input.svg gscrib --output=output.gcode

# Specify custom length units
vpype read input.svg gscrib --length-units=inches --output=output.gcode

# Load per layer rendering configurations from a file
vpype read input.svg gscrib --config=config.toml --output=output.gcode

# A more complete example using Vpype to optimize the G-Code output

vpype \
  read input.svg \
  linemerge --tolerance=0.5mm \
  linesimplify --tolerance=0.1mm \
  reloop --tolerance=0.1mm \
  linesort --two-opt --passes=250 \
  gscrib --config=config.toml --output=output.gcode

Installation

Before you begin, ensure Vpype is installed by following the official installation guide. Once Vpype is installed, you can install the latest version of Vpype-Gscrib by running:

pipx inject vpype vpype-gscrib

Verify the installation by running:

vpype gscrib --help

Development setup

Here is how to clone the project for development:

$ git clone https://github.com/joansalasoler/vpype-gscrib.git
$ cd vpype-gscrib

Create a virtual environment:

$ python3 -m venv venv
$ source venv/bin/activate

Install vpype-gscrib and its dependencies (including vpype):

$ pip install --upgrade pip
$ pip install -e .
$ pip install -r requirements.txt
$ pip install -r requirements.dev.txt

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the LICENSE file for more details.

Metadata

Release files for vpype-gscrib 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vpype-gscrib 1.2.0
File Size Uploaded
vpype_gscrib-1.2.0.tar.gz 42.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vpype-gscrib 1.2.0
File Interpreter ABI Platform
vpype_gscrib-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 128.2 kB

Release files / vpype_gscrib-1.2.0.tar.gz

Download URL vpype_gscrib-1.2.0.tar.gz
Size 42.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d9cc77d1cccb02a577fd94a228cea9b038eaae4f759dec85f2fad945c8bf19b2
BLAKE2b-256 checksum
How to use checksums
d3d3a6ada1f2f2d052f9a5de3943d363d82e3883e2742f92a95cdb02be4349d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / vpype_gscrib-1.2.0-py3-none-any.whl

Download URL vpype_gscrib-1.2.0-py3-none-any.whl
Size 86.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aef36ea5008f045176e6b62314a44be8bd97956edc439d4dfdef4844e02d323d
BLAKE2b-256 checksum
How to use checksums
ab8b636d5b072c26016b859b48573156753daffb5c3ff295b98e19f976356940
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page