Make EPIC custom crystal lamps
bigclivedotcom 19:04
56,985 views · 3,696 likes Watch on YouTube ↗
To make these customised lamps you can use the openscad scripts included at the bottom of this video description area.
Download the free open-source openscad software for Windows, Linux and Mac from the official website:-
https://www.openscad.org/
Once installed, clear the text area and copy and paste in your chosen script from down below.
There are three. Diamond, Obelisk Quartz crystal and Globe quartz crystal.
You can change several variables as desired to create globes with custom base and body sizes.
By design, the globes will print as a hollow shell with a wall thickness of about 1mm. I recommend using natural/transparent PLA for the best light output, but you could also use white or colours for a solid visual shape. For safety you could use a flame retarded printing filament, but I don't use that myself.
The lamps you use with this will need downrated to around 3W as shown to keep the housing cool and make the light last longer. Running at full power may cause thermal issues with the cover.
Let me know if you try this project and how you get on.
If you subscribe to the channel then I recommend keeping email notifications off. I put out a LOT of content.
If you enjoy these videos you can help support the channel with a dollar for coffee, cookies and random gadgets for disassembly at:-
http://www.bigclive.com/coffee.htm
This also keeps the channel independent of YouTube's advertising algorithms allowing it to be a bit more dangerous and naughty.
Here's the first script. It's for the diamond shaped lamp.
//Lamp cap diamond.
//You can adjust the five variables below
base=40; //Diameter of base for lamp
rim=5; //Length of rim at base
size=60; //Size of diamond
facets=6; //Number of sides (default 6)
scaling=0.66; //Ratio of length to width (default 0.66)
//Don't change variables below here
halfsize=size/2;
$fn=facets;
difference(){
union(){
//outer body
translate([0,0,0])
cylinder(h=4+rim,d1=base,d2=base,$fn=100);
translate([0,0,-(base/2)+rim])
cylinder(h=halfsize,d1=0,d2=size);
translate([0,0,halfsize-(base/2)+rim])
cylinder(h=size*scaling,d1=size,d2=0);
}
//Inner core.
translate([0,0,-1])
cylinder(h=6+rim,d1=base-2,d2=base-2,$fn=100);
translate([0,0,-(base/2)+rim+1])
cylinder(h=halfsize-1,d1=0,d2=size-2);
translate([0,0,halfsize-(base/2)+rim])
cylinder(h=size*scaling-1.5,d1=size-2,d2=0);
translate([-halfsize,-halfsize,-halfsize])
cube([size,size,halfsize]);
//x-ray box
//translate([-80,-80,-50])
//cube([160,80,260]);
}
Here's the second script. It creates the quartz crystal that tapers to the top.
//Lamp cap obelisk quartz crystal.
//You can adjust the five variables below
base=40; //Diameter of base for lamp
rim=4; //Length of rim at base
size=60; //Diameter of crystal
scaling=1.5; //Scale of crystal length (default 1.5)
facets=6; //number of faces (default 6)
//Don't change variables below here
halfsize=size/2;
upper=halfsize-(base/2)+rim;
$fn=facets;
difference(){
union(){
//outer body
translate([0,0,0])
cylinder(h=4+rim,d1=base,d2=base,$fn=100);
translate([0,0,-(base/2)+rim])
cylinder(h=halfsize,d1=0,d2=size);
translate([0,0,upper])
cylinder(h=size*scaling,d1=size,d2=size/2);
translate([0,0,upper+size*scaling])
cylinder(h=size/4,d1=size/2,d2=0);
}
//Inner core.
translate([0,0,-1])
cylinder(h=6+rim,d1=base-2,d2=base-2,$fn=100);
translate([0,0,-(base/2)+rim+1])
cylinder(h=halfsize-1,d1=0,d2=size-2);
translate([0,0,upper])
cylinder(h=size*scaling,d1=size-2,d2=(size/2)-2);
translate([0,0,upper+size*scaling])
cylinder(h=(size/4)-1,d1=(size/2)-2,d2=0);
translate([-halfsize,-halfsize,-halfsize])
cube([size,size,halfsize]);
//x-ray box
//translate([-80,-80,-50])
//cube([160,80,280]);
}
And the third script that creates a globe-like quartz crystal.
//Lamp cap globe-style quartz crystal.
//You can adjust the five variables below
base=44; //Diameter of base for lamp
rim=4; //Length of rim at base
size=60; //Diameter of crystal
facets=6; //Number of sides (default 6)
scaling=1.5; //Scale of crystal length (default 1.5)
//Don't change variables below here
half=size/2;
upper=half-(base/2)+rim;
$fn=facets;
difference(){
union(){
//outer body
translate([0,0,0])
cylinder(h=4+rim,d1=base,d2=base,$fn=100);
translate([0,0,-(base/2)+rim])
cylinder(h=half,d1=0,d2=size);
translate([0,0,upper])
cylinder(h=size*scaling,d1=size,d2=half*3);
translate([0,0,upper+size*scaling])
cylinder(h=(half*3)/2,d1=half*3,d2=0);
}
//Inner core.
translate([0,0,-1])
cylinder(h=6+rim,d1=base-2,d2=base-2,$fn=100);
translate([0,0,-(base/2)+rim+1])
cylinder(h=half-1,d1=0,d2=size-2);
translate([0,0,upper])
cylinder(h=size*scaling,d1=size-2,d2=(half*3)-2);
translate([0,0,upper+size*scaling])
cylinder(h=(half*3)/2-1.5,d1=(half*3)-2,d2=0);
translate([-half,-half,-half])
cube([size,size,half]);
//x-ray box
//translate([-80,-80,-50])
//cube([160,80,280]);
}
Download the free open-source openscad software for Windows, Linux and Mac from the official website:-
https://www.openscad.org/
Once installed, clear the text area and copy and paste in your chosen script from down below.
There are three. Diamond, Obelisk Quartz crystal and Globe quartz crystal.
You can change several variables as desired to create globes with custom base and body sizes.
By design, the globes will print as a hollow shell with a wall thickness of about 1mm. I recommend using natural/transparent PLA for the best light output, but you could also use white or colours for a solid visual shape. For safety you could use a flame retarded printing filament, but I don't use that myself.
The lamps you use with this will need downrated to around 3W as shown to keep the housing cool and make the light last longer. Running at full power may cause thermal issues with the cover.
Let me know if you try this project and how you get on.
If you subscribe to the channel then I recommend keeping email notifications off. I put out a LOT of content.
If you enjoy these videos you can help support the channel with a dollar for coffee, cookies and random gadgets for disassembly at:-
http://www.bigclive.com/coffee.htm
This also keeps the channel independent of YouTube's advertising algorithms allowing it to be a bit more dangerous and naughty.
Here's the first script. It's for the diamond shaped lamp.
//Lamp cap diamond.
//You can adjust the five variables below
base=40; //Diameter of base for lamp
rim=5; //Length of rim at base
size=60; //Size of diamond
facets=6; //Number of sides (default 6)
scaling=0.66; //Ratio of length to width (default 0.66)
//Don't change variables below here
halfsize=size/2;
$fn=facets;
difference(){
union(){
//outer body
translate([0,0,0])
cylinder(h=4+rim,d1=base,d2=base,$fn=100);
translate([0,0,-(base/2)+rim])
cylinder(h=halfsize,d1=0,d2=size);
translate([0,0,halfsize-(base/2)+rim])
cylinder(h=size*scaling,d1=size,d2=0);
}
//Inner core.
translate([0,0,-1])
cylinder(h=6+rim,d1=base-2,d2=base-2,$fn=100);
translate([0,0,-(base/2)+rim+1])
cylinder(h=halfsize-1,d1=0,d2=size-2);
translate([0,0,halfsize-(base/2)+rim])
cylinder(h=size*scaling-1.5,d1=size-2,d2=0);
translate([-halfsize,-halfsize,-halfsize])
cube([size,size,halfsize]);
//x-ray box
//translate([-80,-80,-50])
//cube([160,80,260]);
}
Here's the second script. It creates the quartz crystal that tapers to the top.
//Lamp cap obelisk quartz crystal.
//You can adjust the five variables below
base=40; //Diameter of base for lamp
rim=4; //Length of rim at base
size=60; //Diameter of crystal
scaling=1.5; //Scale of crystal length (default 1.5)
facets=6; //number of faces (default 6)
//Don't change variables below here
halfsize=size/2;
upper=halfsize-(base/2)+rim;
$fn=facets;
difference(){
union(){
//outer body
translate([0,0,0])
cylinder(h=4+rim,d1=base,d2=base,$fn=100);
translate([0,0,-(base/2)+rim])
cylinder(h=halfsize,d1=0,d2=size);
translate([0,0,upper])
cylinder(h=size*scaling,d1=size,d2=size/2);
translate([0,0,upper+size*scaling])
cylinder(h=size/4,d1=size/2,d2=0);
}
//Inner core.
translate([0,0,-1])
cylinder(h=6+rim,d1=base-2,d2=base-2,$fn=100);
translate([0,0,-(base/2)+rim+1])
cylinder(h=halfsize-1,d1=0,d2=size-2);
translate([0,0,upper])
cylinder(h=size*scaling,d1=size-2,d2=(size/2)-2);
translate([0,0,upper+size*scaling])
cylinder(h=(size/4)-1,d1=(size/2)-2,d2=0);
translate([-halfsize,-halfsize,-halfsize])
cube([size,size,halfsize]);
//x-ray box
//translate([-80,-80,-50])
//cube([160,80,280]);
}
And the third script that creates a globe-like quartz crystal.
//Lamp cap globe-style quartz crystal.
//You can adjust the five variables below
base=44; //Diameter of base for lamp
rim=4; //Length of rim at base
size=60; //Diameter of crystal
facets=6; //Number of sides (default 6)
scaling=1.5; //Scale of crystal length (default 1.5)
//Don't change variables below here
half=size/2;
upper=half-(base/2)+rim;
$fn=facets;
difference(){
union(){
//outer body
translate([0,0,0])
cylinder(h=4+rim,d1=base,d2=base,$fn=100);
translate([0,0,-(base/2)+rim])
cylinder(h=half,d1=0,d2=size);
translate([0,0,upper])
cylinder(h=size*scaling,d1=size,d2=half*3);
translate([0,0,upper+size*scaling])
cylinder(h=(half*3)/2,d1=half*3,d2=0);
}
//Inner core.
translate([0,0,-1])
cylinder(h=6+rim,d1=base-2,d2=base-2,$fn=100);
translate([0,0,-(base/2)+rim+1])
cylinder(h=half-1,d1=0,d2=size-2);
translate([0,0,upper])
cylinder(h=size*scaling,d1=size-2,d2=(half*3)-2);
translate([0,0,upper+size*scaling])
cylinder(h=(half*3)/2-1.5,d1=(half*3)-2,d2=0);
translate([-half,-half,-half])
cube([size,size,half]);
//x-ray box
//translate([-80,-80,-50])
//cube([160,80,280]);
}
Category (YouTube): Science & Technology
Playback is via YouTube's official embedded player. Data from YouTube; Exumo is not affiliated with YouTube.