| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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();
- }
|