Menu Close

Wall hook designer

With this code you can create wall hooks of various sizes and shapes, based on parameters you may change. CAD or programming knowlege is not necessary. The output can be 3D STL files you can send to a 3D printer. To be able to work with the code, you need to install OpenScad, which is Open source software you can use for free:

This project is about a fully customizable wall hook generator for OpenScad. You may create your own design just by setting some parameters in the OpenScad Customizer. To use the generator, you need to have OpenScad installed onto your computer. The thing comes along with a zip file containing a few 2D SVG sample files that shall show you the possibilities of the wall hook creator.
The OpenScad file WallkookV1.scad is intended to be used in conjunction with the OpenScad Customizer.

The object consists of the elements BasePlate, Mounting holes,Text, SVG plate relief, SVG Hook and Standard hook.
Any of the elements may be activated or de-activated which results in the element becoming part of the output or not. None of the elements is mandatory, however if you de-activate all, you get an empty output.

A special function is the “SVG Hook”. It creates the hook element out of two 2D SVG shapes that are extruded into two solid rails, where only the intersecting part ist taken as the hook body. This gives you a wide range to create your own custom hooks. Have a look at the hooks directory in the samples to get an idea how it works.

To be able to easily preview the desired SVG in windows, I recommend to install the explorer extension for windows:


  • Download the WallhookV1 zip file and unpack it into a desired directory on your hard disk.
  • Then start OpenScad and open WallhookV1.scad
  • Make sure the customizer is visible in OpenScad (Window pulldown menu -> Customizer)
  • In the customizer you may load sample settings from the delivered WallhookV1.json file. This is a good starting point to begin to adapt your individual settings.

The wallhook is also available on Thingiverse:

In the customizer you will find the following sections:

  • General -> Here you may set the accuracy of the output result. Higher accuracy results in longer calculation time
  • Base Plate -> Defines a optional base plate, its size, shape and position
  • Mounting Holes -> Defines optional mounting holes, its size, angle and position
  • Text -> Defines optional Text to be output as a 3D body
  • Text Options -> Defines the options for the text
  • Text Transform Options -> defines rotation and positins for the text
  • SVG plate relief -> Defines an optional 2D SVG Image into a 3D body
  • SVG Hook -> Defines an optional cloth hook out of two SVG files
  • Standard Hook -> Defines an optional simple cloth hook and its sizes
  • Hook transform options -> defines Positions, and rotation of the activated hook


  • If you plan to make your own hook SVGs, make sure to have them all the same length (500) and look for having the foot curvature exactly in the middle (like with the examles) This allows you to use any combination of two SVGs without the need to scale them to fit. I used Inkscape ( to create the hook shapes.
  • Some SVGs are not suitable to be used with OpenScad. Since the Thing extrudes 2D SVGs into 3D, only black and white SVGs are sensful to be used.
  • Text, SVG and Base plates may be rounded on the top to make them looking more nice – depending on your wishes. I tried in a test to round the edges using the “minkowsky” function in OpenScad, but the calculation times rised close to “iternal”, so I decided to go for a general top rounding. I have the impression even with the complexity of many SVGs or text fonts, the resulting calculation time becomes “annoying” and exceeds often minutes to hours. So I think OpenScad reaches its limits with complex designs, though I could not find a better alternative for parametric design to it.

1 Comment

  1. Irv Shapiro

    You have created some wonderful OpenScad models. I have created a web-based OpenSCAD customize, with free basic subscriptions forever, including support for ZIP files. You can try it out at:

    Since you have been gracious enough to flag your models on Thingiverse as “GPL” I will go ahead and upload one or more of your designs to the site to try it out.

    While I know you do not expect payment for your models, on you can add your “Buy Me a Coffee” account in the event users want to send your a tip.

    Feel free to contact me directly.

Leave a Reply

Your email address will not be published. Required fields are marked *