Other Primary Structures
Introduction
Primary Structures: Younger American and British Sculptors was the 1966 Jewish Museum exhibit of International Sculpture from the 1960's that focused on young American and British artists. This survey show was the first to exhibit the style that is now known as Minimalism.Other Primary Structures,curated by Jens Hoffmann, is a new exhibition that revisits the ideas of the Seminal 1966 Exhibition, while also reexamining the period from today's more global perspective. This exhibition will present sculpture from the 1960s by artists from Latin America, Asia, Africa, the Middle East, and Eastern Europe, much of which has rarely been seen in the United States.
See more information at: thejewishmuseum.org
Jewish Museum Workshop
Introduction to TinkerCad
30 MinutesTinkercad is an easy-to-use tool for creating 3D models for 3D printing. It is part of the Autodesk family of products, which are free and exist to enable students, makers, and individuals from all walks of life to design and make the things they imagine.
- Navigate in a web-gl enabled browser (Chrome or Firefox) to tinkercad.com
- If you have not already signed up for a free account, do so now
- To exit the tutorial and start experimenting, exploring and modeling click on the Tinkercad logo:
- To start a new model click on Create new design
- For greater precision I generally change the Snap grid value to 0.1
- To add shapes, letters and numbers you drag your selection from the palette on the right over to the workplane:
- You can get the dimensions of an object by moving the cursor over the nodes or handles:
- You can also get and/or modify the dimensions by laying down the ruler:
- You can resize your form by dragging the corner points or using the ruler and editing the field:
- Dragging the corner point while holding shift will increase the X,Y and Z axis proportionally:
- You can copy and paste your forms using the standard keyboard commands. When you paste, Tinkercad will move your new form to the right:
- You can raise the height of your form by dragging the node below the up arrow
- You can subtract shapes from each other by placing the shape you want to remove, selecting it and then clicking on the the hole icon
- You can still adjust the location of the hole by dragging the form
-
When you want to remove the shape, drag your cursor over or Shift+Left Click on both objects (what you want to keep and what you want to remove)
- When both are selected, click on Group
- To view the hole, rotate with the mouse:
- You can easily rotate your objects by clicking on the rotation icons:
- You can move the workplane by placing it on a side of any of your forms. This allows you to add more forms on an angle:
- To reset the workplane, just drag the workplane from the palette to the work area:
- You can measure distances using the ruler
Place the ruler then click on objects:
- To align forms, select them and click on Adjust:
- Now select Align
- Click on the node you would like the forms to align with:
- To save the STL file, click on Design and select Download for 3D Printing:
Then select on the STL button: - Experiment, have fun, print
Building Forms
15 minutesYour job now is to use the art work from the museum as inspiration and to work in groups to design your own structures using a set of straws and connectors.
You may cut or bend your straws. When constructing your forms, think about triangles, hexagons, grids and Archimedean, Platonic and Johnson solids.
Archimedean solids are symmetric, semi-regular convex polyhedrons composed of two or more types of regular polygons meeting at identical vertices. Platonic solid are composed of only one type of polygon that meets at identical vertices, and Johnson solids have regular polygonal faces that do not meet in identical vertices.
Modeling Forms
30 minutes- Place your model in a place where every member of your group can view it.
- Open Tinkercad
- Look at your form and reconstruct it as a 3D model.
- Select the most successful or most interesting interpretation of your original structure.
Downloading, Slicing and Printing
20 Minutes- Click on the Design menu and select Properties.
- Rename your file and save the changes
- From the Design menu select Download for 3D Printing:
- Select on the STL button:
- Open MakerWare. If you have not installed this software, you can find it here.
- Click on the Add button and navigate to or just drag your stl file on to the virtual platform.
- If you see this window, click on the move to platform button
- To use any of the transformation tools, your STL file must be selected (i.e. highlighted in yellow)
- Press M to move the model on the platform:
- Press T to rotate the model on the platform:
- Press S to scale the model on the platform:
- Click on Uniform scaling to toggle this option. When deselected you can scale along each axis:
- Press L to change the view:
- Click on the Make Icon
. Generally the default settings are fine for most prints.
- Click on the Export button to save the x3g file. You can save this file on your computer or on an SD card. If you are tethered to your printer you should select Make It Now before pressing the Export button
- To save all your transformations, save the thing file by clicking on the Save icon.
Using a Template
- Click the boxes to generate your printing template. Each highlighted box must be connected to another box in order to print.
- When you have finished selecting your pattern, click on the check pattern link.
- Copy the following code and paste it into OpenSCAD:
//derivative of //Hinged Box With Latch, Somewhat Parametric and Printable In One Piece //by Aaron Newsome outer=2; thickness=.5; length=40; depth = length; offset=.5; inner=(outer-thickness)/2+.5; len=(length/3)-1; offsetP=2; right=false; top=false; bottom=false; width = 40; hingeOuter = 5; hingeInner = 2; hingeInnerSlop = .4; hingeFingerSlop = .4; size = 7; array=[ your_pattern_goes_here ]; for(col=[0:4]){ for (row = [0:5]) { if(array[row*5+col]!=0){ if(array[row*5+col]=="l"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=false, right=false, bottom=false); } if(array[row*5+col]=="r"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=true, right=false, bottom=false); } if(array[row*5+col]=="lr"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=true, right=false, bottom=false); } if(array[row*5+col]=="t"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=false, right=false, bottom=false); } if(array[row*5+col]=="b"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=false, right=true, bottom=false); } if(array[row*5+col]=="bt"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=false, right=true, bottom=false); } if(array[row*5+col]=="lb"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=false, right=true, bottom=false); } if(array[row*5+col]=="rb"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=true, right=true, bottom=false); } if(array[row*5+col]=="rbt"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=false, right=true, bottom=false); } if(array[row*5+col]=="lrt"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=true, right=false, bottom=false); } if(array[row*5+col]=="lrb"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=false, right=true, bottom=false); } if(array[row*5+col]=="rt"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=true, right=false, bottom=false); } if(array[row*5+col]=="lrbt"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=true, right=true, bottom=false); } if(array[row*5+col]=="lbt"){ translate([(length+offsetP)*row,(length+offsetP)*col,0]) panel(top=false, right=true, bottom=false); } if(array[row*5+col]=="lt"){ translate([(length+offsetP)*row,length*(col),0]) panel(top=false, right=false, bottom=false); } } } } module panel(top=true, right=true, bottom=true){ translate([-((len*3)+1)/2,-((len*3)+1)/2,0]){ translate([0,outer/2-thickness,-outer/4]) plane(outer,thickness,length,len,inner); if (top){ color([1,1,0]){ translate([(depth/3)/2,(len*3)+4,outer/2]) hinge(outer,thickness,4*depth/6,len,inner); } } if(right){ color([1,0,0]){ rotate([0,0,90]) translate([(depth/3)/2,-(4+len*3)+offset,outer/2]) hinge(outer,thickness,4*depth/6,len,inner); } } if(bottom){ color([1,1,1]){ translate([0,-(depth/3)/2,outer/2]) hinge(outer,thickness,4*depth/6,len,inner); } } } } module plane(outer,thickness,length,len,inner){ difference(){ cube([(len*3)+1,(len*3)+1,outer/2]); translate([(len*3+1-(2*len))/2,(len*3+1-(2*len))/2,-1]) cube([(2*len),2*len,outer*2]); } } module hinge(outer,thickness,depth,len,inner){ $fn = 100; translate([depth/2,0,-2]){ rotate([0,0,90]){ difference() { hull() { translate([0,-depth/2,5]) rotate([-90,0,0]) cylinder(r = hingeOuter/2, h = depth); translate([-hingeOuter - .1, -depth/2,1]) cube([.1,depth,.1]); translate([-hingeOuter, -depth/2,1]) cube([hingeOuter/2,depth,.5]); translate([0, -depth/2,5]) rotate([0,45,0]) cube([hingeOuter/2,depth,.01]); } // cutouts for (i = [-depth/2 + size:size*2:depth/2]) { translate([-hingeOuter,i - (size/2) - (hingeFingerSlop/2),0]) cube([hingeOuter*2,size + hingeFingerSlop,hingeOuter*2]); } } // center rod translate([0,-depth/2,5]) rotate([-90,0,0]) cylinder(r = hingeInner /2, h = depth); } } translate([depth/2,0,-2]){ rotate([0,0,90]){ difference() { hull() { translate([0,-depth/2,5]) rotate([-90,0,0]) cylinder(r = hingeOuter/2, h = depth); translate([hingeOuter+1, -depth/2,1]) cube([.1,depth,.5]); translate([-hingeOuter/2, -depth/2,5]) cube([hingeOuter,depth,.1]); translate([0, -depth/2,4]) rotate([0,45,0]) cube([hingeOuter/2,depth,.01]); } // cutouts for (i = [-depth/2:size*2:depth/2 + size]) { translate([-hingeOuter/2,i - (size/2) - (hingeFingerSlop/2),0]) { cube([hingeOuter*2,size + hingeFingerSlop,hingeOuter*2]); } if (depth/2 - i < (size * 1.5)) { translate([-hingeOuter,i - (size/2) - (hingeFingerSlop/2),0]) cube([hingeOuter*2,hingeOuter,hingeOuter*2]); } } // center cutout translate([0, -depth/2, 5]) rotate([-90,0,0]) cylinder(r = hingeInner /2 + hingeInnerSlop, h = depth); } } } } module hinge2(outer,thickness,length,len,inner){ rotate([0,90,0]){ for (z = [0:1]) { translate([0, 0, (z*len)+(z*(len+1))]) difference(){ union(){ cylinder(h=len, r=outer/2, $fn=64); translate([1,.5,0]) rotate([0,0,80]) linear_extrude(height = len) polygon(points=[[-.5,0],[0,outer/2],[outer,0/2]]); } cylinder(h=len, r=(outer-thickness)/2, $fn=64); } cylinder(h=(2*len)+(len+1), r=inner, $fn=64); } translate([0, 0, len+.5]) difference(){ union(){ cylinder(h=len, r=outer/2, $fn=64); translate([0,-1,0]) rotate([0,0,-50]) linear_extrude(height = len) polygon(points=[[-.5,0],[0,outer/2],[outer,0/2]]); } cylinder(h=len, r=inner, $fn=64); } cylinder(h=(2*len)+(len+1), r=inner, $fn=64); } }
- Paste your pattern into the OpenSCAD file and press F6 to generate your model.
- Once your model has been generated, select Design>STL
- Print! Fold!
Intersecting Forms
Participants use straws that can be cut to length and connectors to assemble closed forms of their own inventions. After creating modules, participants will be challenged to combine each together to create a super-form. To intersect the forms more complex connectors will be required. Participants will be guided through the design and printing process to fabricate their customized connectors in order to prototype the assembly of the larger structure.Intro to 3D Printing
Inspired by the work in Other Primary Structures, and in particular the work of Rasheed Araeen, participants will learn a few processes for reproducing a given form in 3D. This can be by printing the whole shape or by designing the connectors that allow for the shape's assembly. This exercise will serve as an intro to OpenSCAD, Tinkercad, Netfabb, and Makerware.OpenSCAD
OpenSCAD is software for creating solid 3D CAD objects. It is free software and available for Linux/UNIX, MS Windows and Mac OS X.OpenSCAD focuses on the CAD aspects of 3D modeling and is good for creating 3D models of machine parts or any part where you want to specify parameters.
OpenSCAD is not an interactive modeller. Instead it reads in statements that describes the object and it renders the 3D model from that code. This gives you full control over the modelling process and enables you to easily change any step in the process or make designs that are defined by configurable parameters.
OpenSCAD provides two main modelling techniques:
- Constructive Solid Geometry
- Extrusion of 2D outlines
Numbers in OpenSCAD are in millimeters. So circle(5); or circle(r=5); draws a circle with a radius of 5mm.
If you do not have OpenSCAD installed yet, download the latest Development Snapshot from openscad.org
- When you open OpenSCAD you will see the interface:
- To display the axes in the model view press Command+2 (MAC) or CTRL+2 (Windows and Linux).
- Statements in OpenSCAD end with a semi-colon.
cube([10,10,20]);
- OpenSCAD does not automatically indent your code, but you are encouraged to use indents for readability
difference(){ cylinder(h = 5, r = 20); translate(v=[0,0,-1]) cylinder(h = 7, r = 4); }
- To comment out a single line begin the comment with a double-slash (//)
//this is a comment myVar=10;//this is also a single-line comment
- To comment out multiple lines, begin the comment with slash-star and end the comment with star-slash:
/* This is a multi-line comment. I started the comment on the line above. I will complete the comment on the line below. */
- Press F5 to render. This will show you what your model looks like in the model view
- Press F6 to compile and render. This will create a model that is ready to export as an stl file:
- You can use %(the Background Modifier) to ignore the subtree for the normal rendering process and draw it in transparent gray. In other words to ghost an object. This is handy when you want to see what is being differenced:
- There is also * (the Disable Modifier), which will ignore the entire subtree.
difference() { cylinder (h = 4, r=1, center = true, $fn=100); *rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100); }
- $fn sets the resolution. This can be at the top of your file.
Here is how to set the resolution to 128.$fn=128;
- You can move the rendered object by:
-
Dragging with left mouse button to rotate the view. You can see the rotate values at the bottom of the window.
- Also try dragging with the left mouse while holding down the SHIFT key.
- Dragging with the right mouse button to translate (move) the view. You can see the translate values in the bottom of the window.
- Also try dragging north and south with the right mouse while holding down the SHIFT key.
- Using the mouse scroll to zoom in and out. The Viewport line at the bottom of the window will show a change in the distance value.
- Use the following quick key combinations to control the view:
-
Dragging with left mouse button to rotate the view. You can see the rotate values at the bottom of the window.
- Statements in OpenSCAD end with a semi-colon.
View Options
Show Edges (CTRL/⌘+1)
If Show Edges is enabled, both OpenCSG and CGAL mode will render edges as well as faces, CGAL will even show vertices. In CGAL grid mode, this option has no effect.Enabling this option shows the difference between OpenCSG and CGAL quite clearly: While in CGAL mode you see an edge drawn everywhere it belongs, OpenCSG will not show edges resulting from boolean operations—his is because they were never explicitly calculated but are just where one object's Z clipping begins or ends.
Show Axes (CTRL/⌘+2)
If Show Axes is enabled, the origin of the global coordinate system will be indicated by an orthogonal axes indicator. Additionally, a smaller axes indicator with axes names will be shown in the lower left corner of the viewing area. The smaller axes indicator is marked x, y, z and coloured red, green, blue respectively.Show Crosshairs (CTRL/⌘+3)
If Show Crosshairs is enabled, the center of the viewport will be indicated by four lines pointing in the room diagonal directions of the global coordinate system. This is useful when aligning the viewing area to a particular point in the model to keep it centered on screen during rotation.Animation
The Animate option adds an animation bar to the lower edge of the screen. As soon as FPS and Steps are set (reasonable values to begin with are 10 and 100, respectively), the current Time is incremented by 1/Steps, FPS times per second, until it reaches 1, when it wraps back to 0.Every time Time is changed, the program is re-evaluated with the variable $t set to the current time.
To see how animate works, download spiderbot and run the main.scad files
Primitives
cube
Creates a cube at the origin of the coordinate system. When center is true the cube will be centered on the origin, otherwise it is created in the first octant. The argument names are optional if the arguments are given in the same order as specified in the parametersCube Parameters
sizeSize can be a decimal or a 3 value array. If a single number is given, the result will be a cube with sides of that length. If a 3 value array is given, then the values will correspond to the lengths of the X, Y, and Z sides. Default value is 1.
center
This is a Boolean, so it either set to true or false. This property determines the positioning of the object. If set to true, the object is centered at (0,0,0). Otherwise, the the object is placed in the positive quadrant with one corner at (0,0,0). The default is set to false. Usage examples:
cube(size = 1, center = false); cube(size = [1,2,3], center = true);
sphere
Creates a sphere at the origin of the coordinate system. The argument name is optional.Sphere Parameters
rr is a decimal. This is the radius of the sphere. The resolution of the sphere will be based on the size of the sphere and the $fa, $fs and $fn variables. Usage examples:
sphere(r = 1); sphere(r = 5); sphere(r = 10); sphere(2, $fn=100); // this will create a high resolution sphere with a 2mm radius sphere(2, $fa=5, $fs=0.1); // will also create a 2mm high resolution sphere but this one does not have as many small triangles on the poles of the sphere
cylinder
Creates a cylinder at the origin of the coordinate system. When both radii are same it is also possible to specify a single radius using the argument name r. The argument names are optional if the arguments are given in the same order as specified above.Cylinder Parameters
hh is a decimal. This is the height of the cylinder. Default value is 1.
r1
r1 is a decimal. This is the radius of the cylinder/cone on bottom end. Default value is 1.
r2
r2 is a decimal. This is the radius of the cylinder/cone on top end. Default value is 1.
r
Decimal. The radius of both top and bottom ends of the cylinder. Use this parameter if you want a non-cone shaped cylinder. Default value is 1.
$fa
$fa is angle in degrees
$fs
$fs is angle in mm Usage examples:
cylinder(h = 10, r1 = 10, r2 = 20, center = false); cylinder(h = 10, r1 = 20, r2 = 10, center = true); cylinder(h = 10, r=20); cylinder(h = 10, r=20, $fs=6);
Helpful Tip: The $fn parameter dictates how many facets the circumference of your cylinder will have. A cylinder with 8 facets will look like an octagon and a cylinder with 128 facets would probably look almost perfectly circular. You can make triangles by creating cylinders with $fn=3 or just three facets. This is a quick and simple way to get an equilateral triangle.
cylinder(h=10,r=10,$fn=3, center=true);
polyhedron
Creates a cylinder at the origin of the coordinate system. When both radii are same it is also possible to specify a single radius using the argument name r. The argument names are optional if the arguments are given in the same order as specified above. Usage examples:polyhedron(points = [ [x, y, z], ... ], triangles = [ [p1, p2, p3..], ... ], convexity = N); polyhedron(points=[[0,0,0],[100,0,0],[0,100,0],[0,100,100]], triangles=[[0,1,2],[1,0,3],[0,2,3],[2,1,3]]); polyhedron ( points = [[0, -10, 60], [0, 10, 60], [0, 10, 0], [0, -10, 0], [60, -10, 60], [60, 10, 60]], triangles = [[0,3,2], [0,2,1], [3,0,4], [1,2,5], [0,5,4], [0,1,5], [5,2,4], [4,2,3], ]);
Your First Model
- Open OpenSCAD.
- Type the following into the editor window:
cube([5,5,4]);
- Make sure that when you render, you see the axes. If you do not see them, turn on Show Axes under the View Menu or press Command+2 (MAC) or CTRL+2 (Windows and Linux).
- You should notice that the object is rendered in the first quadrant. By adding center=true to the first statement, you can center the cube on the axes lines:
- To create another cube, you could copy and paste the line of code. You won't see the second cube.
Why not?
You won't see the second cube because both cubes are occupying the same space.
To move the second cube away, you have to call translate().
This line is a bit weird because it doesn't end in a semi-colon.
Why not?
It doesn't have a semi-colon because the translate() call is part of the cube statement:cube([5,5,4]); translate([6,0,0]) cube([5,5,4], center=true);
- color() like translate()
is part of the object statement.
Here is how you would make the second object red:cube([5,5,4]); translate([6,0,0]) color([1,0,0]) cube([5,5,4]);
While the color of your model in OpenSCAD does not determine how your model will print, it is nice to be able to control the colors. To change the color use the following syntax:or//using color names color("name_of_color_from_list_below") cube([5,5,4], center=true);
A chart of the color names is as follows://using RGB values from 0-1.0 color([1,0,0]) cube([5,5,4]);
Purples Lavender Thistle Plum Violet Orchid Fuchsia Magenta MediumOrchid MediumPurple BlueViolet DarkViolet DarkOrchid DarkMagenta Purple Indigo DarkSlateBlue SlateBlue MediumSlateBlue Pinks Pink LightPink HotPink DeepPink MediumVioletRed PaleVioletRed Blues Aqua Cyan LightCyan PaleTurquoise Aquamarine Turquoise MediumTurquoise DarkTurquoise CadetBlue SteelBlue LightSteelBlue PowderBlue LightBlue SkyBlue LightSkyBlue DeepSkyBlue DodgerBlue CornflowerBlue RoyalBlue Blue MediumBlue DarkBlue Navy MidnightBlue Reds IndianRed LightCoral Salmon DarkSalmon LightSalmon Red Crimson FireBrick DarkRed Greens GreenYellow Chartreuse LawnGreen Lime LimeGreen PaleGreen LightGreen MediumSpringGreen SpringGreen MediumSeaGreen SeaGreen ForestGreen Green DarkGreen YellowGreen OliveDrab Olive DarkOliveGreen MediumAquamarine DarkSeaGreen LightSeaGreen DarkCyan Teal Oranges LightSalmon Coral Tomato OrangeRed DarkOrange Orange Yellows Gold Yellow LightYellow LemonChiffon LightGoldenrodYellow PapayaWhip Moccasin PeachPuff PaleGoldenrod Khaki DarkKhaki Browns Cornsilk BlanchedAlmond Bisque NavajoWhite Wheat BurlyWood Tan RosyBrown SandyBrown Goldenrod DarkGoldenrod Peru Chocolate SaddleBrown Sienna Brown Maroon Whites White Snow Honeydew MintCream Azure AliceBlue GhostWhite WhiteSmoke Seashell Beige OldLace FloralWhite Ivory AntiqueWhite Linen LavenderBlush MistyRose Grays Gainsboro LightGrey Silver DarkGray Gray DimGray LightSlateGray SlateGray DarkSlateGray Black - Replace the cubes with the following lines of code and render:
union(){ difference() { cube(30, center=true); sphere(20, $fn=100); } translate([0, 0, -15]) cylinder(h=40, r=13.5); }
- Now add this line to the very beginning:
And re-render:
$fn=64;
union(), difference() and intersection() are examples of boolean operations
union() creates a union of all the child nodes.union() { cylinder (h = 4, r=1, center = true, $fn=100); rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100); }
difference() subtracts the second (and all further) child nodes from the first.difference() { cylinder (h = 4, r=1, center = true, $fn=100); rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100); }
intersection() creates the intersection of all child nodes and keeps the overlapping portion:intersection() { cylinder (h = 4, r=1, center = true, $fn=100); rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100); }
A module in OpenSCAD is similar to a macro or function in other languages. Creating a module allows you to easily reuse code and to create parametric models. To define a module:
module Name_of_module(param1,param2,...){ //statements... }
module name_of_module(param1,param2,...){ //statements... }
To use the module:
name_of_module();
Creating a Module
- Open OpenSCAD
- In the editor add code to define the name of a module. The module should be called frame
. This module will take the following parameters:
- w
- h
- l
w=2; l=50; module frame(){ h=w; //red color([1,0,0]) cube([l,w,h]); //yellow color([1,1,0]) cube([w, h,l]); //teal color([0,1,1]) translate([0,0,l-h]) cube([l, w,h]); //blue color([0,0,1]) translate([l-w,0,0]) cube([w, h,l]); translate([w,0,0]) rotate([0,-45,0]) cube([sqrt((l*l)+(l*l))-1.5*h,w,w]); } frame(w,l);
- Press F5 to preview the code. You should end up with one side of the form.
- Remove the call to frame(w,l). Now create another module:
module form(w=3,l=50){ h=w; frame(w,l); translate([0,l-h,0]) frame(w,l); translate([w,0,0]) rotate([0,0,90]) frame(w,l); translate([l,0,0]) rotate([0,0,90]) frame(w,l); } form(2,25)
- View the model by pressing F5.
- Render and Compile by pressing F6. Then select Design>Export as STL