1. About
  2. Features
  3. Explore

I am working on a design in OpenSCAD, and need (would want) two things that seem tedious to hand-code:

  1. A pattern of holes in a wall, for less weight/material. Could be round holes or some geometric pattern.

  2. Empty enclosed space, with some grid-structure for stability. Again, for saving weight/material (and time during the printing).

Are there any libraries for these things?

1 Answer 1

I'm not aware of libraries that do that for you (but you can create your own, see end of the answer), but creating a relieve hole pattern is not that difficult or tedious using iterator functions (e.i. the for loop). Note that it may not be a good idea to make enclosed holes inside your object, see the edit section at the bottom of the answer.

Small OpenSCAD test script:

 tol=0.2; difference(){ cube([100,100,10]); for (x=[10:20:90]){ for (y=[10:20:90]){ translate([x,y,-tol/2]){ cylinder(r=9,h=10+tol,$fn=180); } } } } 

<a href=enter image description here">

This can be used for both parts of your question, but in case the pattern needs to be inside an object you need to lower the value of h in the subtracting cylinder and raise/translate it (you could use the center=true in the cylinder function as a parameter and raise the center to the middle of your object translate([x,y,objectThickness/2])). You could make a module of the recurring pattern yourself to create your library.

note: Replace cylinder with cube or any other geometrical solid or (2D) pattern (use linear_extrude) to subtract from your part.


Note that it is not always wise to create your own spacing/grid structure enclosed in the model. Please read the accepted answer of this question. This answer explains that slicer applications work best with true solids!