Skip to content

Latest commit

 

History

History
130 lines (80 loc) · 5.36 KB

README.md

File metadata and controls

130 lines (80 loc) · 5.36 KB

Universal G-Code Sender

Last commit Build Status Codebeat badge Releases

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:

Downloads

🚩 There is currently a problem with the download server. Please use the download links under the latest release page here.

Sorry for the inconvenience.

Screenshots

UGS Platform

UGS Platform main window

UGS Platform

Customizable panel layout

Customizable panel layout

Menu actions with customizable keybindings

Actions

Menu with plugins

Plugins

One of many plugins

Dowel Maker

Basic gcode editor

Basic gcode editor

Vector graphics designer for generating GCode toolpaths

Designer

UGS Classic

UGS Classic main window

Classic main window

UGS Classic with visualizer

Classic visualizer

Development

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.

Compiling and starting the application

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

Execute all tests

mvn test

Building the self-executing JAR

mvn install
mvn package -pl ugs-classic

Build a UniversalGcodeSender.zip release file

mvn package assembly:assembly

Develop via IntelliJ

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
  • There is a runConfiguration in the repository, which should be available after importing the project