From 72b090e84e0e093fd24d37f289bfb793b0dd30bc Mon Sep 17 00:00:00 2001 From: Dan Gunvald Date: Sun, 9 Jul 2017 12:17:58 +0200 Subject: [PATCH] Added openscad files --- blindsadapter.scad | 38 +++++++ curtainmotoholdercontrollerbox.scad | 157 ++++++++++++++++++++++++++++ servoholderforblinds.scad | 17 +++ 3 files changed, 212 insertions(+) create mode 100644 blindsadapter.scad create mode 100644 curtainmotoholdercontrollerbox.scad create mode 100644 servoholderforblinds.scad diff --git a/blindsadapter.scad b/blindsadapter.scad new file mode 100644 index 0000000..f0b119d --- /dev/null +++ b/blindsadapter.scad @@ -0,0 +1,38 @@ +d1=4.4; +d2= 3; +t=2; +hei=20; +aw=4.3; +al=12+((d1+(t*2))/3); +at=2.1; +hole=8.8; + + +difference() { + union() { + cylinder(d=d1+(t*2), h=hei, $fn=64); + translate([-(d1+(t*2))/2, -(d1+(t*2))/2,0]) { + cube([d1+(t*2),al,t*2]); + } + } + rotate([0,0,105]) { + difference() { + cylinder(d=d1, h=hei,$fn=16); + translate([-d1/2,d1/4,0]) { + cube([d1,d1,hei]); + } + } + } + + translate([0,0,(at/2)+t/2]) { + cube([aw,100,at], center=true); + cube([100,aw,at], center=true); + } + translate([0,hole,0]) { + cylinder(d=2.5,h=10,$fn=16); + } + translate([0,0,1]) { + cube([aw*2,aw*2,3],center=true); + cylinder(d=7.6,h=at); + } +} \ No newline at end of file diff --git a/curtainmotoholdercontrollerbox.scad b/curtainmotoholdercontrollerbox.scad new file mode 100644 index 0000000..b11e576 --- /dev/null +++ b/curtainmotoholdercontrollerbox.scad @@ -0,0 +1,157 @@ +d1=20.5; //diameter of ballpulley +ds=3; +sw =31; +w1=42; +h1=25; +mfn=64; +slide=0; +spw=8; +fn1=16; //16 +ii=0; +bottomthickness = 4; +sidethickness = 6; +sideheight = 20; +module fd(he) { + helemets =he; + esp =[23,24,helemets]; + miniproanddrv = [26,33,helemets]; + drv=[16,21,helemets]; + bec=[23,33,helemets]; + inx=drv[0]+2; + iny=0; + hull() { + translate([-5,70,0]) { + esp = esp + [2,2,2]; + cube(esp); + } + translate([-5,0,0]) { + bec = bec + [2,2,2]; + cube(bec); + } + } + hull() { + translate([0,0,0]) { + bec = bec + [2,2,2]; + cube(bec); + } + translate([40,0,0]) { + drv = drv + [2,2,2]; + miniproanddrv = miniproanddrv + [2,2,2]; + cube(miniproanddrv); + } + } +} + +mhheight=25; +module motorandelectronicmount(motorheight=25, holes=1) { + mhheight=motorheight; + difference() { + union() { + minkowski() { + fd(sideheight); + cylinder(r=sidethickness,h=0.1,$fn=32); + } + translate([12,35,0]) { + translate([0,2,0]) { + minkowski() { + cube([(spw*2)+w1,w1-4,5]); + cylinder(r=2,h=0.01,$fn=fn1); + } + } + translate([0,12,0]) { + minkowski() { + cube([8,25,5]); + cylinder(r=2,h=0.01,$fn=fn1); + } + } + translate([spw,0,0]) { + cube([w1,w1+slide,mhheight]); + + } + + } + } + if (holes == 1) { + pp = [9.5,11.5]; + translate([2,-sidethickness,bottomthickness]) { + cube([pp[0], pp[0], pp[1]]); + } + lh = [1.5,11]; + translate([65,34,sideheight-lh[1]]) { + cube([lh[0], lh[1], 14.2]); + } + translate([0,0,bottomthickness]) { + fd(18); + } + translate([12,35,0]) { + for (x = [0+(spw/2),w1+spw+(spw/2)]) { + //ii=2; + ii =(x/2) +3; + translate([x,(12+12.5) ,0]) { + translate([0,0,2.1]){ + cylinder(r1=2,r2=4.2,h=3,$fn=fn1); + } + cylinder(r=2,h=12,$fn=fn1); + } + echo(ii); + //ii =(x/2) +3; + } + translate([spw,0,0]) { + translate([w1/2,w1/2,0]) { + hull() { + cylinder(d=d1,h=h1, $fn=fn1*4); + translate([0,30,0]) { + cylinder(d=d1,h=h1,$fn=fn1); + } + } + translate([0,0,h1-3]) + cylinder(d=30,h=3, $fn=fn1*4); + } + for (x = [(w1-sw)/2, (w1-sw)/2 + sw]) { + + for (y = [(w1-sw)/2, (w1-sw)/2 + sw]) { + translate([x, y, 0]) { + translate([0,slide/2,0]) { + cylinder(d=7,h=6,$fn=fn1); + } + hull() { + cylinder(d=ds,h=h1, $fn=fn1*4); + } + translate([0,0,5]) { + hull() { + cylinder(d=7,h=14, $fn=fn1*4); + } + } + } + } + } + } + } +} + } +} +module mh() { + difference() { + #union() { + } + + + } +} +motorandelectronicmount(motorheight=25,holes=1); +translate([-100,0,0]) { + difference() { + translate([0,0,sideheight]) { + minkowski() { + fd(2.5); + difference() { + sphere(r=sidethickness,h=0.1,$fn=32); + translate([0,0,-sidethickness]) { + cylinder(r=sidethickness+1, h=sidethickness); + } + } + } + } + motorandelectronicmount(motorheight=35,holes=1); + } +} diff --git a/servoholderforblinds.scad b/servoholderforblinds.scad new file mode 100644 index 0000000..470c754 --- /dev/null +++ b/servoholderforblinds.scad @@ -0,0 +1,17 @@ +outer = [28,24.5,22]; +softcorner=3; +servo=[23,12.4,23]; + +difference() { + translate([0,softcorner/2,softcorner/2]) { + minkowski() { + cube(outer-[0,softcorner,softcorner]); + rotate([0,90,0]) { + cylinder(d=softcorner,h=0.1,$fn=16); + } + } + } + translate([0,(outer[1] - servo[1]) /2,0]) { + #cube(servo); + } +} \ No newline at end of file