## Introduction: 3D Design Using Coding (EisenScript)

I am a very-keen-on-technology kind of guy, and I love trying new things and experimenting with them even if there is no specific purposes. That's what happened a few months ago: I found this software (StructureSynth) which lets you design in a three-dimensional workspace without any built-in commands found in CAD (Computer Assisted Design) softwares, but using its own coding language, called EisenScript. This code language uses primitive shapes, such as boxes and spheres; and transformation and translation commands to create objects that would be very challenging to design on a CAD software.

After using for the first time StructureSynth, I thought it would be very difficult for me to learn this language, so I left it aside. Until last week: when I came across this contest and I thought it was the perfect reason to learn this EisenScript language.

This is why I want to share a step-by-step guide on how I learnt to use this software and what I did.

-PC or laptop

-Creativity

## Step 1: Learn EisenScript Language

There aren't many resources on the Internet which teach you how to code using this language, so what I did is to take the coding examples in the software and analyze them as much as I could, from the basic shapes and transformations, to the most complex and intricate codes.

After analyzing them, I decided it would help a lot making a chart with the meaning of each command, so that I could remember them much more easily.

(The most important thing you should think about is that you must practice to get familiar with this code)

## Step 2: Come Up With a Project

A problem I faced after learning the basics about the EisenScript language was to make a useful design to 3D print afterwards. It was quite challenging, as I didn't have much practice; which meant I had to find a simple but practical object.

After spending almost 1 hour thinking about this, I eventually came up with the idea of doing a pin-tray: an object that's used to leave your keys, your wallet, some cash... when you come home.

Now I just needed to figure out the script.

## Step 3: Final Step: Create the Script

I spent a lot of time until I worked out exactly how I wanted it to look like and designed the script that would create the pin-tray.

It is quite a simple script, but the design turned out to be as basic and useful as I wanted it to be.

Now I just need to export it as an .OBJ file and 3D print it.

(You can find the code I used in the image. However, you can also copy and paste it directly from here:)

set background #fff
set maxdepth 25

r0

Rule r0 {

36 * { rz 10} R1

}

Rule R1 {

{ x 3 ry 5 rz 0.7 rx 2 s 0.99} R1

{ s 4 } box

}