Universal G-Code Sender is a Java based, cross platform G-Code sender, compatible with GRBL, TinyG, g2core and Smoothieware.
Online documentation and releases: https://winder.github.io/ugs_website/
Discussion forum: https://groups.google.com/forum/#!forum/universal-gcode-sender
Technical details:
- JSSC or JSerialComm for serial communication
- JogAmp for OpenGL
- Netbeans Platform
- JTS for geometric transformations
- Batik for reading SVG
🚩 There is currently a problem with the download server. Please use the download links under the latest release page here.
Sorry for the inconvenience.
UGS Platform main window
Customizable panel layout
Menu actions with customizable keybindings
Menu with plugins
One of many plugins
Basic gcode editor
Vector graphics designer for generating GCode toolpaths
UGS Classic main window
UGS Classic with visualizer
Show details on how to compile the software
For development we use Maven and Java for compiling. We rely on a specific version of Java 13.0.1-9 is needed due to compatibility issues with a library we depend on.
UGS Classic:
mvn install
mvn exec:java -Dexec.mainClass="com.willwinder.universalgcodesender.MainWindow" -pl ugs-core
UGS Platform:
mvn install
mvn nbm:run-platform -pl ugs-platform/application
mvn test
mvn install
mvn package -pl ugs-classic
mvn package assembly:assembly
If you are more used to IntelliJ, you can also build, run and debug it there.
- Run
mvn nbm:run-platform -pl ugs-platform/application
once via terminal to build everything - Import the Source,
File
->New
->Project from existing Sources
- Setup a new "Run Configuration",
Java Application
, with following settings:- Main Class:
org.netbeans.Main
- VM Options:
-Dnetbeans.user=$ProjectFileDir$/ugs-platform/application/target/userdir -Dnetbeans.home=$ProjectFileDir$/ugs-platform/application/target/ugsplatform/platform -Dnetbeans.logger.console=true -Dnetbeans.indexing.noFileRefresh=true -Dnetbeans.dirs="$ProjectFileDir$/ugs-platform/application/target/ugsplatform/ugsplatform:$ProjectFileDir$/ugs-platform/application/target/ugsplatform/platform:$ProjectFileDir$/ugs-platform/application/target/ugsplatform/ide:$ProjectFileDir$/ugs-platform/application/target/ugsplatform/extra:$ProjectFileDir$/ugs-platform/application/target/ugsplatform/java"
- Program arguments:
--branding ugsplatform
- Working dir:
$ProjectFileDir$
- Use classpath of module:
ugs-platform-app
- Main Class:
- There is a runConfiguration in the repository, which should be available after importing the project