Commit 733d3481 authored by György Kurucz's avatar György Kurucz
Browse files

Added the cable holder clip project to this repo.

parent 6bd20696
cable_thickness=4.5;
holder_height = 30;
holder_diameter=9;
holder_wall=2;
clip_width = 20;
radius = 13; //radius of the table
thickness = 22.55 + 0.2; //thickness of the table
module curve(h) {
r2 = radius*radius;
t2 = thickness*thickness*(1/4);
t = sqrt(r2-t2);
translate([radius-t, 0]) union() {
intersection() {
translate([t, 0])
circle($fn=100, r=radius);
square([h*2, thickness], center=true);
}
translate([0, -thickness/2]) square([h, thickness]);
}
}
module clip() {
linear_extrude(clip_width)
difference() {
offset(3, $fn=50) curve(20);
curve(30);
}
}
module clip_outer() {
linear_extrude(clip_width) offset(3, $fn=50) curve(20);
}
module clip_inner() {
translate([0, 0, -.5]) linear_extrude(clip_width+1) curve(30);
}
module holder_curve() {
difference() {
circle(d=holder_diameter+2*holder_wall, $fn=50);
circle(d=holder_diameter, $fn=50);
translate([0, -2]) square([10, 4]);
}
}
module holder_outer() {
/* linear_extrude(holder_height/2, twist=90, $fn=200) scale(1.5) holder_curve();
translate([0, 0, holder_height/2]) rotate([0, 0, -90])
linear_extrude(holder_height/2, twist=-90, scale=(1/1.5), $fn=200) scale(1.5) holder_curve(); */
translate([-holder_diameter/2, 0, 0])
cylinder(d=holder_diameter+holder_wall*2, $fn=50, h=thickness+6, center=true);
}
module holder_inner() {
translate([-holder_diameter/2, 0, 0])
cylinder(d=holder_diameter, $fn=50, h=holder_height+1, center=true);
}
union() {
difference() {
union() {
translate([0, clip_width/2, 0]) rotate([90, 0, 0]) clip_outer();
holder_outer();
//scale([2, 1, 2]) translate([0, clip_width/2, 0]) rotate([90, 0, 0]) clip_inner();
}
holder_inner();
translate([0, clip_width/2, 0]) rotate([90, 0, 0]) clip_inner();
translate([15, 0, 0]) cube([40, cable_thickness, 100], center=true);
}
}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment