anims
This commit is contained in:
parent
29d501e64e
commit
95eaaa28ce
6 changed files with 78 additions and 52 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
frame*.png
|
|
@ -1,2 +1,8 @@
|
||||||
# Space-Light-Button-Stands
|
Space Light Button Stands
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Little stands to hold the ikea zigbee buttons in the aux and main spaces
|
||||||
|
|
||||||
|
![](./main_space_light_button-stand.gif)
|
||||||
|
![](./aux_space_light_button-stand.gif)
|
||||||
|
|
||||||
|
|
BIN
aux_space_light_button_stand.gif
Normal file
BIN
aux_space_light_button_stand.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
|
@ -3,43 +3,53 @@ radius=5;
|
||||||
|
|
||||||
use <lib/mirrorcopy.scad>;
|
use <lib/mirrorcopy.scad>;
|
||||||
|
|
||||||
difference(){
|
module stand(){
|
||||||
union(){
|
render()
|
||||||
hull(){
|
difference(){
|
||||||
translate([0,0,20])
|
union(){
|
||||||
cylinder(h=1, d=45, center=true);
|
hull(){
|
||||||
|
translate([0,0,20])
|
||||||
translate([0,0,0])
|
cylinder(h=1, d=45, center=true);
|
||||||
cylinder(h=1, d=45, center=true);
|
|
||||||
|
translate([0,0,0])
|
||||||
translate([0,0,30])
|
cylinder(h=1, d=45, center=true);
|
||||||
rotate([0,45,0])
|
|
||||||
translate([5,0,0])
|
translate([0,0,30])
|
||||||
mirrorCopy([1,0,0],[0,1,0])
|
rotate([0,45,0])
|
||||||
translate([(35-radius)/2,(35-radius)/2,0.5])
|
|
||||||
cylinder(h=1,r=radius, center=true);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([0,0,30]){
|
|
||||||
rotate([0,45,0]){
|
|
||||||
difference(){
|
|
||||||
hull(){
|
|
||||||
translate([5,0,0])
|
translate([5,0,0])
|
||||||
mirrorCopy([1,0,0],[0,1,0])
|
mirrorCopy([1,0,0],[0,1,0])
|
||||||
translate([(35-radius)/2,(35-radius)/2,0.5])
|
translate([(35-radius)/2,(35-radius)/2,0.5])
|
||||||
cylinder(h=1,r=radius, center=true);
|
cylinder(h=1,r=radius, center=true);
|
||||||
translate([0,0,0])
|
}
|
||||||
mirrorCopy([1,0,0],[0,1,0])
|
|
||||||
translate([(45-radius)/2,(45-radius)/2,24.5])
|
translate([0,0,30]){
|
||||||
cylinder(h=1,r=radius, center=true);
|
rotate([0,45,0]){
|
||||||
|
difference(){
|
||||||
|
hull(){
|
||||||
|
translate([5,0,0])
|
||||||
|
mirrorCopy([1,0,0],[0,1,0])
|
||||||
|
translate([(35-radius)/2,(35-radius)/2,0.5])
|
||||||
|
cylinder(h=1,r=radius, center=true);
|
||||||
|
translate([0,0,0])
|
||||||
|
mirrorCopy([1,0,0],[0,1,0])
|
||||||
|
translate([(45-radius)/2,(45-radius)/2,24.5])
|
||||||
|
cylinder(h=1,r=radius, center=true);
|
||||||
|
}
|
||||||
|
mirrorCopy([1,0,0])
|
||||||
|
translate([25/2,0,25/2+0.5])
|
||||||
|
cylinder(d=3.2, h=24, center=true);
|
||||||
}
|
}
|
||||||
mirrorCopy([1,0,0])
|
|
||||||
translate([25/2,0,25/2+0.5])
|
|
||||||
cylinder(d=3.2, h=24, center=true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
translate([0,0,10-1])
|
||||||
|
cylinder(h=30, d=35, center=true);
|
||||||
}
|
}
|
||||||
translate([0,0,10-1])
|
}
|
||||||
cylinder(h=30, d=35, center=true);
|
|
||||||
|
if($preview){
|
||||||
|
rotate([0,0,360*$t])
|
||||||
|
stand();
|
||||||
|
}else{
|
||||||
|
stand();
|
||||||
}
|
}
|
BIN
main_space_light_button_stand.gif
Normal file
BIN
main_space_light_button_stand.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.9 MiB |
|
@ -57,27 +57,36 @@ module pedistal(){
|
||||||
cylinder(d=3.2, h=24, center=true);
|
cylinder(d=3.2, h=24, center=true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
difference(){
|
module column(){
|
||||||
union(){
|
render()
|
||||||
hull(){ base(); ring0(); }
|
difference(){
|
||||||
hull(){ ring0(); ring1(); }
|
union(){
|
||||||
hull(){ ring1(); ring2(); }
|
hull(){ base(); ring0(); }
|
||||||
hull(){ ring2(); ring3(); }
|
hull(){ ring0(); ring1(); }
|
||||||
hull(){ ring3(); ring4(); }
|
hull(){ ring1(); ring2(); }
|
||||||
hull(){ ring4(); ring5(); }
|
hull(){ ring2(); ring3(); }
|
||||||
hull(){ ring5(); ring6(); }
|
hull(){ ring3(); ring4(); }
|
||||||
hull(){ ring6(); ring7(); }
|
hull(){ ring4(); ring5(); }
|
||||||
pedistal();
|
hull(){ ring5(); ring6(); }
|
||||||
|
hull(){ ring6(); ring7(); }
|
||||||
|
pedistal();
|
||||||
|
}
|
||||||
|
|
||||||
|
pcd(360/12)groove();
|
||||||
|
|
||||||
|
mirrorCopy([1,0,0])
|
||||||
|
translate([25/2,0,25/2+0.5+110])
|
||||||
|
cylinder(d=3.2, h=24, center=true);
|
||||||
|
|
||||||
|
mirrorCopy([1,0,0],[0,1,0])
|
||||||
|
translate([17.5,17.5,-4])
|
||||||
|
selfTappingScrew(mSize=5, length=20, recessCap=10);
|
||||||
}
|
}
|
||||||
|
|
||||||
pcd(360/12)groove();
|
|
||||||
|
|
||||||
mirrorCopy([1,0,0])
|
|
||||||
translate([25/2,0,25/2+0.5+110])
|
|
||||||
cylinder(d=3.2, h=24, center=true);
|
|
||||||
|
|
||||||
mirrorCopy([1,0,0],[0,1,0])
|
|
||||||
translate([17.5,17.5,-4])
|
|
||||||
selfTappingScrew(mSize=5, length=20, recessCap=10);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($preview){
|
||||||
|
rotate([0,0,360*$t])
|
||||||
|
column();
|
||||||
|
}else{
|
||||||
|
column();
|
||||||
|
}
|
Loading…
Reference in a new issue