The world's greatest open source 3D CAM software. (Maybe one day.)

Overview

Meshmill

Screenshot

Meshmill is open source 3D CAM software for Linux. It turns STL models into G-code for CNC machines.

This is beta-quality software. Use it at your own peril.

You can Download the latest AppImage to get started. Currently it is only available for x86_64.

Meshmill focuses on:

  • ease of installation
  • ease of use
  • true 3D toolpaths, not 2.5D

At the expense of:

  • power
  • performance
  • high-quality toolpaths

I created Meshmill because I was frustrated with how difficult it was to get other open source 3D CAM software to work.

  • If you spot bugs and you want to help out, please create a Github Issue, or send me an email if you're not on Github: [email protected].

  • Be careful with the generated G-code. Before running it, check that it's not going to crash your machine, break your tool, or do anything else stupid. In particular, check the generated G-code in another application to satisfy yourself that the paths are something close to what Meshmill rendered.

  • If you use it to create some parts, please share pictures of your CAD and your final result :)

How to use it

  1. Download a release from the Releases page.

  2. chmod +x meshmill-0.1.1.AppImage

  3. ./meshmill-0.1.1.AppImage

  4. Load your STL file in the "MODEL" tab.

  5. Click "Process surface". You'll see that the model turns from your smooth triangle mesh into the blocky pixelated heightmap. This is expected. If you reduce the "resolution" value you'll get a higher-quality heightmap, at the expense of CPU time. You need to judge for yourself what level of precision is required for your particular part with your particular machine and cutting tools.

  6. Create a job with the "+ ADD JOB" button.

  7. Set your cutting parameters and click "Generate toolpath". Once it is generated it will be displayed on top of the model in purple.

  8. Once you're happy with how your toolpath looks, use the "Save G-code" button to save it somewhere.

Development

The GUI is made using Electron. The backend is Go.

I recommend using nvm to manage nodejs.

$ nvm install --lts
$ nvm use --lts

With nvm happy, clone the Meshmill repository and install its npm dependencies.

$ git clone https://github.com/jes/meshmill
$ npm install

And run the application.

$ npm start

The backend for heightmap rendering and toolpath generation is Pngcam. There is a bundled version under bin/.

main.js is the Electron main process. index.html is the HTML loaded in the renderer process.

Useful things to work on

If you want to improve Meshmill but don't know where to start, you could look at:

  • make Pngcam generate spiral toolpaths (or any others you find useful)
  • make Pngcam multi-threaded, or otherwise improve performance
  • implement support for rotary carving
  • an interesting example part to load up before the user opens their own model
  • some way to generate more than just top and bottom sides (maybe copy the part rotation UI that PrusaSlicer has?)
  • support for other tool shapes: tapered ball-nose end mills, bull-nose end mills, v-carving bits
  • include roughing calculations in the ETA of the processing time, because it's sometimes significant
  • fix the thing where the camera moves to a new position when a new model is rendered (I think it re-positions so that it always looks at the centre of the model, don't know why)
  • orthographic view
  • adaptive toolpaths
  • build Pngcam and Meshmill for other platforms of interest (Windows? Raspberry Pi?)
  • reduce feed rate during full-width slotting

Contact me

Meshmill is created by James Stanley. You can email me at [email protected] or read my blog at https://incoherency.co.uk/

You might also like...

A simple application used to organize your day to day activity. Tasks can be added and removed from this list.

Minimalist ToDo List A minimalist list of TODOs. Built With HTML, CSS, JavaScript Webpack Jest NPM Node Getting Started In order to obtain a local cop

Sep 9, 2022

Today began learn about MEAN stack first with Nodejs that is a server side form of javascript. Repository for track of Day by Day improvement track in new Skill.

Today began learn about MEAN stack first with Nodejs that is a server side form of javascript. Repository for track of Day by Day improvement track in new Skill.

NodeJs Today began learn about MEAN stack first with Nodejs that is a server side form of javascript. Repository for track of Day by Day improvement t

Oct 14, 2022

Download all Moodle files with one click. This is a Chrome extension built to save time and effort from downloading files manually one by one!

Download all Moodle files with one click. This is a Chrome extension built to save time and effort from downloading files manually one by one!

Moodle Downloader Extension Moodle downloader extension for Chrome. The extension is tested with both the TUM moodle and the official moodle demo. Not

Nov 15, 2022

LunaSec - Open Source Security Software built by Security Engineers. Scan your dependencies for Log4Shell, or add Data Tokenization to prevent data leaks. Try our live Tokenizer demo: https://app.lunasec.dev

LunaSec - Open Source Security Software built by Security Engineers. Scan your dependencies for Log4Shell, or add Data Tokenization to prevent data leaks. Try our live Tokenizer demo: https://app.lunasec.dev

Our Software We're a team of Security Engineers on a mission to make awesome Open Source Application Security tooling. It all lives in this repo. Here

Jan 7, 2023

An open-source server software for a certain anime game.

Open-Shen An open-source server software for a certain anime gaem. Based off the leaked Pancake and closed-source Bridge servers. You can find the Ope

Dec 10, 2022

🏆Open source, free project management/issue tracking software to manage your work and projects

🏆Open source, free project management/issue tracking software to manage your work and projects

WorkClever 🏆 Open source, free project management/issue tracking software to manage your work and projects Features General Free to use, open source

Dec 27, 2022

A responsive and open source portfolio for software developers (Next.js & Tailwind CSS version).

A responsive and open source portfolio for software developers (Next.js & Tailwind CSS version).

Software Developer Portfolio 💯 A responsive and open source portfolio for software developers (Next.js & Tailwind CSS version). Website Screenshot In

Nov 28, 2022

Open-source CD platform that helps developers to deliver applications efficiently by simplifying software releases and operations in any environment.

Open-source CD platform that helps developers to deliver applications efficiently by simplifying software releases and operations in any environment.

dyrector.io - The open source internal delivery platform Overview dyrector.io is an open-source internal delivery platform that helps developers to de

Jan 3, 2023

Open source software from Lifecast Inc for immersive volumetric VR videos and photos.

Lifecast Inc. Open Source Lifecast makes software for immersive volumetric VR videos and photos. Lifecast's 6DOF format for 3D photos and videos can b

Jan 1, 2023
Comments
Releases(v0.1.1)
  • v0.1.1(May 2, 2022)

    • Pngcam backend reimplemented in Go for more performance and easier packaging
    • Toolpath segments are sorted so that they run in a more optimal order
    • Travel moves between toolpath segments can go across part geometry when this is faster than a lift up to the safe Z height, a rapid, and a drop back down
    Source code(tar.gz)
    Source code(zip)
    meshmill-0.1.1.AppImage(85.46 MB)
  • v0.1.0(Apr 26, 2022)

    • Package GD and Perl in the AppImage so that pngcam works on more systems
    • Check for illegal inputs (zero, negative) and either warn or reject them
    • Various UI glitch fixes and improvements
    • Diagrams in tooltips
    • Internally plot intermediate heightmaps between jobs so that roughing isn't repeated
    • Ramp entry
    • Omit top
    • Cut beyond edges
    • Fix memory leak
    • Make step forward an option instead of copying it from step over
    • 24-bit depth on heightmaps instead of 8-bit
    Source code(tar.gz)
    Source code(zip)
    meshmill-0.1.0.AppImage(104.56 MB)
  • v0.0.3(Apr 17, 2022)

  • v0.0.2(Apr 14, 2022)

  • v0.0.1(Apr 12, 2022)

    This is very early pre-beta software. Use it at your own peril. Please report bugs that you care about either as Github Issues or by email: [email protected]. Obviously I am aware of many of the bugs but it would be good to start tracking the ones that people care about.

    Instructions and more information in the README: https://github.com/jes/meshmill/blob/master/README.md

    Please let me know how you get on, successful or otherwise.

    Thanks.

    Source code(tar.gz)
    Source code(zip)
    meshmill-0.0.1.AppImage(80.75 MB)
Owner
James Stanley
James Stanley
How often do you get asked about the gadgets or software that you use? If the answer is quite often, you should be trying show off out. Curate the list of gadgets and software and share it with your fans and followers.

Show Off - Showcase your setup! How often do you get asked about the gadgets or software that you use? If the answer is quite often, you should be try

Adithya Sreyaj 15 Nov 24, 2022
A social-media mock app for the ones who love to read - and maybe show it off

?? ?? Cachalote ?? ?? Share what you are reading and find people who also likes it - or not! What does it do? This app focuses on three main questions

Thaís França 3 May 22, 2022
A maybe slightly safer-ish wrapper around eval Function constructors

evalish A maybe slightly safer-ish wrapper around eval Function constructors Please maybe try something else first.. Please. evalish is a small helper

Phil Pluckthun 24 Sep 6, 2022
A maybe slightly safer-ish wrapper around eval Function constructors

evalish A maybe slightly safer-ish wrapper around eval Function constructors Please maybe try something else first.. Please. evalish is a small helper

0no.co 22 Aug 21, 2022
Extended version of create-t3-app to make it even faster to start (or maybe slower)

create-T3-app with extra tools/config out of the box create-t3-app is one of the fastest and easiest way to scaffold fullstack app. create-t3-extended

A Riolly C 7 Jan 4, 2023
Maybe better conditionals feat. tagged template literals

condicional Maybe better conditionals Report Bug · Request Feature About The Project ⚠️ `condicional` is based on a PEG grammar and is not battle-test

null 3 Oct 12, 2022
Chrome Extensions are something which we use very frequently in our day-to-day life for example Grammarly

Chrome-Extension Chrome Extensions are something which we use very frequently in our day-to-day life for example Grammarly, In this project similarly,

Harshita sharma 97 Dec 14, 2022
Obsidian plugin: get things dead day by day

Obsidian Daily Todo Pro Plugin 中文说明 inspired by https://github.com/shichongrui/obsidian-rollover-daily-todos get things dead day by day - enhance your

null 11 Sep 18, 2022
This an CRUD app built were users can create, update and delete specific day to day tasks as they wish. The app is built using webpack and served with webpack dev server

Todo-List This an CRUD app built were users can create, update and delete specific day to day tasks as they wish. The app is built using webpack and s

Duane David 10 Sep 28, 2022