| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- include <../config/cable_holder.scad>
- include <../config/thread.scad>
- include <../config/wall.scad>
- include <thread.scad>
- module cable_holder_object() {
- module single_cable_shape() {
- difference() {
- outside = cable_holder_thickness * 2
- + cable_holder_cable_diameter;
- position = outside / 2
- - cable_holder_thickness / 2;
- circle(r = outside / 2);
- circle(r = cable_holder_cable_diameter / 2);
- translate([0, position]) {
- square(cable_holder_hole, center = true);
- }
- }
- }
- module single_cable_object() {
- height = cable_holder_base_thickness;
- module base() {
- linear_extrude(height = height, center = true) {
- single_cable_shape();
- }
- }
-
- module blocker() {
- radius = cable_holder_blocker_diameter / 2;
- top = cable_holder_base_thickness;
-
- height = cable_holder_cable_diameter
- + cable_holder_thickness * 2;
- move = cable_holder_cable_diameter / 2
- - radius;
- move_top = top / 2 - radius;
- translate([0, move, move_top]) {
- rotate([0, 270, 0]) {
- cylinder(r = radius, h = height, center = true);
- translate([radius, 0, 0]) {
- rotate([0, 0, 45]) {
- size = [
- radius * 2,
- radius * 2,
- height
- ];
- cube(size, center = true);
- }
- }
- }
- }
- }
-
- render() {
- difference() {
- base();
- blocker();
- }
- }
- }
- single_cable_object();
- }
|