https://github.com/mythagel/nc_tools
A collection of composable CNC/CAM GCode tools
https://github.com/mythagel/nc_tools
cam-gcode cnc gcode
Last synced: about 1 month ago
JSON representation
A collection of composable CNC/CAM GCode tools
- Host: GitHub
- URL: https://github.com/mythagel/nc_tools
- Owner: mythagel
- License: gpl-3.0
- Created: 2014-12-27T01:08:19.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2022-04-25T09:24:54.000Z (almost 4 years ago)
- Last Synced: 2023-04-05T10:37:55.075Z (almost 3 years ago)
- Topics: cam-gcode, cnc, gcode
- Language: C++
- Homepage: http://mythagel.github.io/nc_tools/
- Size: 737 KB
- Stars: 16
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
nc_tools
========
A collection of composable CNC/CAM GCode tools.
```
$ cat robot2.ngc | nc_backplot
```

Implemented utilities
=====================
* [nc_backplot](http://mythagel.github.io/nc_tools/nc_backplot/)
* display a backplot of the incoming gcode
* [nc_model](http://mythagel.github.io/nc_tools/nc_model/)
* generate a 3d model of the incoming gcode, given tools and stock
* [nc_rename_axis](http://mythagel.github.io/nc_tools/nc_rename_axis/)
* rename an axis, a=> is delete, a=>b is rename, a<=>b is swap
* nc_bounds
* bounding box of gcode or .off model
* nc_transform
* transform / rotate stock for next operation
* nc_transform -a 45 -b 45 -x -30 # rotate 45 deg around x, 45 around y, translate -30 on x
* nc_tooltable
* generate linuxcnc tool table from nc_tools.conf
* [nc_contour_pocket](http://mythagel.github.io/nc_tools/nc_contour_pocket/)
* Generate contour parallel toolpath from gcode path
* [nc_stock](http://mythagel.github.io/nc_tools/nc_stock/)
* Generate .off stock models
* [nc_svgpath](http://mythagel.github.io/nc_tools/nc_svgpath/)
* SVG path data -> gcode converter
* nc_identity
* gcode identity transformation - base for new tools
* [nc_arcfit](http://mythagel.github.io/nc_tools/nc_arcfit/)
* recover G2/G3 arcs from linear paths
* nc_delay
* delay the output of the gcode based on the machining time option 1x 2x, etc
* nc_shortlines
* split incoming gcode into short line segments
* ~~cli option --arc-only~~
* nc_slice
* Segments a 3d model into 2d slices for further processing
* nc_contour_drill
* Generate a drill pattern bounded by the input gcode path
* nc_contour_offset
* Generate contour parallel offsets from gcode path
* nc_linear_ramp
* Convert plunge into linear ramp along path
~~not implemented / not complete~~
* ~~nc_fold_moves~~
* fold adajacent G00 moves
* ~~nc_pick~~
* nc_stop --at-comment blah --at-line 205 --at-tool 3
* selectively pick gcode from file
* e.g. within bounding box
* ~~nc_inspect~~
* allow playback of the gcode
* feed rate override + pause
* seek forward and backward
* zoom to section of timeline
* ~~nc_scale~~
* scale gcode axes up or down
* ~~nc_offset_rotational_origin~~
* translate to/from tool local (canonical) rotations to world rotation (e.g. rotary tables)
* ~~nc_feedrate~~
* analyse / optimise feedrate of provided gcode
* ~~nc_lathe_roughing~~
* G70/G71 canned cycle style lathe roughing generator
* ~~nc_blueprint~~
* Generate SVG blueprint with 3 ortho + perspective view of gcode / model.
* ~~nc_annotate~~
* Analyses and adds annotations to input gcode, e.g. path continuity
* ~~nc_contour_spiral~~
* Generate spiral toolpaths from gcode path
Generators
==========
* ~~lathe_path~~
* generate lathe operations for svg path
* TODO determine machining strategy for lathe operations based on different tools and back faces
* ~~mill_path~~
* generate profile operation for svg path
* pick from SVG file with xpath pattern
* opt. scale / transform
* profile / pocket