Beetle Blocks is a visual block language to create 3D object. It is a project by Eric Rosenbaum, Duks Koschitz, Bernat Romagosa and Jens Mönig.It is based on Scratch and implemented using Snap! and ThreeJS.
The Github page describes Bettle Blocks as “a visual, blocks-based programming environment for 3D design and fabrication. BeetleBlocks programs move a graphical "beetle" around a 3D world, where it can place 3D shapes, extrude its path as a tube, and generate geometry in other ways. The resulting 3D geometry can be exported as a 3D-printable file.” (retrieved Jan 2020).
The language does include turtle graphics (motion) and some primitive 3D shapes, i.e. cubes, spheres and tubes. It supports extrusion, but not subtractive geometry. Unless the goals is to teach computational thinking with turtle graphics, we suggest using BlocksCAD instead since the latter includes more 3D primitives as well as subtractive geometry.
The following defines a simple cup. since there is no cylinder, we create a square bottom. We could have made a 2D circle with turtle graphics and then extruded the form, but that was too complicated :)
- Snap! Manual at beetleblocks.