3d-stuff/openscad/own/pipe-cable-wallmount/pipe-cable-wallmount.scad

63 lines
2.1 KiB
OpenSCAD
Raw Normal View History

// by zeus - zeus@ctdo.de - CC-BY-NC-4.00
// -> https://www.thingiverse.com/zeus
// -> https://www.printables.com/social/366928-zeus/about
// -> https://github.com/zeus86
// -> https://blog.tastatursport.de/
// 2023-03-14
// Wallmount for Cables in the style of a pipeclamp
//##################
//
//
//##################
//
// VARS
mt=4; // general material thickness
slack=0.5; // added slack to inner dimensions to allow easier fitment
width=20+slack; // outer width + slack
height=37.5+slack; // outer height + slack
depth=40+slack; // outer depth + slack
tab_l=(width-2*mt); // width of the cutout for the cabletie
tab_h=2; // height of the cutout for the cabletie
cut_d=(depth-2*mt); // diameter of cutout for the cables
$fn=100; // general resolution
q=0.01; // used to avoid graphical glitches
holedia=4.5; // diameter of the hole for the screw
rounding_eyeball=3; // not very scientific, add arbitrary amount to refine rounding.
//
//##################
//
// MODEL
module base(){
difference(){
// base body
translate([0,0,height/2])cube([width,depth,height],center=true);
// primary cutout
translate([0,0,height]){
hull(){
translate([0,0,-mt*2])rotate([0,90,0])cylinder(d=cut_d,h=width+q,center=true);
translate([0,0,-height+cut_d/2+mt])rotate([0,90,0])cylinder(d=cut_d,h=width+q,center=true);
}
}
// cable-tie slit
translate([0,0,height-(mt*1.5)])cube([tab_l,depth+q,tab_h],center=true);
// screwhole
translate([0,0,mt-q]){
cylinder(d=holedia,h=mt*2,center=true);
translate([0,0,0])cylinder(d1=0,d2=holedia*3.14,h=mt*2,center=true);
}
//cylinder(d1=holedia,d2=holedia*2,h=height,center=true);
}
};
module rounding(){
rotate([0,90,0]){
cylinder(d=depth+mt+rounding_eyeball,h=width+q,center=true,$fn=500);
}
}
intersection(){
translate([0,0,-height/2])base();
rounding();
}