Antimony: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
Antimony is a computer-aided design (CAD) tool from a parallel universe in which CAD software evolved from Lisp machines rather than drafting tables. | Antimony is a computer-aided design (CAD) tool from a parallel universe in which CAD software evolved from Lisp machines rather than drafting tables. | ||
foundations | ==foundations== | ||
Antimony is built on three mostly-orthogonal axes: | Antimony is built on three mostly-orthogonal axes: | ||
Line 10: | Line 10: | ||
A standard library of shapes and transforms | A standard library of shapes and transforms | ||
Graph engine | ===Graph engine=== | ||
Solid modeling in Antimony is done by connecting nodes in a graph. Each node is defined by a customizable script. Antimony uses Python 3.x plus a few extra magic keywords. Nodes usually represent a primitive shape or transform. Links are tracked and changes are automatically propagated downstream. | Solid modeling in Antimony is done by connecting nodes in a graph. Each node is defined by a customizable script. Antimony uses Python 3.x plus a few extra magic keywords. Nodes usually represent a primitive shape or transform. Links are tracked and changes are automatically propagated downstream. | ||
Geometry engine | ===Geometry engine=== | ||
Antimony's geometry engine uses functional representations for solid modeling. This representation is particularly suitable for modeling with boolean operations (union / intersection / difference). | Antimony's geometry engine uses functional representations for solid modeling. This representation is particularly suitable for modeling with boolean operations (union / intersection / difference). | ||
Line 22: | Line 22: | ||
Antimony can export heightmaps for 2.5D processes and .stl files for 3D manufacturing. The .stl export includes feature detection to keep corners and edges sharp. | Antimony can export heightmaps for 2.5D processes and .stl files for 3D manufacturing. The .stl export includes feature detection to keep corners and edges sharp. | ||
Standard library | ===Standard library=== | ||
Antimony's standard library defines many shapes and transforms, from basic (rotate, scale, boolean operations) to unusual (attract, repel, bend). | Antimony's standard library defines many shapes and transforms, from basic (rotate, scale, boolean operations) to unusual (attract, repel, bend). | ||
Line 28: | Line 28: | ||
These shapes are used in node definitions, which typically add input and output ports and can optionally define UI features. | These shapes are used in node definitions, which typically add input and output ports and can optionally define UI features. | ||
Development | ==Development== | ||
Antimony is a long-running project under active development. It's at a beta level of stability: solid, but not recommended for mission-critical use. | Antimony is a long-running project under active development. It's at a beta level of stability: solid, but not recommended for mission-critical use. | ||
Line 38: | Line 38: | ||
For more ambitious folks with C++ experience, there are a whole host of improvements that could be made, from speeding up rendering to cleaning up the UI and optimizing graph evaluation. Send me a note if this piques your interest. | For more ambitious folks with C++ experience, there are a whole host of improvements that could be made, from speeding up rendering to cleaning up the UI and optimizing graph evaluation. Send me a note if this piques your interest. | ||
history | ==history== | ||
Antimony grew out of my work on powerful personal-scale CAD/CAM workflows at the MIT Center for Bits and Atoms. | Antimony grew out of my work on powerful personal-scale CAD/CAM workflows at the MIT Center for Bits and Atoms. | ||
It's the latest tool in a line of software that included cad_ui and kokopelli, and draws inspiration from fabserver. | It's the latest tool in a line of software that included cad_ui and kokopelli, and draws inspiration from fabserver. |
Latest revision as of 20:50, 14 June 2015
http://www.mattkeeter.com/projects/antimony/3/. MIT License = OSI/OSE approved
Antimony is a computer-aided design (CAD) tool from a parallel universe in which CAD software evolved from Lisp machines rather than drafting tables.
foundations
Antimony is built on three mostly-orthogonal axes: A framework for tracking information flow through directed acyclic graphs A geometry engine for doing CSG A standard library of shapes and transforms
Graph engine
Solid modeling in Antimony is done by connecting nodes in a graph. Each node is defined by a customizable script. Antimony uses Python 3.x plus a few extra magic keywords. Nodes usually represent a primitive shape or transform. Links are tracked and changes are automatically propagated downstream.
Geometry engine
Antimony's geometry engine uses functional representations for solid modeling. This representation is particularly suitable for modeling with boolean operations (union / intersection / difference).
In the application, the geometry engine renders shapes as shaded bitmaps. They're then blitted to a 3D viewport.
Antimony can export heightmaps for 2.5D processes and .stl files for 3D manufacturing. The .stl export includes feature detection to keep corners and edges sharp.
Standard library
Antimony's standard library defines many shapes and transforms, from basic (rotate, scale, boolean operations) to unusual (attract, repel, bend).
These shapes are used in node definitions, which typically add input and output ports and can optionally define UI features.
Development
Antimony is a long-running project under active development. It's at a beta level of stability: solid, but not recommended for mission-critical use.
A prebuilt Mac application can be downloaded from the Github releases page. Antimony's source is available on Github, along with instructions for building it on Mac and Linux.
If you're interested in contributing, there's a pretty low bar for entry. Given basic Python knowledge, you can get started making custom nodes.
For more ambitious folks with C++ experience, there are a whole host of improvements that could be made, from speeding up rendering to cleaning up the UI and optimizing graph evaluation. Send me a note if this piques your interest.
history
Antimony grew out of my work on powerful personal-scale CAD/CAM workflows at the MIT Center for Bits and Atoms.
It's the latest tool in a line of software that included cad_ui and kokopelli, and draws inspiration from fabserver.