All Projects → mikemag → MonkeyCAM

mikemag / MonkeyCAM

Licence: Apache-2.0 license
CAD/CAM software for ski and snowboard design and G-code program generation.

Programming Languages

HTML
75241 projects
nesC
38 projects
C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
CMake
9771 projects
CSS
56736 projects

Projects that are alternatives of or similar to MonkeyCAM

Grbl Plotter
A GCode sender (not only for plotters) for up to two GRBL controller. SVG, DXF, HPGL import. 6 axis DRO.
Stars: ✭ 286 (+741.18%)
Mutual labels:  cad, cam
involute-gear-generator
Involute gear generator – NodeJS command line utility.
Stars: ✭ 18 (-47.06%)
Mutual labels:  cad, cam
Tsugite
This is the repository of a Tsugite. It is a research prototype of an interactive software that supports the design and fabrication of wood joints.
Stars: ✭ 134 (+294.12%)
Mutual labels:  cad, cam
OCCT
Open CASCADE Technology (OCCT) is an open-source software development platform for 3D CAD, CAM, CAE. This is a clone of the official repository located on https://dev.opencascade.org/. Please use official development portal for registering issues and providing patches.
Stars: ✭ 241 (+608.82%)
Mutual labels:  cad, cam
Cavaliercontours
2D polyline library for offsetting, combining, etc.
Stars: ✭ 135 (+297.06%)
Mutual labels:  cad, cam
Gdspy
Python module for creating GDSII stream files, usually CAD layouts.
Stars: ✭ 171 (+402.94%)
Mutual labels:  cad
Sdfx
A simple CAD package using signed distance functions
Stars: ✭ 213 (+526.47%)
Mutual labels:  cad
Gismo
G+Smo (pronounced gismo or gizmo) is a C++ library for isogeometric analysis (IGA). Geometry plus simulation modules aims at the seamless integration of Computer-aided Design (CAD) and Finite Element Analysis (FEA).
Stars: ✭ 152 (+347.06%)
Mutual labels:  cad
Stanforddoggoproject
Stanford Doggo is an open source quadruped robot that jumps, flips, and trots!
Stars: ✭ 2,016 (+5829.41%)
Mutual labels:  cad
xcsg
XML based Constructive Solid Geometry based on carve
Stars: ✭ 24 (-29.41%)
Mutual labels:  cad
atom-jscad
Previewing (J)SCAD 3D models inside Atom.
Stars: ✭ 28 (-17.65%)
Mutual labels:  cad
Node Occ
build BREP Solids with OpenCascade and NodeJS - 3D Modeling
Stars: ✭ 202 (+494.12%)
Mutual labels:  cad
Cfdof
Computational Fluid Dynamics (CFD) for FreeCAD based on OpenFOAM solver
Stars: ✭ 181 (+432.35%)
Mutual labels:  cad
Opentimer
A High-performance Timing Analysis Tool for VLSI Systems
Stars: ✭ 213 (+526.47%)
Mutual labels:  cad
Elm Geometry
2D/3D geometry package for Elm
Stars: ✭ 162 (+376.47%)
Mutual labels:  cad
BowlerStudio
A Full-Stack Robotics Development Environment
Stars: ✭ 95 (+179.41%)
Mutual labels:  cad
Antimony
Antimony is a computer-aided design (CAD) tool from a parallel universe in which CAD software evolved from Lisp machines rather than drafting tables
Stars: ✭ 1,902 (+5494.12%)
Mutual labels:  cad
Librecad
LibreCAD is a cross-platform 2D CAD program written in C++11 using the Qt framework. It can read DXF and DWG files and can write DXF, PDF and SVG files. The user interface is highly customizable, and has dozens of translations.
Stars: ✭ 2,602 (+7552.94%)
Mutual labels:  cad
partdesigner
Create custom LEGO® Technic compatible construction parts for 3D printing
Stars: ✭ 104 (+205.88%)
Mutual labels:  cad
Mayo
3D CAD viewer and converter based on Qt + OpenCascade
Stars: ✭ 192 (+464.71%)
Mutual labels:  cad

MonkeyCAM v4.0

MonkeyCAM v4.0 is an open source CAD/CAM program for designing skis and snowboards, and generating G-code programs to cut board parts with a CNC machine.

The CAD portion of MonkeyCAM is quite limited, and is specifically designed to aid the design of skis and snowboards only. The CAM portion is slightly more general, but again is specialized to ski and snowboard manufacture.

The easiest way to use MonkeyCAM is at MonkeyCAM.org. See the tour for an overview of the site.

MonkeyCAM creates nine G-Code programs to cut all parts of a ski or snowboard on your CNC machine. For a real example of the results, see https://monkeycam.org/results/5744863563743232

MonkeyCAM is published on Github at https://github.com/mikemag/MonkeyCAM

More information about ski and snowboard construction can be found at Monkey Wiki and SkiBuilders.com.

Documentation

See the MonkeyCAM v4.0 User’s Guide for an overview of how to use and configure MonkeyCAM.

License

MonkeyCAM is licensed under the Apache License, Version 2.0 except as otherwise noted. See LICENSE for details.

The G-code programs generated by MonkeyCAM are license-free.

Current Release

The current version of MonkeyCAM is always live at MonkeyCAM.org, where you can use it without having to download it.

See the Releases page for the last engine release, which includes release notes and links to download binaries. Note that engine binaries are not released with every new feature, nor for every platform, and may be well behind what is available at MonkeyCAM.org.

Features and Current Status

The MonkeyCAM engine is currently a command-line program only, which is made available with a very basic UI at MonkeyCAM.org. The program takes configuration files to describe the ski or snowboard shape via a small set of parameters and generates the following G-code programs plus a HTML overview of the board:

  • Base cutout
  • Core:
    • Guide holes to allow the core to be removed and flipped between programs
    • Alignment marks to transfer key design points to the bottom of the core
    • Edge relief to leave room for steel edges
    • Insert holes for standard snowboard inserts (T-nuts) in a variety of patterns
    • Top profile to impart the taper to the core
    • Cutout, allowing for sidewall overhang and nose/tail spacers
  • Nose and tail spacers which match the core
  • Edge trenches to enable inlay of different edge wood and/or sidewall material along the effective edge of the core

The G-code programs emitted at this time have been tested on my CNC machine with a very old DeskCNC controller and work correctly. Each program also loads in Mach 3 and simulates correctly. The programs not involving holes load in ShopBot's controller and simulate correctly, but the ones with holes do not work for ShopBot right now.

There is no interactive user interface. Configuration is done via three text files, and all results are either G-Code programs, or the HTML overview which can be easily used to refine the board shape.

Future Work

MonkeyCAM v4.0 is a work in-progress. It is a port of MonkeyCAM v1-v3, developed by Mike Magruder for Happy Monkey Snowboards, Inc. from 2003 to 2012. The valuable parts of the MonkeyCAM v3 backend (shape and G-code generation) have been almost completely ported. The old UI has been discarded.

My plan for work includes, roughly in order:

  • Engine
    • Target more G-code controllers with different formats and requirements.
    • More options for effective edge, nose, and tail. (MonkeyCAM v3, for instance, had 6 tail options.)
    • Port the code to soften the transition between edge and nose/tail. (You can work around this with a sandblock and two min of your time for now.)
    • Read the overall board shape from other CAD programs (DXF at least).
    • Mold design and program to cut molds.
    • Roughing passes for the core profile.
    • Output the overall shape, insert locations, etc. to PDF/DXF for printing or use in other CAD programs.
    • Adapt for other kinds of 'boards': kite boards, skate boards, etc.
  • Web App
    • Improve input UI, remove need to use JSON.
    • Improve the results UI, remove the need for the overview HTML currently generated.
    • Worker reliability and scaling: retry, allow multiple workers again.

Dependencies

MonkeyCAM engine currently depends on the following packages:

  • Mac build: Mac OSX 10.14.4 Mojave with the system compiler, Apple LLVM version 10.0.1 (clang-1001.0.46.3).
  • Ubuntu build: ubuntu 16.04 LTS with the default compiler, gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609.
  • Windows build: Windows 10.0, MinGW with GCC 4.9.3-1.
  • CMake 3.5.1. See http://www.cmake.org/ or install via something like Ports.
  • Clipper 5.1.6. See http://sourceforge.net/projects/polyclipping/. The C++ version is copied in the clipper directory.

The web app currently depends on the following packages:

  • Node.js, v8.15.0 for the cloud functions, and v8.15.0 for the client and worker.
  • See the package.json files in the respective source directories for further dependencies. The major ones are React and Bootstrap on the UI side, and Google's cloud infra (Storage, Datastore, Pubsub) on the server side.
  • The web app is hosted on Google's cloud infra: App Engine, Cloud Functions, and Compute Engine.

Contributing

If you're a software developer who is into ski and snowboard construction or CAM and you're interested in helping out on MonkeyCAM then let's chat. Open up an issue with what you want to work on and we'll work out the details there, or fork the repo, make some changes and put up a pull request!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].