3D part design with Inkscape and OpenSCAD #94: Using minkowski() to hollow out complex shapes.

3 min read
By Bob
3D part design with Inkscape and OpenSCAD #94: Using minkowski() to hollow out complex shapes.

I recently set out to design a pair of shoes with Inkscape and OpenSCAD and wanted a simple way to make a shell out of a complex object and make it so that the walls would be a consistent width that was adjustable and it turns out that using minkowski to make a 3d offset works well for this and in about 30 minutes of experimentation I was able to make this module.

Here is the code:

Edit: earlier when I posted this code I pasted the wrong code, here is the code with the resize fixed:

/*[HollowOut2]*/
Path_to_STL_File="";
UseSphere=false;
UseCube=false;
rounding=24;//[3:1:40]
thickness=.5;//[.01:.01:40]
Resize=1;//[.10:.01:400]

module 3D_offset(){
difference() {
minkowski() {
import(Path_to_STL_File);
if(UseSphere)
sphere(r=thickness,$fn=rounding,true);
if(UseCube)
cube(-thickness,true);
}
translate([0,0,-thickness])
import(Path_to_STL_File);
}}

resize([Resize,0,0],auto=true)
3D_offset();

Here is a rounded square that I used the SVG import module I made in post #90 to extrude it and taper it with the scale option:

I also added a "use Cube" option so I could have flat sides instead of rounding them with a sphere:

And another example using a star shape:

I took an svg of the outline of a shoe sole and added an oval on another layer and then used hull() to make a basic shoe:

Then I needed a way to hollow the shape out to make the top part of my shoe:

I then  added a resize option so I could import the svg file and adjust the top part to fit what will be the sole:

Here is a sole throw in with the shoe top just as a quick example of what I wanted to do, eventually I will have a complete custom shoe module that I will be able to design any shoe I want and print it out:

Getting the arch to look good is a bit tricky but I think I have a plan to make it work.