Skip to main content

A software to control my CNC

Project description

Documentation Status

SiviCNCDriver, a software to control my CNC.

Info:This is a Python program to control a CNC.
Author:Hugo LEVY-FALK
Date:2017-08
Version:0.1.9

Goal

SiviCNCDriver, as its name lets you guess, is designed to drive a CNC. What does it do ?

  • Provides a basic tool to view and edit G-Codes files. You can see which G-Code line draws which path and perform some basic edits with the preprocessor, such as finding an origin to the coordinate system which minimize the bounding box of the drawing.
  • Allows you to control manually your CNC, by :
    • Sending your own G-Codes;
    • Sending custom G-Codes so the machine performs continuous movements, or step-by-step movements;
    • Sending automatic commands so the machine performs some goings and comings and you can measure the play or the steps/mm.
  • Sends as custom G-Codes and store as JSON configuration files for your machine.

Installation

Using pip

On any operating system with a python and pip installated, use pip (you may need superuser privilege)

pip install sivicncdriver

Then you should be able to run the program with a simple:

sivicnc

You can get the development version using pip, although it is not recommended.

pip install git+git://github.com/Klafyvel/SiviCNCDriver

Binary distribution (Windows)

If, for some reasons, you can’t or don’t want to use pip, a binary is available here .

Contribute

The project has its own Git repository on GitHub.

You nill need virtualenv

pip install --user virtualenv

Create a directory in which we will work.

mkdir SiviCNCDriver
cd SiviCNCDriver

Clone the project

git clone https://github.com/Klafyvel/SiviCNCDriver.git

Then create the virtual environment

virtualenv ENV

Activate it

source ENV/bin/activate

Download the dependencies

cd SiviCNCDriver
pip install -r requirements.txt

You can code ! To test the code, run the application as package

python -m sivicncdriver

If you need to re-create the ui after editing it with QtCreator, you can use make_ui.sh or directly pyuic5.

Custom G-Codes

SiviCNCDriver uses several custom G-Codes, they may change in the future.

Command Explanation
S0 Xnnn Ynnn Znnn Perform a straight line with nnn in steps on the given axes. A negative number make the axis go backward.
S1 X Y Z Trigger continuous advancement forward on the given axes.
S2 X Y Z Trigger continuous advancement backward on the given axes.
S3 X Y Z Stop continuous advancement (if exists) on the given axes.
S5 X Y Z Set driving mode to normal on the given axes.
S6 X Y Z Set driving mode to max torque on the given axes.
S7 X Y Z Set driving mode to half steps on the given axes.
S8 Xnnn Ynnn Znnn Set the play of the given axes, with nnn in millimeters.
S9 X Y Z Set the given axes sense to reverse.
S10 X Y Z Set the given axes sense to normal.
S11 Xnnn Ynnn Znnn Set the minimal duration between two pulses for the given axes.

License

SiviCNCDriver Copyright (C) 2017 Hugo LEVY-FALK

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 GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Project details


Download files

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

Files for SiviCNCDriver, version 0.1.10
Filename, size File type Python version Upload date Hashes
Filename, size SiviCNCDriver-0.1.10.tar.gz (98.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page