Skip to main content

G-Code generator for Vpype

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vpype_gscrib-1.2.0.tar.gz (42.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vpype_gscrib-1.2.0-py3-none-any.whl (86.2 kB view details)

Uploaded Python 3

File details

Details for the file vpype_gscrib-1.2.0.tar.gz.

File metadata

  • Download URL: vpype_gscrib-1.2.0.tar.gz
  • Upload date:
  • Size: 42.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vpype_gscrib-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d9cc77d1cccb02a577fd94a228cea9b038eaae4f759dec85f2fad945c8bf19b2
MD5 41fc7643b61ea47657fc82531fadd678
BLAKE2b-256 d3d3a6ada1f2f2d052f9a5de3943d363d82e3883e2742f92a95cdb02be4349d1

See more details on using hashes here.

File details

Details for the file vpype_gscrib-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: vpype_gscrib-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 86.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vpype_gscrib-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aef36ea5008f045176e6b62314a44be8bd97956edc439d4dfdef4844e02d323d
MD5 8589a63b9abc8853f3c2db4ed143df82
BLAKE2b-256 ab8b636d5b072c26016b859b48573156753daffb5c3ff295b98e19f976356940

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page