From Test-Scratch-Wiki

SandCastleIcon.png This page has links to outside of the Scratch website or Wikipedia. Remember to stay safe when using the internet as we can't guarantee the safety of other sites.
The BeetleBlocks Editor

BeetleBlocks is a graphical blocks-based programming environment for 3D design and fabrication.

It is made to use code to control a beetle that can place 3D shapes and extrude its path as a tube. Then it will 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.

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



BeetleBlocks has most of the same categories as Scratch, including My Blocks. 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".


The motion category
The control category
The pause block
  • Go home
  • move (number)

— Moves the specified number.

  • rotate z(dropdown) by (number)
  • go to x:(number)y:(number)z:(number)
  • set x(dropdown) to (number)
  • change absolute x(dropdown) by (number)
  • set z(dropdown) rotation to (number)
  • point to x:(number)y:(number)z:(number)
  • x(dropdown) position
  • z(dropdown) rotation
  • push position
  • pop position
  • set scale to (number)
  • change scale by (number)
  • scale


  • Reset

— Resets all rendered graphics.

  • When Green Flag clicked

— Runs the code below it when clicked.

  • When space(dropdown) key pressed
  • When I receive (dropdown)
  • Broadcast (dropdown)
  • [Checkbox] message
  • Warp
  • Wait (number) secs

— Waits for a period of time.

  • Wait until <boolean>
  • Forever

— Runs code inserted into it forever.

  • Repeat (number)

— Repeats code inserted into it a selected amount of times.

  • Repeat until <boolean>

— Repeats code inserted into it until a specified thing happens.

  • If <boolean>

— If something specified happens it will run the inserted code.

  • If <boolean> else

— If something specified happens it will run the code inserted into the if area but if it does not happen it will run the code inserted into the else area.

  • Report [string]
  • Stop all(dropdown)

— Stops the specified dropdown.

  • Stop all but this script

— Stops the script specified in the dropdown

  • Run (input)
  • Launch (input)
  • Call (input)
  • Run (input) w/continuation
  • Call (input) w/continuation
  • Pause all

— Pauses rendering.


The shapes category
  • Cube Dim. (number)
  • Cuboid l: (number) w: (number) h:(number)
  • Sphere Dia. (number)
  • Tube l:(number) outer: (number) inner: (number)
  • Text [string] H: (number) W: (number)
  • 2D text [string] size: (number)
  • Start drawing lines(dropdown)

— Starts drawing the specified dropdown option.

  • Stop drawing

— Stops drawing.

  • Start extruding curves(dropdown)
  • Stop extruding

— Stops extruding.

  • Set extrusion Dia. to (number)
  • Change extrusion Dia. by (number)


The colors category
  • Set hue(dropdown) to (number)

— Sets selected option to selected number

  • Change hue(dropdown) by (number)

— Changes selected option by selected number

  • Color (dropdown)


The sensing category
  • Request user input [text]

— Requests inputted text

  • [Checkbox] answer
  • [Checkbox] mouse x
  • [Checkbox] mouse y
  • <mousedown>
  • <key space(dropdown) pressed?>
  • reset timer
  • [Checkbox] timer
  • [http://(url)]
  • <turbo mode?>
  • set turbo mode to <boolean input>

— Sets turbo mode to inputted boolean

  • (current date(dropdown))


The operators category
  • (number) + (number)
  • (number) - (number)
  • (number) x (number)
  • (number) / (number)
  • (number) mod (number)
  • round (number)
  • sqrt(dropdown) of (number)
  • pick random (number) to (number)
  • (input) < (input)
  • (input) = (input)
  • (input > (input)
  • <boolean> and <boolean>
  • <boolean> or <boolean>
  • not <boolean>
  • <true>
  • <false>
  • join (text)|(text)|(text) <increase>
  • split (text) by (dropdown)
  • letter (number) of (text)
  • length of (text)
  • unicode of (letter)
  • unicode (number) as a letter
  • is (input) a number(dropdown) ?
  • is (input) identical to (input) ?
  • JavaScript function ((input)<increase>) {(input)}


The variables category
  • set (dropdown) to (input)

— Sets inputted variable to inputted text/number

  • change (dropdown) by 1(number)

— Changes inputted variable by inputted number

  • show variable (dropdown)

— Shows the inputted variable

  • hide variable (dropdown)

— Hides the inputted variable

  • script variables a(input) <increase>
  • list (input) <increase>
  • (input) in front of list
  • item 1(dropdown) of list
  • all but first of list
  • length of list
  • list contains thing(input)
  • add thing(input) to list

— Adds inputted text/number to the list

  • delete 1(dropdown) of list

— Deletes inputted item from the list

  • insert thing(input) at 1(dropdown) of list

— Inserts inputted text/number in the inputted area of the list

  • replace item 1(dropdown) of list with thing(input)

— Replaces inputted item of list with inputted item

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 make a block button

The make a block section consists of only one block until you create more. To create more 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

Cookies help us deliver our services. By using our services, you agree to our use of cookies.