Light_00

... my take

Light_00 is the winning entry to the Distributed Design Challenge 2018 which was part of the London design festival.

One open source product design is shared amongst platform members across Europe, who each fabricate that same design using local materials. Being open source, the design may be changed or updated to allow the best possible version to be created at each location.

My take on it!

Happy hacking!

// Author: Tiago Charters de Azevedo
// Maintainer: Tiago Charters de Azevedo

// Copyright (c) - 2018 Tiago Charters de Azevedo

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3, or (at your option)
// any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor,
// Boston, MA 02110-1301, USA.

////////////////////////////////////////////////////////////
// https://www.milomg.com/Light_00
// Light_00 is the winning entry to the
// Distributed Design Challenge 2018
// which was part of the London design festival.
////////////////////////////////////////////////////////////
// One open source product design is shared amongst
// platform members across Europe, who each fabricate that
// same design using local materials. Being open source,
// the design may be changed or updated to allow the best
// possible version to be created at each location.
////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////
// My take on it!
// Happy hacking!
////////////////////////////////////////////////////////////


$fn=64;
phi=(1+sqrt(5))/2;

// PVC tube
//d=16;
inch=16.4;
//inch=25.4;
r=inch/2;
thickness=.4*5;//inch*phi/10;
ro=r+thickness;

L=2*pow(inch,2)/10;

theta=0;
alpha=-25.4;


////////////////////////////////////////////////////////////
module huba(){
    difference(){
        union(){
            difference(){
                hull(){
                    translate([0,0,L]) sphere(ro-.01);
                    translate([0,0,L/(3*2)]) sphere(ro-.01);}
                hull(){
                    translate([0,0,L/2-6]) sphere(r);
                    translate([0,0,-L/(3*2)]) sphere(r);}}


            translate([0,0,L])
            rotate([-alpha*2,0,0])
            translate([0,0,-r])
            hull(){
                translate([0,0,L/2]) sphere(ro+.01);
                translate([0,0,-L/2]) sphere(ro+.01);}}

        translate([0,0,L])
        rotate([-2*alpha,0,0])
        translate([0,0,-r])
        hull(){
            translate([0,0,L/2+r]) sphere(r);
            translate([0,0,-L/2-r]) sphere(r);}}}

module hubb(){
    A=[0,0,L/2];
    B=[L*cos(90-alpha),0,-L/2];

    difference(){
        hull()  {
        translate([0,0,L/2]) sphere(ro);
        for(i=[0:2]){
            rotate([0,0,i*360/3])
            translate(B)
            sphere(ro);}}

    hull(){
        translate([0,0,L/1.5]) sphere(r);
        translate([0,0,L/(3*2)]) sphere(r);}

    for(i=[0:2]){
        rotate([0,0,i*360/3])
        hull(){
            translate(B+(B-A)/4) sphere(r);
            translate((B-A)/1.5+A) sphere(r);}}}}


module hubbvar(){
    A=[0,0,L/2];
    B=[L*cos(90-alpha),0,-L/2];

    difference(){
        for(i=[0:2]){
            hull()      {
                translate([0,0,L/2]) sphere(ro);
                rotate([0,0,i*360/3])
                translate(B)
                sphere(ro);}}

        hull(){
            translate([0,0,L/1.5]) sphere(r);
            translate([0,0,L/(3*2)]) sphere(r);}

        for(i=[0:2]){
            rotate([0,0,i*360/3])
            hull(){
                translate(B+(B-A)/4) sphere(r);
                translate((B-A)/1.5+A) sphere(r);}}}}


module cap(){
    difference(){
        hull(){
            translate([0,0,L/4]) sphere(ro);
            translate([0,0,-L/4]) sphere(ro);}
        hull(){
            translate([0,0,L/4]) sphere(r);
            translate([0,0,-L/2]) sphere(r);}}}

module capj(beta=0){
    difference(){
        hull(){
            translate([0,0,L/4]) sphere(ro);
            translate([0,0,-L/4]) sphere(ro);}
        hull(){
            translate([0,0,L/4]) sphere(r);
            translate([0,0,-L/2]) sphere(r);}

        translate([0,0,L/(2*phi)])
        rotate([90,0,90])
        cylinder(L,r=r/1.5,center=true);}}


module capphone(){
    difference(){
        hull(){
            translate([0,0,L]) sphere(25);
            translate([0,0,-L/4]) sphere(ro);}

        translate([0,0,-L/2])
        cylinder(L,r=r,center=true);

        translate([0,0,50+thickness]) cube([100,12,100],center=true);
        translate([0,25+5,50+thickness+2*ro])cube([100,50,100],center=true);


    }}

////////////////////////////////////////////////////////////

module show(){
    hubbvar();
    pipe=250;
    A=[0,0,L/2];
    B=[L*cos(90-alpha),0,-L/2];


    color([0.80392,0.66667,0.49020])
    for(i=[0:2]){
        rotate([0,0,i*360/3])
        hull(){
            translate(B+pipe*(B-A)/norm(B-A)) sphere(r);
            translate((B-A)/1.5+A) sphere(r);}}


    color([0.80392,0.66667,0.49020])
    hull(){
        translate([0,0,pipe]) sphere(r);
        translate([0,0,L/(3*2)]) sphere(r);}


    translate([0,0,pipe]) {
        huba();

        color([0.80392,0.66667,0.49020]){
            translate([0,0,L])
            rotate([-alpha*2,0,0])
            translate([0,0,-r])
            hull(){
                translate([0,0,pipe/2]) sphere(r);
                translate([0,0,-pipe/2]) sphere(r);}}}

    for(i=[0:2]){
        rotate([0,0,i*360/3])
        translate(B+(pipe-inch)*(B-A)/norm(B-A)) rotate([0,180-alpha,0]) cap();}

    translate([0,0,pipe+L])
    rotate([-alpha*2,0,0])
    translate([0,0,0])
    translate([0,0,pipe/2]) capphone();

    translate([0,0,pipe+L])
    rotate([-alpha*2,0,0])
    translate([0,0,-r])
    translate([0,0,-pipe/2]) rotate([180,0,0])capj();


translate([0,-(pipe)*cos(-alpha)/2,L+(pipe)*sin(-alpha)-35])
rotate([0,0,180])
translate([-77.8/2,-14,pipe+8])
rotate([-alpha+14,0,0])
color("Red") import("iphone.stl");
}

show();


////////////////////////////////////////////////////////////
// Printed parts
////////////////////////////////////////////////////////////

// huba();
// hubbvar();
// capj();
// cap();
//capphone();
Palavras chave/keywords: 3dprinting, design, open source, hack, light, lamp

Criado/Created: 09-04-2019 [22:34]

Última actualização/Last updated: 15-04-2019 [16:49]


Voltar à página inicial.


GNU/Emacs Creative Commons License

(c) Tiago Charters de Azevedo