Recently John Fultz announced GitLink as open source on GitHub. He also mentioned the desire to offer more Wolfram related open source to the community. Draw was not mentioned by John but readers of his post followed the GitHub link and discovered the Draw repository. Naturally questions followed so here we are with an introduction of Draw, the latest open source contribution to the community.
Draw is a vector drawing application. Many of the technical illustrations found in the Wolfram Language documentation were created using it. The release of Draw is to promote the advantages of using the Wolfram Language for software development.
Draw was a personal project that grew from an idea to develop a simple tool to automate the drawing of flowcharts. This simple tool expanded in response to the need of functionality for solving specific challenges required by various illustrations. The Wolfram Language was very instrumental in helping Draw evolve during this process.
Some of the more prominent features of Draw include:
Orthographic 3D drawing
Circuit, Mechanical and 3D library presets
Adjustable shapes such as gears or spirals
Shape arrays
Image autotrace
The gallery of examples below demonstrate the capabilities of Draw:
Hope this brief introduction is enough to inspire you to download the Draw notebook from this GitHub link. Start creating illustrations or explore the Wolfram Language code to discover how the application works. Support is available by clicking the blue help button for topics such as the basics, features, interaction, tools, examples and tips. Tooltips appear for all buttons detailing their behavior. Remember this is open source software and comes with no guarantee. That being said, feel free to kick the tires and take it for a spin.
Draw works best when used in Mathematica 11 but most functionality is supported by Mathematica 10.4.1.
This is very nice. Thank you for sharing it. I have two small suggestions after opening this version for the firs time:
The window does not fit on my screen vertically. I use a MacBook Pro, i.e. my screen resolution is 1440 by 900. But the menu bar also takes up vertical space, and so can the dock (although personally I have that hidden). I can increase the screen resolution in which case Draw becomes usable (but not resizable).
It takes quite a few seconds for Draw to start up. Since the notebook has the cell brackets hidden, there is no very clear indication that something is happening at all. (Unless I look at “Running…” in the title bar.) It would be nice to put a PrintTemporary@ProgressIndicator[Appearance -> "Necklace"]; or similar to the beginning of the init code, to reassure users that something is indeed happening.
The canvas size is set by the global variable $dtCanvasSize. It is currently set to 750 but you can change it. However using a value other than 750 will cause the renderings in Draw to not match what is copied to the clipboard. Line weights, arrow sizes, etc. will be affected. Changing it to 700 would shrink it a little and not be too noticeable.
The GitHub notebook now displays cell brackets so you can see when draw[] is evaluating.
I have tried to run the package from Wolfram Desktop, but I couldn’t make it to work. All I did was to download the zip and the run DrawTools.wl.
Could you give us a getting started lines?
Thanks. I like this drawing tool. It allows me to stay in the Wolfram environment when writing complex documents. Hopefully, you continue to maintain it.