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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| vpype_gscrib-1.2.0.tar.gz | 42.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|