include <../config/hook.scad> include <../config/hole.scad> include <../config/wall.scad> module hook_mounting_hole_shape() { circle(r = hook_mounting_hole / 2); } module hook_entrance_shape() { outside_radius = (hole_entrance - hook_entrance_margin) / 2; difference() { circle(r = outside_radius); hook_mounting_hole_shape(); } } module hook_entrance_object() { linear_extrude(height = hook_entrance_height) { hook_entrance_shape(); } } module hook_holding_shape() { outside_radius = (hole_holding - hook_holding_margin) / 2; difference() { circle(r = outside_radius); hook_mounting_hole_shape(); } } module hook_holding_object() { linear_extrude(height = wall_thickness + hook_holding_height_margin) { hook_holding_shape(); } } module hook_object() { color(hook_color) { hook_entrance_object(); translate([0, 0, hook_entrance_height]) { hook_holding_object(); } } }