All Projects β†’ microsoft β†’ Maker.js

microsoft / Maker.js

Licence: apache-2.0
πŸ“βš™ 2D vector line drawing and shape modeling for CNC and laser cutters.

Programming Languages

typescript
32286 projects
arc
50 projects

Projects that are alternatives of or similar to Maker.js

Grbl Plotter
A GCode sender (not only for plotters) for up to two GRBL controller. SVG, DXF, HPGL import. 6 axis DRO.
Stars: ✭ 286 (-75.86%)
Mutual labels:  cad, cnc, laser, svg
Kld Intersections
A library of intersection algorithms covering all SVG shape types
Stars: ✭ 214 (-81.94%)
Mutual labels:  svg, line, circle
Svg.skia
An SVG rendering library.
Stars: ✭ 122 (-89.7%)
Mutual labels:  vector, geometry, svg
Sharpmath
A small .NET math library.
Stars: ✭ 36 (-96.96%)
Mutual labels:  vector, geometry, draw
Elm Geometry
2D/3D geometry package for Elm
Stars: ✭ 162 (-86.33%)
Mutual labels:  vector, cad, geometry
ludigraphix.github.io
Documentation for Ludigraphix
Stars: ✭ 21 (-98.23%)
Mutual labels:  drawing, geometry, vector
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 (-87.17%)
Mutual labels:  cad, geometry, bezier
powerpaint
Kreative PowerPaint - Library and Application for Bitmap and Vector Image Editing
Stars: ✭ 27 (-97.72%)
Mutual labels:  drawing, vector, draw
Nurbs Python
Object-oriented pure Python B-Spline and NURBS library
Stars: ✭ 295 (-75.11%)
Mutual labels:  cad, geometry, bezier
Drawkit
Vector and illustration framework for macOS
Stars: ✭ 299 (-74.77%)
Mutual labels:  vector, drawing, cad
Shapesinopengles2.0
Create basic shapes in opnegles2. And for abstraction purpose, its a class implementation using VBO's to create basic shapes in Open GLES2.0
Stars: ✭ 20 (-98.31%)
Mutual labels:  drawing, line
React Planner
✏️ A React Component for plans design. Draw a 2D floorplan and navigate it in 3D mode.
Stars: ✭ 846 (-28.61%)
Mutual labels:  svg, draw
React Circle
Renders a svg circle + progress, it just works πŸ’˜
Stars: ✭ 925 (-21.94%)
Mutual labels:  svg, circle
Itext7
iText 7 for Java represents the next level of SDKs for developers that want to take advantage of the benefits PDF can bring. Equipped with a better document engine, high and low-level programming capabilities and the ability to create, edit and enhance PDF documents, iText 7 can be a boon to nearly every workflow.
Stars: ✭ 913 (-22.95%)
Mutual labels:  svg, pdf
Built vector
Generate Flutter vector code from a subset of SVG files.
Stars: ✭ 33 (-97.22%)
Mutual labels:  vector, svg
Opencv Cheat Sheet
Opencv cheat sheet for C++
Stars: ✭ 30 (-97.47%)
Mutual labels:  drawing, geometry
Jquery Mapael
jQuery plugin based on raphael.js that allows you to display dynamic vector maps
Stars: ✭ 981 (-17.22%)
Mutual labels:  vector, svg
Celiagg
🎨Anti-Grain Geometry for Python 3 with Cython
Stars: ✭ 17 (-98.57%)
Mutual labels:  vector, drawing
Perfect Freehand
Draw perfect pressure-sensitive freehand strokes.
Stars: ✭ 999 (-15.7%)
Mutual labels:  drawing, svg
Mobius
Scripts to extract data from the COVID-19 Google Community Mobility Reports
Stars: ✭ 47 (-96.03%)
Mutual labels:  svg, pdf

Maker.js

Your compass and straightedge, in JavaScript.

Create line drawings using familiar constructs from geometry and drafting. Initially designated for CNC and laser cutters, Maker.js can also help you programmatically draw shapes for any purpose. It runs in both Node.js and web browsers.

2D Export formats: DXF, SVG, PDF, Jscad CAG object

3D Export formats: Jscad Script, Jscad CSG object, STL

Demos - Documentation

Sample animation

Core concepts

  • paths - The primitive elements of a drawing are lines, arcs, and circles.
  • models - Groups of paths to compose a shape.
  • layers - Organization of models, such as by color or tool type.
  • chains - A series of lines and arcs that connect end-to-end continuously.

Learn more in the tutorial or API documentation.

Features

Built-in models

Import formats

Getting Started

Try it now

Visit the Maker.js Playground a sample app to edit and run JavaScript from your browser.

Each of the demos will also open in the playground so that you can explore and modify their code.

To use in a web browser

Download the browser-based version of Maker.js, then upload it to your website: https://maker.js.org/target/js/browser.maker.js

Add a script tag in your HTML:

<script src="https://maker.js.org/target/js/browser.maker.js" type="text/javascript"></script>

Note: You may also need additional libraries

In your JavaScript, use the require function to get a reference:

var makerjs = require('makerjs');

To use via CDN

Add a script tag to your HTML:

<script src="https://cdn.jsdelivr.net/npm/[email protected]/target/js/browser.maker.js"></script>

To work with Bezier Curves, you will also need a copy of Bezier.js by Pomax

<script src="https://cdn.jsdelivr.net/npm/[email protected]/bezier.js"></script>

To work with fonts, you will need both Bezier.js(above) and a copy of Opentype.js by Frederik De Bleser

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/opentype.js"></script>

In your JavaScript, use the require function to get a reference:

var makerjs = require('makerjs');

To use in Node.js

To depend on Maker.js, run this from the command line:

npm install makerjs --save

In your JavaScript, use the require function to get a reference:

var makerjs = require('makerjs');

Contributing

There are many ways to contribute to Maker.js:

Some of these may require a contributor agreement.

Credits

Maker.js depends on:


Maker.js is a Microsoft Garage project. The Microsoft Garage turns fresh ideas into real projects. Learn more at http://microsoft.com/garage.

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].