Extruded Element Instruction
A Detailed walk-through to develop your model into a modular interlocking design
GETTING STARTED
-
Download & Install OpenSCAD (free; open-source)
- www.OpenSCAD.org/downloads.html
- Open the Program
-
Obtain the Extruded Element Library to open with OpenSCAD
- Github Repository:
- Raw Text file for quick copy & paste (ctrl + A-> ctrl + C)
-
Open the eellc_lib.scad Extruded Element Library with OpenSCAD
- Or paste its contents into the OpenSCAD Editor

-
Press F6 to Render the Tessellation (array/tiling) of Interlocking Shapes
-
- The current active “EXECUTED CODE” is the module called “Tessellate” as shown above.
-

-
Adjust the Extruded Element Parameters
- Press F6 After each Change to Observe the Effect. (READ GREY COMMENTS IN TEXT FILE FOR DESCRIPTION)
- Parameters are located below license and patent information at the top of the code
- Parameter Names (red underline; above) describe the parameter
- Parameter Values (green dotted line; above) describe the possible values if necessary
- Parameters without possible values (such as s_h, hook size) can be tinkered with

-
Extrude the Element Tessellation
- Scroll to “EXECUTED CODE” Marked by // ( ) ( ) ( ) ( ) . . .
- [Red Box] Add two back-slashes ‘//’ to the tessellate(); line
- (“Comment out” the tessellate line)
- [Green Box] Delete the two back-slashes ‘//’ from the linear_extrude… …tessellate(); line
- (“Uncomment” the linear_extrude line)
OBJECT INCORPORATION
-
Save the OpenSCAD file you are working in (suggested “eellc_lib.scad”)

-
Save an Object (.STL file) in the Same Directory as eellc_lib.scad
- Import the object file from any of your favorite sources for 3D Printable objects (.stl files).

-
In OpenSCAD text editor, Change the Filename to match your object
- The fileName parameter can be found under ****Imported STL Object options****
-
Observe the Orientation and Array Size of Extruded Elements
- In the Above image, the array is the X-Y Plane (Green & Red axes), and the extrusion direction is parallel to the Z-Axis (Blue axis)
- The array above spans about 300 X 300 Units (here considered them mm, for the sake of 3D printing)

-
Import the Object
- Comment out (type leading “//” on) the linear_extrude… …tessellate(); line
- Uncomment (delete leading “//” on) the following line: translate… …import(fileName);

-
Scale & Align the Object to the Extruded Element Array
-
In the parameters sections (above “Executed Code”) modify the ****Imported STL Object options**** parameters.
-
The Element Array may need to be increased in size to envelope your object (parameters n_elem & m_elem; along x & y axes, respectively)
- Uncommenting the linear_extrude… …tessellate(); line will enable object and element array visualization simultaneously.
- WARNING: process time after pressing F6 will be much longer than with the object or element array alone.
- CONGRATULATIONS!!! You are now ready to start production processes.
-
PRODUCTION PREPARATION

-
Adjust Hook Kerf for Hook Fitment
- In ****Clearance/Fitment Options**** section of parameters locate k_h and adjust for hook fitment
- k_h = 1, specifies exact match of hooks; no clearance.
- k_h < 1, specifies a percent of hook tip width to shrink for clearance (0.98 = 98% of hook tip width)
- In ****Clearance/Fitment Options**** section of parameters locate k_h and adjust for hook fitment

-
Adjust Element Kerf for Element Fitment (Solid Elements only; e_fill set to 1 or -1)
- In ****Clearance/Fitment Options**** section of parameters locate k_e and adjust for element boundary fitment
- k_e = 1, specifies exact match of element boundaries; no clearance.
- k_e < 1, specifies the element boundary clearance (a relative percent of hook tip width)
- e.g. k_e=0.98; element boundary clearance = 100-98%, 2% of hook tip width)
- When k_h & k_e are set to the same value, the gap will be uniform.
PRODUCTION TESTING

-
Generate Sample Hooks
- In “EXECUTED CODE” Section, comment-out all VISUALIZATION lines [red box; above]
- comment out any of:
- tessellation();
- linear_extrude… …tessellation();
- translate… …import(fileName);
- comment out any of:
- Uncomment sample_hooks(); line [green box; above]
- TIP: CLICK THE MAGNIFYING GLASS ICON TO RE-LOCATE YOUR F6-RENDERED SOLID [ORANGE BOX; ABOVE]
- In “EXECUTED CODE” Section, comment-out all VISUALIZATION lines [red box; above]
-
Export file of Sample Hook Pair
- In OpenSCAD: Go to File->Export and slect your preferred format
- (.STL is common for 3D Printing)
- In OpenSCAD: Go to File->Export and slect your preferred format
-
Repeat Production Preparation & Testing until Satisfied
- Produce your sample hooks with your favorite rapid prototyping method
- Additive Manufacturing (set Kerf values < 1)
- Conventional Manufacturing (set Kerf values >/= 1; disregarding tool-comp)
- Produce your sample hooks with your favorite rapid prototyping method

-
Generate Sample Elements
- Comment out sample_hooks(); line
- Uncomment sample_elements(); line
- POSITION NOTE: Adjust the separation of sample elements with printer_spacing parameter in above parameter section.
- SINGLE ELEMENT NOTE: If only one element is desired for fabrication:
- Set n_elem & m_elem = 1
- Utilize the “EXECUTED CODE” ->”VISUALIZATION” line – linear_extrude… …tessellate();
-
Export, Test & Repeat
PRODUCTION
-
Complete Above Steps Satisfactorily
- Ensure the Imported Object is aligned with the element array
- Ensure the hooks fit as desired
- Ensure the elements fit as desired (if using e_fill = -1 or 1)
- Ensure the element array completely encapsulates your object
- by adjusting parameters:
- height
- n_elem
- m_elem
- by adjusting parameters:

-
Set-up Batch File to Individually Generate all Elements Intersecting the Imported object
- Extruded Element Library has an example at the bottom of the code [Green Box; above]
- For Windows Users-
- Copy the Batch File text into a Notepad document and Save as ‘Something’.bat (exclude /* and */ above and below for-loop)
- For all other OS, refer to OpenSCAD Documentation:

-
Edit the Batch File to Meet your File Name, Directory, & Array Size
- Change the directory path [Orange Box] to match the directory where you have stored the *.stl object file and the *.scad extruded element library
- Change the values described by the white boxes above
- # of Elements -1:
- frisbee example had n_elem = 15 & m_elem = 15
- 15 x 15 – 1 = 224
- Prefered Prefix:
- for frisbee example I would use: “frisbee-“
- Name of Saved *scad file:
- whatever you named your *.scad file in your working directory
- # of Elements -1:
SHARE YOUR WORK
- Share your creations at the below social networking sites
- Subreddit: r/ExtrudedElement is set-up just for this purpose and to include troubleshooting and tips or updates from the community
NOTE: Please do not share your creations on Thingiverse.com that use extruded elements. Per Thingiverse.com ToS: section 3.2 License of User Content, by sharing on their website, one is granting a royalty-free license to Thingiverse.com and associated Companies (see https://www.makerbot.com/legal/terms/, section 3.2).
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.