include <../config/hinge.scad> function hinge_base_width() = hinge_connector_screw + hinge_thickness * 2; module hinge_object_base() { height = hinge_height; connector_screw = hinge_connector_screw; mount_screws = hinge_mount_screws; thickness = hinge_thickness; width = hinge_base_width(); module base_shape() { rounding = width / 2; move = height - rounding; hull() { translate([0, move]) { square(rounding * 2, center = true); } translate([0, -move]) { circle(r = rounding); } } } base_thickness = thickness; module base_object() { linear_extrude(height = base_thickness) { base_shape(); } } module connector_base_object() { translate([0, height, width / 2]) { rotate([90, 0, 0]) { cylinder( h = connector_screw * 2, r = width / 2, center = false ); } } } hull() { base_object(); translate([0, 0, base_thickness]) { connector_base_object(); } } } module hinge_object() { hinge_object_base(); }