Needs to be read from the bottom up ;-)
Revision of the graphical import algorithms:
- grouping by pen-color, pen-width, layer-name
- clipping, tiling [Setup - Graphics import - Path import - Clipping](issue #109)
- sort objects by shortest connections [Setup - Graphics import - Path import - General Options](issue #119)
- merge / append almost connected paths (issue #121)
- path repetition optionally path by path [Setup - Graphics import - Path import - General Options]
- hatch fill of closed paths [Setup - Graphics import - Path import - Path modifications](issue #124)
- path extension of closed path for laser cutting
- path interpretation: translate pen-width to Z-value [Setup - Graphics import - Path import - General options](issue #127)
New features:
- import of CSV data (like airfoil data from: https://m-selig.ae.illinois.edu/ads/coord_database.html)
- creation of Barcode and QR-Code [G-Code Creation - Create Barcode](issue #123)
Improovements:
- continuously switching of visibility of PenUp path with space-bar (issue #122)
- editor: adjustable line distance [Setup - Program appearance - 2D-View/Editor](issue #125)
- tool table: add axis A for tool change (issue #126)
- marking of the processed path
- Import of basic HPGL code
- Tangential knife support for axis A,B,C or Z
- If Z is used, knife can be lifted with servo, using e.g. 'grbl_v1.1f_Servo.hex'
- 360 units/turn slows down everything - can be reduced to custom value (only usefull if gcode will be generated by graphics import)
- Program extensions (in Menu - G-Code creation)
- write your own tools/scripts for gcode generation
- Showing dimension box arround GCode in 2D view
- New sort option for groups - sort by object dimension (area used by objects)
- Path 'simulation' #96
- automatically go through G-Code lines and show position in 2D view
- Optimized joystick control
- Calculates speeds depending on max speed from $11x settings every 50 ms
- Speed / feedrate for smallest joystick deflection can be set, applied with 200 ms interval
- Serial connection
- automatic reset if expected status reports are missing
- automatic disconnect if receiving-error appears
- 2D-View
- with middle mouse button: move complete view or selection #93
- new option "Don't change pen width on zooming"
- Some bug fixes
- Group selection for code folding
- using new FCTB release #95
- Add arabic and japanese language
- Bug fix save gcode - using new FastColoredTextBox.dll
- Update
- #84 add setting to DXF-Import
- #85 offset marked figure by moving in 2d view, while middle mouse button is pressed (after moving, confirm translation via menu)
- #88 marked figure can be moved up/down in GCode editor to change order
- enable/disable 2D-view of ruler, info, Pen-up-path
- Run GCode or script after Reset (Setup - Flow Control - Behavior after Reset)
- Add key-words for custom-buttons, hot-keys, Game-pad: #FEEDHOLD, #RESUME, #KILLALARM, #RST, #HRST
- Bug fixes
- #85 try to load from locked file
- #89 multiple passes and laser
- misc
- Bug fix DXF Import - Ellipse: Fix DXFLib.dll, Add Ellipse support
- Bug fix DXF Import - Spline Adapt import-code from Inkscape
- Probing window: add storage of checkbox states
- Add probing window with edge / corner finder, center finder and tool length correction
- Increased number of custom buttons to 32
- Add a rough localization for spanish, french, russian and chinese language The translation was done with google translator, so maybe not quite right. In addition, the texts are sometimes too long and do not fit into the controls.
- Bug fix saving G-Code
- Bug fix Game pad support
- select a 'use-case' when importing DXF or SVG
- preset import options, pen up/down definitions, Z deepth, etc.
- use it for machine-selection, material-selection or tool-selection
- example Using a pen and laser together
- Paths from imports by DXF or SVG can be grouped (by color or layer)
- Groups can be selected, transformed, deleted
- process dashed lines from DXF or SVG
- Add a logger
- extend error handling on SVG import
- Laser tools to optimize parameters e.g. Scan Z to find laser focus
- new file format for csv tool table now ',' comma separated instead of ';' semicolon
- new file locations for examples, fonts, scripts, tools
- Transform of all or selected code
- simple cutter radius compensation
- option for final Z depth in several passes
- update Hershey fonts from evil mad scientist (before their new release)
- New option for text creation: connect characters within a word
- Hot keys: assign direct commands / scripts to keys
- 1.2.4.8 Extend override buttons in GUI for grbl version 1.1
- 1.2.4.8 Bug fix drag tool compensation: correct start point of first line in object
- 1.2.4.7 Optional sending of code when pausing or stopping gcode-streaming
- 1.2.4.7 Selectable polling frequency for digital read out
- 1.2.4.7 Use 255 byte buffer for Mega2560
- 1.2.4.6 Bug fix Control coordinate system (dot / comma)
- 1.2.4.5 Add Arduino Uno/Nano hex vor servo support
- 1.2.4.5 Add Mega2560 hex vor 4th / 5th axis support
- 1.2.4.4 Add axis name to virtual joystick
- 1.2.4.4 Automatic display of additional axis controls and read-outs for A,B,C (not tested with real hardware up to now)
- 1.2.4.4 Save last position extended to A,B,C
- 1.2.4.4 Bugfix creating height map (export x3d, hidden buttons)
- 1.2.4.4 Bugfix support of grbl version 0.9
- 1.2.4.3 2D view of rotary axis (mapped to X or Y axis)
- 1.2.4.3 save and restore of form size
- 1.2.4.2 Resizable editor
- 1.2.4.1 Ruler scale also for negative dimension
- 1.2.4.1 Resizeable Joystick control (Setup - Joystick)
- 1.2.4.1 Mirror of Rotary axis
- New menu 'view'. E.g. switch between traditional object view or view to the complete machine area
- Highlight selected path (e.g. for deletion)
- Copy gcode path to background as a landmark for positions applying new gcode (check context menu on 2D view)
- New window to handle coordinate systems G54, etc (Menu Machine control - Coordinate system)
- Code creation with usage of Z and spindle - add variable delay after spindle start (to be sure spindle really started)
- Add extensions 'cnc', 'gcode' as possible gcode source
- New menu item 'Remove any Z movement' in GCode Transform
- Replace G92 command by G10 L20 P0
- Remove hotkey assignment with "Strg" via form-designer (Strg / Ctrl Problem)
- Some code clean up
- 1.2.3.9 Add 4 more custom buttons, status of feed rate and spindle speed in main GUI
- 1.2.3.8 Bug fixes: wrong offset, caused by incomplete dimension calculation, svg import scaling (96,72 dpi); Add svg dpi selection in setup (96 or 72)
- 1.2.3.3 Z-adaption also for G0 (only to pos. values); add 3rd decimal to Surface scan, Max. depth
- 1.2.3.2 Bugfix in Z-Value correction when applying height map
- 1.2.3.1 Removed feedback-loop. Save last spindle speed setting from GUI
- User definable hotkeys
- Surface Scan with Z-Probing value from DIY-Control interface
- Restart paused job after program restart
- some bug fixes and improvements
- Control via Keyboard
- Improved import of images
- check wiki
- smoothing of outline contour
- shrink contour to compensate pen width
- Improved import of images - check wiki
- New filters for easy color quantization
- Create outline contour to avoid wavy edges
- Tool table instead of color palette (incl. tool exchange positions (water color pos.))
- drag tool compensation (to compensate offset when drawing with a brush)
- automatic subroutine insertion (to refresh brush after drawing a certain distance)
- Show machine working area, alert on exceed
- Reduce CPU load by showing background picture instead of real object path during streaming
- Receive commands via serial port for DIY control pad / pendant
- Add height map manipulation and export to STL, X3D X3D example
- DXF-Text import, check Font examples using libreCAD fonts
- Just extend fonts by copying LFF files to sub folder fonts
- Information about used fonts Fonts
- Revision of Text creation dialog, supporting libreCAD fonts
- Hide 'PenUp' path in 2D view by pressing the space bar.
- Bug fixes:
- Win7 zooming in 2D view not possible
- Paste code via Ctrl-V was disabled
- Import copied code from maker.js
- Just select .DXF or .SVG, press 'Generate', then 'copy the text above'
- then paste the code into GRBL-Plotter
Unfortunatly I get confused with some key and mouse events, which makes some bug fixes needed.
- For the camera view now a seperate coordinate system G59 will be used. Attention! Switch back to default coordinate system G54 before starting any GCode!
- Transforming GCode with camera aid, to match drill file with PCB view PCB drilling
- Shape recogniton for easier teachpoint (fiducial) assignment
- New import option 'Repeat code' to repeat paths (laser cutting with weak laser)
- Check limits of GRBL setup - max. STEP frequency and min. FEED rate in COM CNC window
- Add import of Eagle Drill file
- Add support of noname USB GamePad for control of XY stage
- Add import (and ruler) selection 'mm' / 'inch' in setup
- Comment-out unknown GCode
- Add feed rate and spindle speed override buttons (GRBL 1.1) to main GUI
- Bug fix in main GUI: no zooming during streaming - disabled background image (perhaps performance in Win-XP is affected)
- Bug fix SVG Import: rectangle transform (G3 in roundrect) was bad
- Bug fix SVG Import: missing end of GCode path before next SVG subpath starts
- Bug fix routing error-message during streaming (or code check) from serialform to main GUI
- Import of SVG graphics or Image via Ctrl-V 'Paste' into GRBL-Plotter
- Copy SVG data from "URL imported SVG" to clipboard for pasting into inkscape
- Check for GRBL-Plotter update
- SVG-Import bug fix
- Zooming into graphic
- New font 'Dot Matrix'
- Option for SVG-Import 'Process path nodes only' usefull for 'String Art'
- Support of 'real' 4th axis (other hardware and grbl version needed)
- SVG-Import bug fix
- Surface scanning to generate height profile
- Autoleveling using height profile
- Axis substitution: using X or Y axis as rotary axis
- Supporting Sub routine M98, M99
- Generating GCode in absolute or relative coordinates (good for sub routines)
- DXF-Import (missing: text, ellipse)
- Support GRBL Vers. 1.1 incl. Override und Jogging
- Import/Export GUI settings (Joystick, Buttons)
- Control window for 2nd GRBL hardware
- Controlling a 2nd GRBL hardware for tool exchange or 4th axis
- SVG-Import: assigning SVG colors to tool numbers
- Generating tool exchange command (M6 Tx) during SVG-Import
- Gcode streaming: replace tool change commands by user defined scripts
After struggeling with an other GCode sender (just working when logged-in as admin) and missing features,
I started my own GCode sender.
My main use is 2.5D usage for a CNC router and a plotter.
The most disturbing points were:
- no automatic reconnect, when starting the program
- no automatic set of the feed rate, when moving the stage the first time
- poor manual control (joystick) via user interface