Cadmio is a new way of "writing" a 3D model. It offers familiar JSX syntax that is transpiling into OpenJSCAD.
Users beware: Cadmio is under the alpha stage. Many APIs are missing. Please do not attempt to deploy it on your production environment unless you are fully aware of what it means.
Install cadmio
via npm.
npm install -g cadmio
Write your 3D model and save it as logo.jsx
.
import Cadmio, { Union, Difference, Intersection, Cube, Sphere } from 'cadmio';
const OpenJSCADLogo = (
<Union>
<Difference>
<Cube size={3} center={true} />
<Sphere r={2} center={true} />
</Difference>
<Intersection>
<Sphere r={1.3} center={true} />
<Cube size={2.1} center={true} />
</Intersection>
</Union>
);
const Logo = Cadmio.create(
'Union',
Cadmio.create('Difference'),
Cadmio.create('Difference'),
);
export default Cadmio.render(Logo);
Compile logo.jsx
with cadmio
command.
cadmio -f stl -o ./logo.stl ./logo.jsx
Now you got logo.stl
!
PRs welcome!
Thanks goes to these wonderful people (emoji key):
uetchy 💻 📖 |
Sora Morimoto 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!