AutolevellerAE
Autoleveller
Example/Test GCode
Feel free to download and try the latest AutolevellerAE here. It requires Java 8 only.
AutolevellerAE(Advanced Edition)
AutolevellerAE-095u2 (.exe) AutolevellerAE-095u2 (.jar)
Version Notes and Older Versions
0.9.5 (Update: 2)
- The main Mesh tab remains active after loading an RPF file. With fields greyed out as appropriate.
- Visualisation threshold values in the RPF viewer now default to the min and max Z of the loaded RPF. This gives a more appropriate look to the 3D mesh without having to make any changes.
- Added pre and post field options to the custom controller options so you can do add a dwell before probing for example. The new settings are saved the same as the other options.
- Custom controller is automatically selected whenever custom controller options are changed.
- Removed the inappropriate certificate signing plugins from pom.xml. (For developers who compile the code from source using maven)
- Fixed RPF fixer where very small Z values are printed in scientific notation e.g. 0.000039 is changed to 3.9E-5.
- If the OGF you try to load contains no negative values or the file was otherwise incorrect, AE would just freeze. Now it just displays an appropriate error message and does not load the file, doesn’t freeze.
- Previously, only levels where the Z value is negative. Now includes the case where Z is zero. This caused issues in 1 case.
- Assures radius of Arcs are not zero if I and J are 0
0.9.4 (Update: 2)
AutolevellerAE v0.9.4 (.exe) | AutolevellerAE v0.9.4 (.jar)
This is the first digitally signed version. Added some new tools for fixing an RPF and adding a custom initialization block
- Signed executables: .exe and .jar member downloads are now digitally signed, guaranteeing these files have not been tampered with since they were first created
- Added tool to “fix” an RPF which refuses to load in AE properly
- Added tool to create custom initialization blocks for both PFG’s and AL files
- Added support for absolute IJK mode for arcs using absolute positioning (G90.1)
- Increased minimum and maximum threshold limits in RPF tab for a wider probe range
- Fixed bug where RPF failed to load in fixer tool, despite being in the correct format
See here for more on the new tools
0.9.3 (Update: 1)
AutolevellerAE v0.9.3 (.exe) | AutolevellerAE v0.9.3 (.jar)
This version adds an update number in addition to the main version as well as some bug fixes with the viewer.
- Handles values with leading points, such as .3 or .4 AE reads them as 0.3 or 0.4
- Handles values with trailing points such as 10. or 5. AE reads them as 10 and 5
- Handles modal GCode, i.e. lines without the GCode word on the same line will use the previously used word.
- Adds a new versioning system where there is now an update number on top of the main version number. This allows me to make small bug fixes without updating the main version each time
0.9.2 (changeset: f81f8db)
AutolevellerAE v0.9.2 (.exe) | AutolevellerAE v0.9.2 (.jar)
This update sees improvements to the toolpath viewer + some other fixes to the reading of the OGF and levelling process.
- Fixed bug where a blank line in the gcode caused Autolevelled output to be cut short after previous update to v0.9.2.
- Displays lines in different colours depending on whether the line is positive or negative. This means you can tell now if a line is etching or just traversing between etches.
- All words between G81 and G89 are drawn with a small X to indicate a drill cycle in the toolpath viewer.
- Rearranged layout to fit 1024×768 more comfortably
- Added 3 screen sizes to the Options menu which should be optimised for your screen resolution.
- Screen size chosen in the Options menu is saved to the settings file (in .AE folder) and applied when AE is first opened. This also means you can modify the window size directly from the settings file if needs be
- Better parameter support, i.e. a parameter such as #10=5 means #10 can be used in lines where 5 is used (e.g. G0 X1 Y2 Z#10)
- Fixed the issue where etching lines could be segmented if the etching line is deeper than the segment length, leading to harmful extra lines created. This will not be an issue for most since most etch depths will never exceed the segment length.
- Removed all trailing periods before the Autolevelling process begins. The trailing periods were not read properly in some situations meaning the levelled GCode would be corrupt.
- Fixed bug where closing ‘)’ sometimes got removed
Version 0.9.0 (changeset: 8e76e3c)
AutolevellerAE v0.9.0 (.exe) | AutolevellerAE v0.9.0 (.jar)
In this update the biggest and most obvious change is that the toolpath of your original GCode file will now be rendered to the screen, this means you can more accurately and clearly see what is going on and how the probe mesh will be applied and can provide you with a quick visual check. The OGF will also be re-drawn to fill the available space whist keeping the correct ratio.
- Rendering of your OGF toolpath, including lines and arcs, i.e. G0, G1, G2 and G3 GCode lines
- The rendered toolpath will resize to fill the maximum area available whilst keeping the correct ratio
- Added Mesh Information at lower portion of the screen, which shows the Mesh size including applied insets
- Various bug-fixes and improvements
Version 0.8.5 (changeset: 98415da)
AutolevellerAE v0.8.5 (.exe) | AutolevellerAE v0.8.5 (.jar)
This update mainly focuses on a custom controller option so that:
- Additional controller types can be supported by simply changing the custom settings to suit
- Run additional commands such as macros after each probe
- GCode can be modified to remove problem lines
- Added a custom controller option
- Custom controller settings such as words and commands can be set directly within AE
- Saves/loads custom settings
- Warns if RPF is an incorrect file format when attempting to load it
- If previous loaded directory no longer exists or has been corrupted between AE sessions, AE will now revert to your home folder rather than attempting to load the bad directory
- Fixed issue where empty settings file (new user) caused AE not to load
Version 0.8.4 (changeset: d5e75c6)
AutolevellerAE v0.8.4 (.exe) | AutolevellerAE v0.8.4 (.jar)
- Inset options. Allows you to set values for the top, bottom, left and right offsets to the edge of the Mesh extents
- Records insets so these values can be applied to each future job
- Viewer has been modified to show the full extent of both the OGF and Mesh in the same viewer space whilst maintaining the correct proportions
- Autoleveller icon has been updated
Version 0.8.2 (changeset: 429a653)
AutolevellerAE v0.8.2 (.exe) | AutolevellerAE v0.8.2 (.jar)
Extra thanks to Arthur Eckstein for his tireless efforts in helping test and check these versions. His advice, expertise and source of knowledge and sanity checking is very much appreciated.
Changes
- AutolevellerAE has an .exe download option. Which, whilst essentially identical to the .jar version, may be a more familiar file type for Windows users (Linux and Mac users should continue to use the .jar download)
- Removed ‘General’ tab. All options and information has been moved to either the Mesh tab or the main menu. This provides a cleaner and more intuitive interface
- Preferences are now saved to xml files in (<user.home>/.AE) allowing you to back-up or edit the values manually
- All Mesh preferences will be saved and retrieved as necessary, such as feed rate and maximum segment length settings in addition to the previously saved setting such as the previous browsing directory etc.
- Added additional Mesh information such as total number of probe points etc. to the Mesh tab
- Introduced Dialog boxes for some option which gives more space for explaining their purpose
- When generating a Mesh from your OGF, AE uses you saved preferences for the Mesh settings and not the default values
- Colour thresholds in the RPF can be manually adjusted to suit your file
- Removed erroneous log file created when AE launches
Version 0.8.0 (changeset: 3bc274a)
- Auto-generated probe-mesh size now calculates full arc extremities for more accurate probe coverage
- Duplicated main options in the menu
- Additional preferences stored and reloaded on each new session such as software controller and units options
- Numerous renaming and other changes to the interface
- Added controls to set the RPF colour threshold dynamically
- Removed commas and replaced with dots as decimal separators from output (fixed previously but the problem persisted for some countries)
- Simplified RPF output filename
Version 0.7.8 (changeset: 618eb51)
- Fixed – bug where distance from point A to B was the same length as a single set segment length (output file was empty)
- Added checkbox option to zero Z at the start of the Autolevelled file. This is because some users may prefer to set Z manually before etching if for example a different tool was used during probing and now, can no longer electrically probe with the current tool
- Added text box in RPF view to show the difference between the highest and lowest Z points. Can be thought of as a measure of how flat the board is
- AE now reads an RPF with a more general format where the first 3 numbers in an RPF line is designated as X, Y and Z where previously the RPF had to be specific to the software you were using. The new method allows for RPF’s created by future and non-specific software to be supported
- Added an axis model to the 3D RPF view to allow the user to orientate a rotated model easier and to give some straight lines to compare to
- Fixed issue where the zooming scale was very low for an inch RPF in the 3D view
- Centres view to centre of 3D RPF model rather than centre on 0, 0, 0
- As there is no way of determining the units used in an RPF, we derive the units used from the probe spacing in the RPF automatically. This avoids the user having to select the units somewhere
- During mesh setup the user is restricted to a probe spacing up to and including 3.5 when inches are selected, and any number above 3.5 when millimetres are selected. This helps guarantee the units can be derived correctly from an RPF
- Now displays a 2D height map in the RPF tab if 3D is not available
Version 0.7.6 (changeset: 46b9e16)
- Version checking: Checks if a newer version is available and informs you of the fact
- Added clickable hyperlinks to the about box etc.
- Fixed TurboCNC “null” display in PFG
- Several other fixes and improvements
Version 0.7.5 (changeset: ece5730)
- Support for 2-stage levelling i.e probe then level as 2 separate processes
- Added a separate button to generate the probe-only GCode file (Probe File Generator) which in turn generates the raw probe file
- Uses the RPF to “pre-level” the GCode to be etched, i.e. levelling calculations take place in AutolevellerAE and not in the levelled GCode
- A 3D model of the RPF showing the area just probed is generated allowing you to easily inspect the file for errors
- Generates a coloured height-map of the RPF showing high and low points of the probe area, and textures the 3D model with it
- Allows you to rotate and zoom the 3D image and amplify Z to exaggerate any flaws in probing
- Displays information about the loaded RPF such as highest/lowests probed points etc.
- Change or clear the loaded RPF without having the restart AutolevellerAE
NOTE: If you have an RPF created in the original Autoleveller, AutolevellerAE can read this just the same (you might want to use this older RPF to test the 3D features for example)
Version 0.7.0 (changeset: b127b84)
- Arc moves (G2 and G3) are now segmented correctly and levelled the same as linear moves (G0 and G1)
- Accepts , (comma) as a decimal separator as well as . (dot/period) so that input is accepted in countries that use either format
- Bug where canned cycles caused more drill holes to appear than wanted. Fixed
- Code is now open-source. Feel free to download and customise to suit
- Most public methods and classes are javadoc’d to make them more explanatory and development easier
- Updated the readme.md file on Bitbucket to accurately explain this project
- Changed default Mesh values to more conservative values
Version 0.6.2 (changeset: aee8149)
- Added a changeset. Allows minor changes to be made (just the changeset is altered) without having to increase the version number
- Due to the problems with the .exe and Norton, only the .jar will be published from now on. This file should run exactly the same as the .exe did, just double click the downloaded .jar to start
- Renamed Autoleveller8 to AutolevellerAE to avoid confusion with naming
- Reduced file size from ~7.5MB to ~1.3MB without removing any functionality
- Altered the mesh view generation to better fit the mesh within the draw window, i.e. the entire mesh should be visible regardless of the dimensions of your mesh
- The mesh is now generated after mesh values are changed and the enter key is pressed. Previously the mesh was regenerated after each keystroke which could cause performance issues on older machines
- Removed unused menu items
Autoleveller (Older/Original)
This is the original and older version of Autoleveller. Fundamentally it is almost identical to AutolevellerAE (same levelling algorithms) but is missing some of the features of AE (3D probe visualliser, tools etc.) . Therefore AE should work OK for you, but if not you may have better luck with this original version.
AutoLeveller 0.8.7 (.exe) AutoLeveller 0.8.7 (.jar)
Version 0.8.7
- minor change: more prominent prompting messages from sub-procedures pausing gcode (M0).
Version 0.8.6
Autoleveller 0.8.6 (.exe) | Autoleveller 0.8.6 (.jar)
- Fixed bug: Seemingly random large spikes in Z depth during milling for arc moves caused the tool to break on occasion
- Fixed bug: Seemingly random appearance of E words on arc lines
- Changed Mach 3 output gcode file extension from .tap to .nc
- When probing is finished Z is now sent to the probe finish height before moving to XY start
Version 0.8.5
Autoleveller 0.8.5 (.exe) | Autoleveller 0.8.5 (.jar)
- Changed Levelling Z height from < 0 to <= 0
- Changed arc breakdown filter to keep segmented lines intact
Version 0.8.4
Autoleveller 0.8.4 (.exe) | Autoleveller 0.8.4 (.jar)
- Fixed Arc bug where Arcs in files would sometimes cause infinite loops
- Breaks down Arcs to smaller segments whilst maintain the Arc command, i.e. does not resort to using the ‘arc to line’ technique which would greatly increase file size
- Added log4j support
- Log4j logs to an external “debug” file
- Log4j logs to a text panel within the AutoLeveller
- Changed the way the GUI thread is invoked resulting in greater stability
- Many code improvements
Version 0.8.3
Autoleveller 0.8.3 (.exe) | Autoleveller 0.8.3 (.jar)
- Supports Arc moves (G2 and G3 commands)
- Segments large arcs into smaller segments required for correct Autolevelling
- Supports Radially defing Arc moves
- Fixed bug where ‘%’ is used to mark the start / end in the input file
- Fixed bug where -0 and +0 are read as 2 separate numbers when reading from the raw log file
- Fixed possible bug where line numbers are used and conflicted with sub-procedures in TurboCNC
- Changed default LinuxCNC raw probe log file name to ‘RawProbeLog.txt’ to avoid confusion
-
Fixed bug where not all source junit tests ran in countries where ‘,’ is used instead of ‘.’ as a decimal separator
- Fixed bug where the raw probe file (RPF) needed very precise measurements in order to create a grid correctly. Added some tolerance to correct this
Version 0.8.2
Autoleveller 0.8.2 (.exe) | Autoleveller 0.8.2 (.jar)
- Bug fix where coordinates would occasionally contain faulty output. (-1.047 would become -147)
- 6 decimal point places now used for increased accuracy
- TurboCNC profile added as an option
- Changed probe log file reader to be more compatible with machines with multiple axis. (reads the first 3 numbers in a GCode line and assigns them to XYZ respectively)
- Changed the first line of probing GCode to move Z to a safe position before continuing to XY bottom left
- Changed reader to comply with mastercams floating point notation
Version 0.8
AutoLeveller 0.8.0 (.exe) | AutoLeveller 0.8.0 (.jar)
- Probe persistence – Automatically writes probe results to a separate log file
- In software leveling calculations – Option for probe calculations to be made within the software rather than in the GCode if the probe log is provided
- Variable use is drastically reduced since calculations are now made within the Autoleveller – This drastically reduces the GCode file size
- No need to repeat the probing stage as the Z height is already written into the file based on the provided log file
- Ability to stop and resume at any stage – Use the built in sub-procedures
- Option to produce a “probe-only” GCode file which will be used to generate the required log file only
- Setting persistence – Keeps your most recent settings over time (controller selected / last folder accessed)
- Rounded probe settings to a maximum number of decimal places
- GUI changes
Example/Test GCode
If you do not have any GCode files to hand and just want to test, the following files can be downloaded and run through AutoLeveller. The circuit was designed in eagle PCB and is the same (double sided) circuit shown in the video. These files were generated with an old version of PCB-GCode (v3.5.2.11). The generated files are presented in Mach3 and LinuxCNC flavors for both top and bottom layers and are available in both millimeter and inch formats.