SandCastleIcon.png This page has links to websites or programs not trusted by Scratch or hosted by Wikipedia. Remember to stay safe while using the Internet, as we can't guarantee the safety of other websites.
Beetle Blocks
Beetle Editor.png
Version Alpha
Operating Systems Any recent web browser
Purpose for creation 3D design and fabrication
Developer(s) Eric Rosenbaum, Duks Koschitz, Bernat Romagosa, others
Open source? Yes (AGPLv3)
Programming language JavaScript
Official Website http://beetleblocks.com
Open Source Repository https://github.com/ericrosenbaum/BeetleBlocks

BeetleBlocks is a graphical blocks-based programming environment for 3D design and fabrication. It allows writing scripts to control a beetle that can place 3D shapes and extrude its path as a tube, which can then be used to make a 3D print. BeetleBlocks is made by Eric Rosenbaum and Duks Koschitz, with software development by Bernat Romagosa and Jens Moenig. It is based on Scratch and Snap!.

Note Note: BeetleBlocks is alpha software, currently in development.
An example of what BeetleBlocks can do

Editor

Categories

BeetleBlocks has most of the same block categories as Scratch. In any of the categories, you can right click a block and hide it. If you wish to restore the block you must right click the background and select "show primitives". BeetleBlocks has these blocks, in addition to most of those found in Snap!:

Motion

The motion category
The control category
The pause block
  • go home :: motion
  • move (1) :: motion — Moves the specified number of steps.
  • rotate [z v] by (15) :: motion
  • go to x: (0) y: (0) z: (0) :: motion
  • set [x v] to (0) :: motion
  • change absolute [x v] by (1) :: motion
  • set [z v] rotation to (0) :: motion
  • point to x: (0) y: (0) z: (0) :: motion
  • ([x v] position :: motion)
  • ([z v] rotation :: motion)
  • push position :: motion — Saves the beetle's position so it can be used later.
  • pop position :: motion — Restores the position most recently saved with the block above and removes it.
  • set scale to (1) :: motion
  • change scale by (0.5) :: motion
  • (scale :: motion)

Control

  • reset :: #505050 — Clears all rendered graphics.

Shapes

The shapes category
  • cube Dim. (0.5) :: #308997
  • cuboid l: (1) w: (0.5) h: (0.3) :: #308997
  • sphere Dia. (0.5) :: #308997
  • tube l: (2) outer: (1) inner: (0.5) :: #308997
  • text [hello] H: (1) W: (0.5) :: #308997
  • 2D text [hello] size: (10) :: #308997
  • start drawing [lines v] :: #308997
  • stop drawing :: #308997
  • start extruding [curves v] :: #308997
  • stop extruding :: #308997
  • set extrusion Dia. to (1) :: #308997
  • change extrusion Dia. by (1) :: #308997

Colors

The colors category
  • set [hue v] to (50) :: #653d7a — Sets the hue, saturation, lightness, or opacity of the beetle's color.
  • change [hue v] by (10) :: #653d7a
  • (color [hue v] :: #653d7a)

Sensing

  • request user input [] :: #828282 — Asks a question and stores the answer in (answer :: #828282).

Make a Variable

The make a variable dialogue box

The make a variable button takes you to the variable creating dialogue. In this dialogue you can input the variable name and select if you want this variable to be available for all sprites or only for the one that you are currently creating the variable in.

Make a Block

The make a block dialogue box

The category My Blocks has no blocks until one is created. To create a block one must click on the Make a block button. This will open up a dialogue box which will give you a selection of customization options.

  1. The first one gives you a selection of category. The color of the block varies according to the category that has been chosen.
  2. In the second one you can select a name for your block, this will be written on the block.
  3. For the third option you have the ability to select between three block types: Command, Reporter and Predicate.
  4. The fourth final option is whether the block should be available/visible only for the sprite that the block is currently being created in or whether it should be available/visible for all sprites.

See Also

External Links