OpenSCAD for Jupyter has been released
The OpenSCAD kernel V1.0.13 for Jupyter is available on PyPi and ready to be used. As a poof of concept and to test the functionality I was using my Quadrotor Design:
The OpenSCAD kernel V1.0.13 for Jupyter is available on PyPi and ready to be used. As a poof of concept and to test the functionality I was using my Quadrotor Design:
Out of the box Jupyterlab is providing a rich set of supported languages for Syntax Highlighting. Unfortunately OpenSCAD is not one of them. So I tried to research this topic: Internally Jupyterlab is using the CodeMirror editor and Codemirror allows to extend the syntax highlighting by defining custom modes. The easiest way is to use a Simple Mode. Jupyterlab as well supports the functionality of Extensions. So the challenge is to provide a Jupyterlab Extension Read more
Update: I needed to switch from Alpine to Ubuntu to make this work reliably. The latest release is also automatically adding the necessary xvfb command at the startup of the kernel. The image can be found on Dockerhub
I was missing a Jupyter Kernel for OpenSCAD. There are already different existing projects that try to bring the OpenSCAD functionality to Jupyter: ViewSCAD is providing a Python API over OpenSCAD SCAD4 is providing an API for JVM based Languages But you can’t use the OpenSCAD language itself in the Jupyter cells. So I decided to take up the challenge and spend a couple of days on this topic. The initial idea was to use Read more
The STL (Standard Triangle Language) is the industry standard file type for 3D Printing. Jupyter and it’s successor Jupyterlab offer quite a big range of built in renderers that allow you to display different file formats. Unfortunately this is not true for 3D file formats. To close this gap, I decided to implement a simple Mime Renderer for Jupyterlab using the powerfull functionality of Three.js. Though other file formats might work as well, I was setting the focus on STL Read more
I was struggling quite a bit to integrate the parameters into the Scad4J API. Here is an example which demonstrates how we can use the Scad4J library to build a simple RC quad.
I tried to build some complex models with Scad4J and realised that the generated code is getting quite unreadable. So it would be useful if we could use modules to structure our models. Here is an example how we can use the Scad4J library to build a first DRAFT of a simple RC airplane. We demonstrate how to use modules.
Cork Pals are toys that utilize 3D printing and recycling. Use a wine cork to connect two 3D printed pieces and there you have it. In my experience not all corks were always fitting: one cork side might be too big or too small – so I decided to make it customizable. All my designs can be found on Thingiverse. In this Gist I demonstrate how to load my OpenScad models from Github with the Read more
I am about to design a model RC plane. In order to attach the control surfaces to the body I am planning to use some hinges. Fortunately there is a ‘Parametric Hinge’ written by ‘Rohin Gosling’ that can be used in OpenSCAD. In this Blog I will check out how we can use this in Scad4J. Here is a quick Gist that demonstrates how we can use this library in Scad4J.
I bought myself a 3D printer and I thought it would be cool to program the models in Jupyter. I am currently doing quite some development in Scala so a JVM based solution running in Jupyter would be my preferred option. Most of the people use some GUI driven CAD or Graphics Modelling Tools like Blender to develop 3D models. There are only a few lean, easy to learn options that focus on specifying the Read more