Code Monkey home page Code Monkey logo

luban's Introduction

Snapmaker Luban

Build Status Build status

Snapmaker Luban is an easy-to-use 3-in-1 software tailor-made for Snapmaker machines. You can customize the printer settings and control the machine using the command panel in Luban anytime with ease. The software also provides G-code generation support for 3D models, laser engraving / cutting, and CNC milling.

Our goal is to provide a multi-functional 3D software, while making it as accessible and customizable as possible for new users / beginners.

The software is inspired by cncjs by cheton, we also use CuraEngine for 3D slicing.

Features

  • Desktop applications for macOS, Linux and Windows
  • Supported controller: Marlin or Marlin-based controllers
  • 3D printing G-code generator
    • Multiple models
    • Manipulate model (Position / Rotate / Duplicate / Lay Flat)
    • Model export and G-code export
    • Built-in and custom configurations for slicing
  • Laser G-code generator
    • Multiple models
    • Manipulate model (Position / Rotate / Duplicate)
    • Model export and G-code export
    • Featured modes: B&W, Greyscale, Vector, Text
  • CNC G-code generator
    • Multiple models
    • Manipulate model (Position / Rotate / Duplicate)
    • Model export and G-code export
    • Featured modes: Relief, Vector, Text
    • Support Tabs
  • Snapmaker 2.0 only features
    • Wi-Fi controls and file transfer
    • Camera Aid Background
  • Case Library
  • Multi-Language Support
  • Keyboard shortcut
  • Custom Widgets

How to install and run

Use released applications

You can download latest releases of software under the "Releases" section. It's recommended to use a stable release version unless you want to do some modifications on the source code.

Development

If you want to contribute to Luban, you can follow the instructions below to set up the development environment.

Ubuntu & Debian

  • Update software sources.

    > sudo apt update
  • Install Git.

    > sudo apt install git
  • Install Node.js 12. You can use NVM (Node Version Manager) to install and manage multiple Node.js versions:

    > nvm install 12
    > nvm use 12
  • Install dependencies for Linux builds and compilation environment for third-party dependencies.

    > sudo apt install rpm
    > sudo apt install make g++ libfontconfig-dev

CentOS

  • Update software sources.

    > sudo yum update
  • Install Git.

    > sudo yum install git
  • Install Node.js 12. You can use NVM (Node Version Manager) to install and manage multiple Node.js versions:

    > nvm install 12
    > nvm use 12
  • Install dependencies for Linux builds and compilation environment for third-party dependencies.

    > sudo yum install rpm-build
    > sudo yum install make gcc-c++ freetype-devel fontconfig-devel

Windows 10

  • Install Git from https://git-scm.com/.
  • Install Node.js 12 from https://nodejs.org/dist/latest-v12.x/.
  • Install node-gyp compilation environment for the third-party denpendencies.
    • Official: You can follow node-gyp installation instructions.

    • Alternative: Open Git Bash as administrator and follow the steps below. This will take about half an hour.

      > npm install -g windows-build-tools
      > npm config set msvs_version 2017

      or

      > npm config set @xiekun1992:registry=https://npm.pkg.github.com/
      > npm config set //npm.pkg.github.com/:_authToken=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
      > npm install -g @xiekun1992/[email protected]
      > npm config set msvs_version 2017

      Note: By now the latest version of windows-build-tools is v5.2.2, which has an issue of Visual Studio Build Tools in endless wait loop. In order to save your time, we fixed the bug and provide the second way.

Install dependencies and start dev server

  • Clone this repository.

    > git clone https://github.com/Snapmaker/Luban.git
    > cd Luban
  • Use npm to install package dependencies:

    > npm install
  • Start dev server locally:

    > npm run dev
  • Open browser (recommend Chrome) and navigate to http://localhost:8000.

Additional Notes

  • For developers in China, you can use taobao mirror.

    > npm config set registry https://registry.npm.taobao.org/
    > ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/" npm install

FAQ

  • Q: Encounter a RequestError when installing electron?

    A: Check your system proxy and try rm -rf node_modules/electron && npm install again.

  • Q: Develop in Firefox encounters an blank screen?

    A: There is a compatible problem of getScreenCTM() in using SVG in Firefox, switch to Chrome.

Feedback & Contribution

  • To submit a bug or feature request, file an issue in github issues.
  • To contribute some code, make sure you have read and followed our guidelines for contributing.

License

Snapmaker Luban is released under terms of the AGPLv3 License.

Terms of the license can be found in the LICENSE file or at http://www.gnu.org/licenses/agpl-3.0.html.

luban's People

Contributors

cheton avatar parachvte avatar zjiefee avatar jane-rose avatar whimsycwd avatar meiliang1123 avatar bbaa77770 avatar liumingzw avatar stanleelxp avatar vince87 avatar austinsaintaubin avatar symly avatar cmsteinbr avatar 0x49b avatar wen-qing-255 avatar minithc avatar maisim avatar xiekun1992 avatar corentinbrule avatar zephraph avatar saty9 avatar marcbachmann avatar cocojoe avatar terryshampoo avatar kevinskyba avatar soberwalder avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.