Code Monkey home page Code Monkey logo

drawingbotv3's Introduction

Drawing Bot V3

Screenshot Platforms GitHub top language GitHub License GitHub release (latest by date including pre-releases) GitHub all releases Documentation Status

About

Drawing Bot is a free, open source software for converting images to line drawings for Plotters / Drawing Machines / 3D printers. It also serves as an application for visual artists to create stylised line drawings from images / video. You can find the full documentation here.

It is available for Windows, Mac and Linux.

If you want to support the development of DrawingBotV3 you can donate here

Features

  • 18 Path Finding Algorithms - all highly configurable to create unique drawing styles
  • Automatic Path Optimisation for Faster Plots - Line Simplifying, Merging, Filtering, Sorting
  • Pen Settings: configurable colour / stroke width / distribution weight / blend modes - perfect for multi-layered plots.
  • Image Sequences: You can export image sequences animations of your creations!
  • 60+ Image Filters for pre processing the imported image
  • Automated CMYK separation
  • Plotter / Serial Port Connection: Connect to HPGL based plotters and control them of the serial port.
  • Advanced User Interface with live drawing preview
  • User configurable Drawing Area, with Padding / Scaling Modes
  • Version Control: Save your favourite versions as you go and reload them.
  • Project Saving & Loading
  • Special pens for Original Colour/Grayscale Sampling
  • Presets: can be saved/imported/exported for sharing different styles with other users
  • Exports can be exported per/pen or per/drawing in multiple file types
  • Batch Processing: Convert entire folders of images automatically.
  • Video Processing: Convert every frame from imported video files automatically
  • HPGL Export - Export files for plotters, with configurable Hard-Clip limits, X-Axis Mirror, Y-Axis Mirror, X-Axis Alignment, Y-Axis Alignment, Rotation, Curve Flatness, Pen Velocity and the initial Pen Number.
  • GCode Export - configurable Drawing Area, XYZ Offsets / Auto Homing.
  • vpype Integration

Path Finding Modules

  • Sketch Lines PFM
  • Sketch Curves PFM
  • Sketch Squares PFM
  • Sketch Quad Beziers PFM
  • Sketch Cubic Beziers PFM
  • Sketch Catmull-Roms PFM
  • Sketch Shapes PFM
  • Sketch Sobel Edges PFM
  • Spiral PFM
  • Voronoi Circles
  • Voronoi Triangulation
  • Voronoi Tree
  • Voronoi Stippling
  • Voronoi Diagram
  • Voronoi TSP
  • Mosaic Rectangles
  • Mosaic Voronoi
  • Mosaic Custom

More info here

Supported File Types

Import Formats: 
    Images: [.tif, .tga, .png, .jpg, .gif, .bmp, .jpeg] 
    Videos: [.mp4, .mov, .avi]
       
Export Formats: 
    Vectors: [.svg, .hpgl, .pdf],
    Images/Image Sequences: [.png, .jpg, .jpeg, .tif, .tga]
    Videos: [.mp4, .mov]
    GCode: [.gcode, .txt],    

Installation

Downloads: Latest Release

You can choose from the following options.

  1. Windows - Installer (.exe)

    Includes all required libraries and Java Runtime. No further setup required.

  2. Windows - Portable (.zip)

    Includes all required libraries and Java Runtime. No further setup required.

  3. Mac (x86)/Linux/Win - Executable (.jar)

    Includes all required libraries but you must manually install JAVA 11+

  4. Mac M1 (arm64) - Executable (.jar)

    The bundled OpenJFX does not work on arm64 processors and using a x86 java build (through Rosetta 2 emulation) has graphical glitches & reduced performance. The best option is to install a JDK build with JFX built in, such as the one provided by Bellsoft just make sure to install the full package or JFX won't be bundled.

  5. Raspberry PI (ARM32) - Executable (.jar)

    As JavaFX is no longer part of the JDK (since JAVA 11), running a JavaFX program on Raspberry Pi will not work.
    BellSoft provides the Liberica JDK. The version dedicated for the Raspberry Pi includes JavaFX. And setting the version by default using the update-alternatives command.
    Thanks to Frank Delporte, more info at Java Magazine

    $ cd /home/pi 
    $ wget https://download.bell-sw.com/java/13/bellsoft-jdk13-linux-arm32-vfp-hflt.deb 
    $ sudo apt-get install ./bellsoft-jdk13-linux-arm32-vfp-hflt.deb 
    $ sudo update-alternatives --config javac 
    $ sudo update-alternatives --config java

Running the (.jar) on a MAC

Sometimes opening the .jar normally won't work on MAC, instead you should launch the jar from the terminal with the following command. Swapping in the correct file name

    java -jar DrawingBotV3-X.X.X-XXXX-all.jar

Running the (.jar) on a Raspberry PI

Opening the .jar may open it as an archive file, instead you should launch the jar from the terminal with the following command. Swapping in the correct file name

    java -jar DrawingBotV3-X.X.X-XXXX-all.jar

Included Dependencies

All the dependencies are automatically included and do not need to be installed manually.


Original Version

DrawingBotV3 started as an expansion of Drawbot Image to GCode V2 originally written by Scott Cooper.

Thanks to Scott for allowing me to publish this version!


The Drawing Bot Collection

I'm starting a collection of both Digital & Physical Artwork created with DrawingBotV3.

When the collection reaches a decent size it will be available online (on Instagram & The Drawing Bot Documentation) and potentially in exhibitions in the UK.

If you'd like to contribute to this collection please submit your artwork here!

If you work is phyisical, please email me here!

drawingbotv3's People

Contributors

sonarsonic avatar scott-cooper avatar hanzpetrov avatar aureliob avatar carloshm avatar ohmarinus 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.