The openSCAD script for this actually fitted into the YouTube description area, so you can copy and paste the script from there to openSCAD to make one of these.
I optimised it for efficient printing as a thin hollow (but strong) plastic shell. In hindsight it may be possible to pre-solder the LEDs into a chain before pressing them into the form and then soldering the resistors together and adding the USB cable.
I'll not be making too many 3D printing videos as I realise that not everyone has a 3D printer.
There are also links to openSCAD and an eBay search for packs of the colour changing LEDs in the description on YouTube too.
Given how capable openScad is, I bet the code could be compacted to a fraction of the size.
Just out of interest I'll try copying the openSCAD file down below here too.
//Big Clive 21/Jan/2020 LED quartz
difference(){
union(){
difference(){
union(){
//six sub crystals
rotate([45, 0, 0])
cylinder(h =80, d1 = 30,d2 = 20,$fn=6);
rotate([45, 0, 0])
translate([0,0,80])
cylinder(h =10, d1 = 20,d2 = 0,$fn=6);
rotate([45, 0, 60])
cylinder(h =80, d1 = 30,d2 = 20,$fn=6);
rotate([45, 0, 60])
translate([0,0,80])
cylinder(h =10, d1 = 20,d2 = 0,$fn=6);
rotate([45, 0, 120])
cylinder(h =80, d1 = 30,d2 = 20,$fn=6);
rotate([45, 0, 120])
translate([0,0,80])
cylinder(h =10, d1 = 20,d2 = 0,$fn=6);
rotate([45, 0, 180])
cylinder(h =80, d1 = 30,d2 = 20,$fn=6);
rotate([45, 0, 180])
translate([0,0,80])
cylinder(h =10, d1 = 20,d2 = 0,$fn=6);
rotate([45, 0, 240])
cylinder(h =80, d1 = 30,d2 = 20,$fn=6);
rotate([45, 0, 240])
translate([0,0,80])
cylinder(h =10, d1 = 20,d2 = 0,$fn=6);
rotate([45, 0, 300])
cylinder(h =80, d1 = 30,d2 = 20,$fn=6);
rotate([45, 0, 300])
translate([0,0,80])
cylinder(h =10, d1 = 20,d2 = 0,$fn=6);
//main central crystal
translate([0, 0, 0])
cylinder(h =100, d1 = 50,d2 = 20,$fn=6);
//main crystal tip
translate([0, 0, 100])
cylinder(h =10,d1=20,d2=0,$fn=6);
}
//remove central crystal core
translate([0, 0, -1])
cylinder(h =101.1, d1 = 48,d2 = 18,$fn=6);
//remove centre crystal tip
translate([0, 0, 100])
cylinder(h =9,d1=18,d2=0,$fn=6);
//six sub crystal core removal
rotate([45, 0, 0])
translate([0,0,0])
cylinder(h =80.1, d1 = 28,d2 = 18,$fn=6);
rotate([45, 0, 0])
translate([0,0,80])
cylinder(h =9, d1 = 18,d2 = 0,$fn=6);
rotate([45, 0, 60])
translate([0,0,0])
cylinder(h =80.1, d1 = 28,d2 = 18,$fn=6);
rotate([45, 0, 60])
translate([0,0,80])
cylinder(h =9, d1 = 18,d2 = 0,$fn=6);
rotate([45, 0, 120])
translate([0,0,0])
cylinder(h =80.1, d1 = 28,d2 = 18,$fn=6);
rotate([45, 0, 120])
translate([0,0,80])
cylinder(h =9, d1 = 18,d2 = 0,$fn=6);
rotate([45, 0, 180])
translate([0,0,0])
cylinder(h =80.1, d1 = 28,d2 = 18,$fn=6);
rotate([45, 0, 180])
translate([0,0,80])
cylinder(h =9, d1 = 18,d2 = 0,$fn=6);
rotate([45, 0, 240])
translate([0,0,0])
cylinder(h =80.1, d1 = 28,d2 = 18,$fn=6);
rotate([45, 0, 240])
translate([0,0,80])
cylinder(h =9, d1 = 18,d2 = 0,$fn=6);
rotate([45, 0, 300])
translate([0,0,0])
cylinder(h =80.1, d1 = 28,d2 = 18,$fn=6);
rotate([45, 0, 300])
translate([0,0,80])
cylinder(h =9, d1 = 18,d2 = 0,$fn=6);
}
//Second solid additions
//Add base cone
translate([0,0,3])
cylinder(h =45, d1 = 100,d2 = 7,$fn=6);
//led plinths
rotate([45, 0, 0])
translate([0,0,30])
cylinder(h =5.5, d1 = 20,d2 = 8,$fn=20);
rotate([45, 0, 60])
translate([0,0,30])
cylinder(h =5.5, d1 = 20,d2 = 8,$fn=20);
rotate([45, 0, 120])
translate([0,0,30])
cylinder(h =5.5, d1 = 20,d2 = 8,$fn=20);
rotate([45, 0, 180])
translate([0,0,30])
cylinder(h =5.5, d1 = 20,d2 = 8,$fn=20);
rotate([45, 0, 240])
translate([0,0,30])
cylinder(h =5.5, d1 = 20,d2 = 8,$fn=20);
rotate([45, 0, 300])
translate([0,0,30])
cylinder(h =5.5, d1 = 20,d2 = 8,$fn=20);
//cable entry
translate([0,-35,10])
rotate([45, 0, 0])
sphere (d=10,$fn=20);
}
//Second removals
//Inner base area
translate([0,0,2])
cylinder(h =45, d1 = 100,d2 = 6,$fn=6);
//base removal cube
translate([-50,-50,-47])
cube ([100,100,50]);
//LED hole removal
rotate([45, 0, 0])
translate([0,0,26])
cylinder(h =10,d1=5,d2=5,$fn=20);
rotate([45, 0, 60])
translate([0,0,26])
cylinder(h =10,d1=5,d2=5,$fn=20);
rotate([45, 0, 120])
translate([0,0,26])
cylinder(h =10,d1=5,d2=5,$fn=20);
rotate([45, 0, 180])
translate([0,0,26])
cylinder(h =10,d1=5,d2=5,$fn=20);
rotate([45, 0, 240])
translate([0,0,26])
cylinder(h =10,d1=5,d2=5,$fn=20);
rotate([45, 0, 300])
translate([0,0,26])
cylinder(h =10,d1=5,d2=5,$fn=20);
//main pillar LED hole
translate([0,0,40])
cylinder(h =10,d1=5,d2=5,$fn=20);
//cable entry
translate([0,-35,10])
rotate([45,0,0])
cylinder(h =20, d1 = 4,d2 = 4,$fn=20);
}
Big Clive
2020-02-03 05:55:28 +0000 UTCMichael Thompson
2020-01-28 18:34:45 +0000 UTCMike Hughes
2020-01-28 18:26:41 +0000 UTCBig Clive
2020-01-28 02:25:58 +0000 UTCEwen McNeill
2020-01-27 23:00:16 +0000 UTCBig Clive
2020-01-27 20:10:42 +0000 UTCNeil Tonks
2020-01-27 08:20:05 +0000 UTCMichael Gilchrest
2020-01-27 04:39:07 +0000 UTCNani Isobel
2020-01-27 03:08:28 +0000 UTCMichael Gilchrest
2020-01-27 02:20:07 +0000 UTCCleveland Prescott
2020-01-27 02:18:42 +0000 UTCBig Clive
2020-01-27 01:10:13 +0000 UTCBig Clive
2020-01-27 01:09:24 +0000 UTCRichard Boyce
2020-01-26 22:37:11 +0000 UTCCharles Bruckner
2020-01-26 21:10:16 +0000 UTCBig Clive
2020-01-26 20:34:26 +0000 UTCAndy Brown
2020-01-26 20:06:30 +0000 UTCKeith Miller
2020-01-26 19:57:26 +0000 UTCKeith Lambell
2020-01-26 19:54:25 +0000 UTCMartel DuVigneaud
2020-01-26 19:35:36 +0000 UTCMichael Thompson
2020-01-26 19:27:52 +0000 UTCNeil Tonks
2020-01-26 18:36:48 +0000 UTC