Skip to main content

Streaming video data via networks

Project description

NCParse (Formally GCodeParser)

Python library to parse GCode into its components

About

GCode Parser was originally packed into my newest project CNClingish. However, I thought it would be just as useful by itself.

Install

Install via pip

python3 -m pip install NCParse

pip Page

Code Sample

file = '../test.nc'

dirname = os.path.dirname(__file__)
filename = os.path.join(dirname, file)
with open(filename, 'r') as f:
    for line in f:
        line = line.strip()
        if not line.startswith('(') and not line.startswith('%') and len(line) > 0:
            print('> ' + line)
           GCode.parse_line(line)

The above code will take a .nc file, look at each line, and run it through parse_line method of the GCode class and split it into its components.

Sample Ouput

the non-indented lines are the original line of code passed into the parser. The indented code are each of the parsed commands with their letter, number, and coordinates (if provided)

> T1 M06 (Select tool 1) ;
        T 1
        M 06
> G00 G90 G40 G49 G54 (Safe startup) ;
        G 00
        G 90
        G 40
        G 49
        G 54
> G00 X0 Y0 (Rapid to 1st position) ;
        G 00 (0, 0, 0)
> S1000 M03 (Spindle on CW) ;
        S 1000
        M 03
> G43 H01 Z0.1 (Tool offset 1 on) ;
        G 43
        H 01 (0, 0, 0.1)
> M08 (Coolant on) ;
        M 08
> G12 I0.75 F10. Z-1.2 D01 (Finish pocket CW) ;
        G 12
        I 0.75
        F 10. (0, 0, -1.2)
        D 01
> G00 Z0.1 (Retract) ;
        G 00 (0, 0, 0.1)
> G00 Z0.1 M09 (Rapid retract, Coolant off) ;
        G 00 (0, 0, 0.1)
        M 09
> G53 G49 Z0 M05 (Z home, Spindle off) ;
        G 53
        G 49 (0, 0, 0)
        M 05
> G53 Y0 (Y home) ;
        G 53 (0, 0, 0)
> M30 (End program) ;
        M 30

TODO

  • Implement parsing for if statements used by some machines (HAAS)
  • Clean-up

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

NCPrase-0.0.13.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

NCPrase-0.0.13-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file NCPrase-0.0.13.tar.gz.

File metadata

  • Download URL: NCPrase-0.0.13.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.6 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

File hashes

Hashes for NCPrase-0.0.13.tar.gz
Algorithm Hash digest
SHA256 6a0b145229047f710b39848db8662d0fd780d67f7c813b6ff66b89b2ca1699d0
MD5 f924445584de6b1fe2f6be5b54f24b0c
BLAKE2b-256 5fa74c2f79e56f36f0ca6e6555bd24a7891d9faa02b1d5087630748abd4eb235

See more details on using hashes here.

File details

Details for the file NCPrase-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: NCPrase-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 2.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.6 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

File hashes

Hashes for NCPrase-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 d1cd711f48727c5a511a19b5bb10917b6870746b591a5291d20e281583093682
MD5 e688796636e6a0e74c77baf10c1ef13a
BLAKE2b-256 7f61b9b3d1d40e8d6a3841778ea4c1128985d2af82029634dcc0b994042c3766

See more details on using hashes here.

Supported by

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