Это видео недоступно.
Сожалеем об этом.
3D printed LED test-tube lamp. (with adjustable 3D openSCAD file)
HTML-код
- Опубликовано: 12 янв 2020
- I've previously made lamps like this by gluing a test-tube into a lamp base with two part resin, but it was always tricky keeping the tube straight and fully pressed in against air pressure while waiting for the glue to cure.
This approach uses a simple 3D adaptor to make it easy to fit the tube over the electronics, while providing extra insulation that extends down into the base and allowing pressure equalisation if something fails in the tube. (Noting that there's always a possibility of broken glass if something fails as with traditional lamps.)
The circuitry is a simple classic capacitive dropper, and I ended up managing to fit in about 26 RGB slow colour changing straw-hat style LEDs. Note that it's better to use the slow change RGB LEDs instead of the fast flashing ones as there will be a high open circuit voltage across a flashing LED while it's not lit and that might damage it. You could also use standard LEDs for continuous illumination. The light only uses about 1W of power, so it's more for decorative use than room lighting.
Here's the text file that you should hopefully be able to copy and paste into openSCAD.
//Test tube lamp to base adaptor. Big Clive 4th Jan 2020.
difference(){
union(){
//We start by adding solid objects to make the overall shape.
//Larger upper cylindrical section that goes into base.
//25mm (12.5mm radius) to fit existing lamp base.
translate([0, 0, 0])
cylinder(h = 10, r1 = 12.5,r2 = 12.5);
//Smaller cylindrical section that goes into lower base area.
translate([0, 0, -10])
cylinder(h = 8, r1 = 10.5,r2 = 10.5);
//Slight taper section between two cylindrical sections.
//(Mainly for support during printing.)
translate([0, 0, -2])
cylinder(h = 2, r1 = 10.5,r2 = 12.5);
// Squashed sphere to create rounded rim.
translate([0, 0, 12])
scale([1, 1, 0.33])
sphere(r=15);
}
//Now we're removing bits from the solid object.
//18.5mm (9.25mm radius) hole through middle for test tube.
translate([0, 0, -14])
cylinder(h = 50, r1 = 9.25,r2 = 9.25);
//Slight inner recess at top to hide oozed glue.
translate([0, 0, 9])
cylinder(h = 10, r1 = 10.5,r2 = 10.5);
}
openSCAD is a script based CAD system that lets you build printable objects based on adding and subtracting just a few solid objects like cubes, cylinders and spheres. It sounds simple, but in reality it can create very complex objects, and because the file is a simple script you can change parameters easily to tweak a model to your own requirements.
Half of the script above is comments I've added to make it easier to understand.
An excellent starting guide for openSCAD:-
cubehero.com/2...
The main openSCAD website for downloading the free software is here:-
www.openscad.org/
There's a version of openSCAD that can run in a browser, but it's not compatible with the file above.
If you enjoy these videos you can help support the channel with a dollar for coffee, cookies and random gadgets for disassembly at:-
www.bigclive.co...
This also keeps the channel independent of RUclips's advertising algorithms allowing it to be a bit more dangerous and naughty.
Your manual dexterity never ceases to amaze me. It's like your hands grow little extra mini hands whenever needed.
We all love Clive's craft hour.
Big Clive's craft corner! (Yeah!)
(Americans pre- #metoo movement will get this reference.)
Wim Widdershins
Ne critiquez pas les chinois, parce que là, c'est bien pore
> "Try to keep it as short as possible"
> Video is over twenty minutes long
Ah, good man Big Clive. Never change.
If it had been the full build it would have been over an hour.
@@bigclivedotcom And a lot of us would still have watched it :D
@@bigclivedotcom I could have used at least another 5 minutes of video to finish drinking my morning coffee that I started at the beginning of the video.
Doesn't matter all too much: I found myself watching Clive's videos not even noticing how much time have passed.
Clive is the only RUclipsr other than TYT live (news) who can get me to watch long videos.
My only disappointment with this is that if love to see the full build (maybe two versions next time?)
I would also love to see the diagrams with alternative values for 110-120v US power, but I'm probably just being greedy.
I love the way he turned the components into art
As a nice OpenSCAD exercise you can print the internal form of the Edison screw so the adapter will screw into place.
Was gonna say the same
Oh, it's called OpenSCAD. I installed OpenScat. It was shit.
@Blondie SL Erm, _whoooosh_
Joke went right over your head.
@@bdf2718 and the woooshed person deleted their comment... always great :D
Just spent 20 minutes watching a man play with his test tube.
Nothing better than a good friction fit.
You must be new around here.. 😉
I particularly enjoy that when those LEDs get into the blues and violets that the plastic you used begins to fluoresce.
I love 3D printing for things like this. I've printed a LOT of very useful things that either didn't exist, or cost significantly more than the pennies it took to print myself.
Downloaded OpenScad, cut and pasted your code, produced an STL took it to work and printed it. No problems didn't even have to look at help anywhere. Disappointing that all that printed was a sort of strange shaped tube; no glass tube, no LEDs, no other components neatly soldered together. I expected more from you Clive. As always very enjoyable video. Thank you.
"AHHH!" - Laughed so hard at that point.
He sure seemed to be enjoying that friction fit a little too much! ;-)
Me too XD
My reaction was to register bigchild .com and redirect that to bigclive.com. Sadly bigchild was already taken :)
69 Likes. Nice
I'll make it fit with violence ... ;)
It's always nice to see obscure 3D design techniques like procedural object generation being used in practice.
Rainbows in a test tube, so lovely & so stylish that even with the power off it's attractive to the eye. Thanks for sharing!
Bloody hell! Thanks BC! I'm, going to get a 3D printer now! The problem is that I do not have any room for it! Your enthusiasm is infectious.
That looks really nice. I love the way you can see the electronic components in the base. Nice job. 👍💯
I'd have expected a pink adapter. 🙃
Yeah where’s the lurid pink filament!?!
Not china junk :)
I don't care if it was an all day video. If it's instructional and something new to learn I'll stay all day! Thank you for your time and effort! Salutations from the research triangle in North Carolina USA!
Nice to see you making use of 3d printing :D
As a rule of thumb, to make 3d printed things fit to measure, allow for 0.2mm shrinkage.
So a 5mm diameter tube would need a 5.4mm 3d printed hole.
Shrinkage is all based on the material being printed as well.
It's better to calibrate your slicer and printer instead of changing the model
@@RobertSzasz Or maybe get into the habit of acknowledging that additive manufacturing is not a cure-all and just like any other manufacturing method works best in conjunction with decent post-processing. Unless, of course, you're perfectly happy with things looking like spooled turd.
There are two reasons why an inside diameter may be smaller as printed than as designed:
1. Faceting of the generated model - all points are generated on the circle, so all facets are chords of the circle. You can either increase the resolution so it doesn't matter (set "$fn = 120" or however many facets suit, either as a variable or a parameter to the cylinder() call), or calculate a larger diameter (divide the diameter or radius by cos(180 × number of facets), if I remember correctly).
2. When the printer is extruding, the filament tends to stick to itself and be pulled along by the nozzle, so all corners are rounded and circles are smaller than specified. I hear some slicers can compensate for this, but whether in the slicer or in the model, you'll need to calibrate it to your particular printer and filament characteristics.
Came here to say this. I almost always make "$fn = 180" my first line. For performance reasons, I leave it commented out until I'm ready to export the STL for printing. My main purpose is just to smooth everything out for printing. As you pointed out, it can also have an impact on the actual clearance size of cylinders, holes, etc.
one of the rare geek channels where software is demonstrated by printing screens on paper :)
not convinced it's a geek channel? seek to 6:18 :))
As somebody that has worked all my life with my hands, I have to give you props for finger dexterity. Not only have you also abused your hands by working with them roughly, which usually leads to numb or sore fingers and even lack of motion in some cases. On top of that you have giant's hands. Well done sir. Cheers.
I brought snacks to see a few episodes of a TV-show. Now I'm on stuck on Clive's channel again and all out of snacks... Keep it up! :)
3:40 OpenSCAD! My favourite 3D modelling tool. You can also set the "special variable" $fn to set the number of polygons. For example, adding "$fn = 100;" in your code would make all those cylinders / spheres very smooth. You can also try to understand $fa and $fs for better control depending on the part size. Google "OpenSCAD special variables" for more info
OpenSCAD is a great tool.
I'm always amazed how much CAD software has advanced since my days learning on clunky AutoCAD in school. So much more user friendly these days and available to everyone for free; I don't want to know how much the school had to pay for it's license of AutoCAD.
along with being able to specify "$fn = 120;" globally you can also place it at the end within most commands , even import and rotate_extrude. It will override the global value for that line.
Make sure there isn't too many faces in one radius as it will trip up 8bit printers and increase file size. I do this "Resolution = 120;" then "$fn = Resolution;", then add ", $fn = Resolution / 2])" to a command to reduce or increase it globally.
i like the style that clive brings to life. Even better is the learning that accompanies the style. Now to download and learn Open CAD
Dear Clive, One of your very best projects, thanks.
Several years ago I made something similar to use inside of a Himalayan salt lamp in place of the incandescent bulb it came with. Since I wasn't looking for the ionizing "benefits" of the salt, I thought a colorful nightlight would be nice. The design I used had only 2 color-change LEDs (one for each half of the AC sine wave) because I found that more than two eventually made a mostly uniform yellow color when diffused by the salt as the LEDs ended up at different points in their cycles. I also used a different value for the poly cap (I think it was a 0.22mf, but don't remember for certain) for the current limiter for US 120V/60Hz grid power, and I added a PCB mount style micro fuse just for good measure. In addition, in series with each of the two LEDs, each LED got a 1000V PRV diode to help prevent damage from line spikes that would blow through the LEDs. Each LED also needed a small RC hold-up circuit to keep the LED from resetting. It tested at under 0.5W power consumption and has been used essentially continuously for about 4 years now.
Love the content!
That openSCAD reminds me of something we had to make in C#/OpenGL when I was doing my graduate degree in mechanical engineering. One of the classes was Computer Aided Design Theory which actually taught the theory of how 3D CAD packages work and had various projects to make actual primitive CAD programs. Looks like they basically just stuck with the bog standard formulas for making the basic primitives and final shape. Kind of nice since its less confusing and more straightforward if you've never used something like Creo or Solidworks.
The best thing about OpenSCAD that I haven't seen in other CAD packages is that the code on the left can have variables in it. So for example you have a variable for the test tube's diameter at the top, which the user can set, and the code will automatically make the hole down the middle the right size and/or make the base a bit wider etc... Good stuff.
I've been experimenting with variables.
So glad too see you finally got into 3d printing Clive. I got into it in 2015 and it has been the most fun for a builder like me that I can think of.
You should record this lamp on and running for about 20 min or so and upload that for us to stare at. ;)
Slow TV, Big Clive style.
You should build one and you can stare at it all day. Even if you never turn it off, it’ll only cost you about a buck a year to operate. 🤓👍
Having built one like this you can also plug/unplug quickly and it puts all the LEDs in a random state. Kinda fun to stare at, even though it just produces an off white once they're all out of sync.
WOW electronics, 3D printing and mains voltages. Shame there was no software that would have been the best video of the year :-)
This is brilliant. I have multiple coral reef aquariums & plenty dead aquarium heaters I’d been breaking down to recycle the sturdy glass tubes for an DIY lighting project using color changeable LED strips and an ESP chip. Great to see your implementations & will reuse your 3D SCAD file. Thank you!
I've never heard of OpenSCAD before. And I want to give it a try, indeed! Thank you for this highlight!
might be a variation of the openjscad
@@undersiege3402 Other way around.
I found it relatively easy to handle if you've ever used any script based raytracing software, too. Right down to the nested objects and commands.
@@treborrrrr nice to know
In some applications the BC cap can be electrically connected. For example on 12V lamps that have two independent filaments, the cap will be the common connection, with the other end of each filament going to the respective bottom contacts. These are standard BC size caps. You can get similar arrangements with the SBC caps used for combined tail/stop lamps in cars, vans and trucks.
Chocolate M&M's?
Gotta love the metric system.
I think the technical term could be a "bi-convex disc"
Another very good video Clive. Enjoy all your videos, educational the works. keep them coming. Thank you just learnt something new today about lights( l.e.d ) and 3D printing.
I don't know if other people observed this, but around 3:00 when you turn down the brightness to show the design code for the base, that actually makes the code much harder to read. Something somewhere is doing contrast enhancement or edge sharpening so each group of letters has sort of a halo of light around it, and there are also colour artifacts. It reminded me of trying to read with a hangover or a migraine or both.I found it much easier to read for that second or two before the brightness was adjusted.
down loaded, ran s/w, it worked ok, only down side I have get off my bottom and start my 3D kit that's been waiting for 18mths for inspiration. Damn you Clive!!!!!
I wish I was half as good at free hand soldering as you Clive.
In my college days, I was taught solder was ONLY for the electrical connection NOT for a mechanical one Each joint need BOTH mechanical and electrical connection
So was i and at work, when a wire was connected to a pcb it was wrapped around a pin or went through a hole big enough so that the insulation was inside hole and the conductors bent over 90 deg and soldered to the track. built equipment for fighter aircraft where vibration is a big issue.
@@TheEmbeddedHobbyist how true I when on to work on handheld Radio communications some used on Oil Rigs which had to be all to a high spec in such a work environment.
Parts are a lot smaller and lighter than they used to be. Mechanical support is not really an issue in most applications.
@@Scodiddly, when it comes to PCB, SMD can be worse than the old PTH components. if you've seen SMD components fly off a PCB during vibration testing, when the board hits resonance it is amazing how much it will bend. it is still important to clamp wires if they are soldered. where the solder stops in a multi strand is a weak point were the strands will work harden if moved about to much, as each strand breaks the stress increases on the remaining ones speeding up the failure. this is why in a crimp it always crimps on to the insulation.
Solid core wire / conductors can also suffer from stress breaks if the conductor is nicked when the insulation is stripped. A major British company suffered a safety related control system failure due to a solid core cable breaking and the broken end dropped down and touched a different live terminal, which resulted in a control system failure that put peoples lives at risk. Luckily an operator noticed that his indications were showing an abnormal state before it caused harm. Hence always use suitable wire strippers rather than using wire cutters. Correctly terminate cables and wires. Make sure wiring is secured and can’t move unnecessarily. And provide mechanical support.
One of the best BC videos in a long time...and that is really saying something. Watched this 3 times already and not yet bored!
Having a stylish shape for your rectifiers is sooooo important
I have to say this video is both enjoyable and pleasing. Not only because of the conotative noises and remarks :)
I'm able to compile it on Scorch CAD (an android app intended for tinkering with OepnSCAD models). It looks correct.
Confirmed that OpenSCAD and your lamp base adaptor script works fine on my Linux system (Mint). It was surprisingly easy!
Thank you, Clive, for the link to OpenSCAD and the tutorial. It seems simple and relatively intuitive, and especially productive. Great find. The cut-and-paste worked perfectly, and is a good way to get the gist. And very nice lamp, I must say. Cheers.
neat little program and lamp actually makes a 3d printer for these basic constructions tempting to get. looking forward to future phallic cad models hiding in the description
As you were describing the part I was thinking "I wonder if Clive has discovered OpenSCAD, it sounds like it would suit his thought process?"...
I shouldn't have worried.
Yes it's very good. As a programmer with a maths head, it really works for me too. I made a lighthouse shaped base (complete with recessed DC power socket) for my Gillian's diamonds lamp with it. :-D
once you get the hang of openSCAD its quite easy to use.
a few years ago i needed to replace a leg for my laptop stand and found the same article you did when i was trying to make the 3d model, though the model worked out to be a great fit i ended up forgetting to add a groove for when it would lock into place but ended up having it dremeled to fit.
i havent used OpenSCAD since 2017 but from what i can remember the reason difference comes before union is because of the order of operation (not sure if thats the right term) , you need to make the initial object first to then have something removed from it.
for reference here is the code for the replacement leg (with shoddy comments)
// everything is in mm
//rotate([90, -0, 0])
difference() {
difference() {
union() {
translate([1, 0, -19.5])
cube([20, 10.5, 3], center = true); //^leg/latch to stop it from falling out
color([1,0,0,0.3])
cube([13, 10.5, 42], center = true);
} //< main body
color([0,1,1,0.5])
translate([1, 0, -21])
cube([18, 13, 1.5], center = true);
//^latching cutout part for the leg
// main body
color([1,1,1,0.5])
translate([6, 0, 3])
scale([1, 2, 3])
cube([2.5, 10, 10], center = true); // cut out for the laptop to hook into
}
translate([4, 0, -5])
difference() {
// smoothing of the back
color([1,0,1,0.1])
scale([1, 1, 1])
rotate([0, 0, 180])
translate([2, -25, -2])
cube([20, 50, 50]);
color([1,1,1,0.1])
scale([1, 1.5, 3])
translate([0, 0, 0])
sphere(12, $fn = 100);
}}
Another fine lamp project, and the OpenSCAD script works fine.
the nice thing about OpenSCAD is that the S is for Script. The whole program is a scripted CAD program making it extremely flexible. It can also be extremely difficult when trying to design more complex designs. I personally use FreeCAD for most of my design products.
On a side note, you could have made your design with only 2 lines of code. Draw the base design profile and then rotate it around the center axis.
The code works fine with openscad. Messed around with the script and the numbers and it was still fine, other than after the alterations it looked nothing like the original. Very nice program Clive, many thanks.
This is the best thing you've ever made. I could look at it for hours.
Made out of a nugget of pure green... 😁
That looked very nice. At 1 watt it would cost almost nothing to run. Nice work on the construction Clive👍
Would you be offended if I said you’re the Bob Ross of electronics? As always, I enjoyed watching. Also, you re-inspired my interest in electronics. Thank you.
Never seen the hopi look so good
Satisfying
One thing to keep in mind with 3d printing is if your part is made from PLA filament it can start to soften and deform at around 50 60 degrees Celsius your circuit may not get that hot. But someone may want to use higher power LEDs that generate more heat. Make sure you print out of a higher temperature rated material such as abs.
The Bob Ross of soldering!!
Thanks for the SCAD tips Clive, perhaps you could make a small PCB for the capacitive dropper and make more space for even more LEDs.... on the one hand you would not be able to see the cool components, but on the other you could use stupidly small SMD parts like a multi layer ceramic dropper cap!
This gave me an idea for a novelty lightbulb that would light up when you hold it basically emulating uncle Fester ability. You could easily hide a couple of button cells in the base and use capacitive coupling to trigger the circuit (TTP223 module perhaps).
It would be a bit of a problem if someone actually stuck one in a mains lamp holder though
EDIT: If you want to implement this for a future video feel free to do so it would be really cool actually
Massimo could use a microcontroller to give it different modes. Maybe add a feature where you double-tap to disable the lighting in case someone else wants a go;)
we still use the bayonet cap is Australia too. love your vids. keep it up
You could design that with TinkerCAD in a few minutes, too. I've never tried OpenSCAD, honestly. TinkerCAD has had most of what I've needed for my projects. It has some limitations but the interface is just ridiculously intuitive. The learning curve for it is about as close to zero as you can get without having the thing just read your mind and spit out what you want.
I do a fair bit of 3D printing. I've got an Ender 3 Pro and I love that thing. When you get it working right the accuracy is incredible. I've printed parts with a tolerance of a couple hundredths of a millimeter. (Sure, that's not impressive if you're talking about milling metal but for squirting molten plastic out of a nozzle that doesn't really have any way to measure how much plastic is coming out other than how much you try to shove through it... It's pretty good.)
you just made that right in front of me, fuck man, i tbrings tears to my eyes. i cant explain how beautiful that lamp is, its the first light i've seen in years. thank you clive
Very good result Clive. Your little sketch of the bayonet adaptor could also be used by anyone with a lathe (but no 3D printer) to make one from plastic bar stock.
More of this plz :)
Just got into 3D printing mainly because I can't wait a month for project boxes, adapters and such to come with the boat.
This would be a great opportunity for some GITD filament.
Also anyone that does stuff like this...
No clue what material was used here but PLA is probably only good for testing. If it heats up(from any of the electronics)...even mild heat will deform it. It'll also loosen over time and the tube will just slide out if screwed in say...the ceiling. Maybe use the flanged tubes?
which brings in another point...that piece that was just ever so loose? Heat gun, or hair dryer. Put it over the tube and heat it slowly, it'll probably shrink just enough to snug up. Just don't overheat or it'll droop right off.
I wouldn't mind having a light like that very calming to watch
I came across ProDesktop, a three d package given away free to schools many years ago. It evolved into Solid works and even used the same tutorials. You could probably find a free copy somewhere. Prodesktop has become my go to for this sort of thing.
For adding flux to wires/component leads etc. I've a tub of flux and poke the leads in. Saves messing around with the pen.
Depends on the type of flux. Resin type flux is OK but plumbers flux is designed to clean off copper oxide easily, and if you get too close to the smoke it will clean the front off your eyeballs too.
@Gordon
Got builders in at the moment and can't get to my bench but it's similar to this
www.ebay.co.uk/itm/Silverline-Soldering-paste-flux-20g-Lead-free-easy-use-no-residue-paste/254389728805
Thanks for the 3d OpenScad info... I did DL it and did make your part. It did work as expected... Thanks for sharing
I'm so happy that you choose OpenSCAD. I hesitated for a long time buying a 3D printer, because I was afraid of the steap learning curve one encounters when trying to use the more conventional free CAD software. Same day finding OpenSCAD, I ordered my 3D printer. Because in OpenSCAD, 3D modeling is just like programming. And that I already can do, thanks to Arduino/ESP. All you need for OpenSCAD is this: www.openscad.org/cheatsheet/
It lists all of the commands, with links to a good explanation. Click on difference() and you'll see why the first thing after that is a union() in the example that you transformed to a test tube lamp fitting adapter ring.
Some tips:
Use variables at the beginning of your script, for example, one that specifies the radius of your test tube. Basically, I use variables for almost everything.
And the flow controls are great, too: for-loops let you create repeating shapes, like, a decorative pattern. If/then/else let you automatically add extra screw-holes and -pillars in an electronics enclosure if you specify it to be above a certain size, using the variables.
Please look at that cheatsheet-link and realize that this is basically a programming language. By leveraging that, you'll be able to design the wildest shapes. Or, download an example and modify it.
I found an example of a configurable 7-segment display. I tweaked that and created a big digital clock with it, using black PLA for the 7-segments and transparent PETG for the fronts of the segments. 4 7-segment-displays of 20 cm height with a self-designed : -holder in the middle, mounted on a piece of wood. Each segment has 2 neopixel leds, so each display has 21 leds. All of that is wired up to an ESP8266, which will get the time from the network and the desired colour from my home automation installation. An LDR on an analog input automatically adjusts the light intensity to the ambient light. About neopixel leds: don't buy individual led. Buy a led strip and cut that up: more leds for your money and easy to solder.
My 3D printing setup is a cheap Anet A6, fitted with a BLTouch sensor, Marlin firmware, a glass print bed and some printed mods for holding the BLTouch and some parts cooling ducting, with, of course, an OctoPI for networked printing. I'm slicing in Cura, printing from the Cura OctoPrint plug-in and I'm designing in OpenSCAD. Works great.
Just... don't change anything on your RUclips channel's format. There are already enough channels out there about 3D-printing.
Pasted into OpenSCAD, worked great!
Why "difference" comes before "Union": I'm not a coder and I have no idea about openscad but I think I understand the concept so I'll try to explain it in my layman's terms. Actually both are subroutines. The union one is nested inside the difference one. It makes sense in this case because you want to execute subtraction (sort of virtually drilling a hole) after you execute addition (adding up several cylinders). Now the nested subroutine execution completes before the one that encapsulates it. Since you want to complete the addition before you start subtracting, naturally the union subroutine should be the one that is encapsulated. Hope this makes sense.
Cliiiivee.... II just finished watching your AmeCal video and now I'm looking for a comparable meter that I can get in germany.
And now you come up and tell me I need a 3D Printer aswell? Man - it's just January and I need to talk to my wife about my impulse purchases again.
Keep up the nice work. Love your content.
Copying and Pasting into OpenSCAD works great
OpenSCAD paste works just fine, I see no reason why it shouldn't.
There are also a few nitpicky things about your code that I understand you couldn't care less about, but still:
1. Indenting your code makes it more readable. Each block inside {} should be indented two or four spaces more than the enclosing block. TAB key does that.
2. It's nice to keep the spaces around punctuation consistent everywhere. Just choose if you want to write a=10 or a = 10 and stick to it. Spaces after commas are a must :)
3. I'm not familiar with OpenSCAD language, but I'm pretty sure it supports variables, so you can do stuff like base_radius = 12.5 and then cylinder(h = 10, r1 = base_radius, r2 = base_radius) to not have to change it in many places.
Following with the 'test tube' motif print a cork textured stopper, paint up 'corky', hollow for electronics. Intentionally over size it maybe. Do like the exposed electronics as well. Several on a test tube rack desk lamp.
You can now buy the huge 30mm diameter test tubes that look similar to the ones used for "testicools" used in clubs for drinks in the early 1990's.Could make a huge LED contraption with that.
If you invert the drop cap section, you could push it down between the two mains wires, giving a little more room for LEDs.
Great to see code properly commented.. making life easier in the future. ✔
I like to use $fn = 60 to increase the number of facets so the circle/spheres look smoother. It can also cause a given design to crash, at least on my computer.
Good idea to include the text for the code. This works on my computer.
For people new to OpenSCAD, F5 previews the design, F6 renders the design. You have to render the design before you can export an STL file for printing. The F6 render is also when the design may crash depending on the computer.
Dave.
Uuh, don't suppose maybe the tubes were of different size ?
I've used test tubes for a lot of things that have been a millimeter or two in size differences !
Nice, very nice light !
I could stare at it and go to a different dimension ! 😊
Thanks for sharing and take care. 👍
Try some matte finish clear coating sprayed on the outside to diffuse the light further and help obscure the innards which aren't so pretty as the light it's emitting is. Adam Savage did a gaslamp lantern build and it had a nice effect when he applied the same technique.
I love Openscad, nice to see you started to look into it.
Clive you seems to really like tack soldiering but this is one project that could become a fire hazard from doing so. By simply looping the wire ends and compressing them you could make the connections mechanically strong and make the soldier connections more reliable as it prevents accidentally moving the wires a little while waiting for them to cool. This project contains many of high voltage connections that could come loose and cause a lot of heat dissipation that could cause a violent failure.
ref:4:52
The "union" command tell the rendering modul th'at the following scapes is to be tread as one object. This will be the base object for the "difference" command and the following scapes will be removed from this object.
----
1. This cleand up code works
difference(){
union(){
cylinder(h = 10, r1 = 12.5,r2 = 12.5);
translate([0, 0, -10])
cylinder(h = 8, r1 = 10.5,r2 = 10.5);
translate([0, 0, -2])
cylinder(h = 2, r1 = 10.5,r2 = 12.5);
translate([0, 0, 12])
scale([1, 1, 0.33])
sphere(r=15);
}
translate([0, 0, -14])
cylinder(h = 50, r1 = 9.25,r2 = 9.25);
translate([0, 0, 9])
cylinder(h = 10, r1 = 10.5,r2 = 10.5);
}
2. You could also use the "module" to assemble the part for the object and get a lot cleaner version for the "difference".
// Part assembly
module part()
{
cylinder(h = 10, r1 = 12.5,r2 = 12.5);
translate([0, 0, -10])
cylinder(h = 8, r1 = 10.5,r2 = 10.5);
translate([0, 0, -2])
cylinder(h = 2, r1 = 10.5,r2 = 12.5);
translate([0, 0, 12]) scale([1, 1, 0.33])
sphere(r=15);
}
module remove_this()
{
translate([0, 0, -14])
cylinder(h = 50, r1 = 9.25,r2 = 9.25);
translate([0, 0, 9])
cylinder(h = 10, r1 = 10.5,r2 = 10.5);
}
//Render part
difference()
{
part();
remove_this();
}
, but source codes will render the same result.
I should have said, it works as you had it by the way.
If you'd like to change the sizes of the parts, I've 'parameterised' some of them here:
TubeDiameter=18.5;
GlueReliefDia=21;
GlueReliefDepth=10;
UpperCylinderDia=25;
UpperCylinderLen=10;
TaperLength=2;
SmallCylinderDia=21;
SmallCylinderLen=10;
SphereDia=30;
//Test tube lamp to base adaptor. Big Clive 4th Jan 2020.
module outerPart() {
//We start by adding solid objects to make the overall shape.
//Larger upper cylindrical section that goes into base.
//25mm (12.5mm radius) to fit existing lamp base.
translate([0, 0, 0])
cylinder(h = UpperCylinderLen, r1 = UpperCylinderDia/2,r2 = UpperCylinderDia/2);
//Smaller cylindrical section that goes into lower base area.
translate([0, 0, 0-UpperCylinderLen])
cylinder(h = SmallCylinderLen, r1 = SmallCylinderDia/2,r2 = SmallCylinderDia/2);
//Slight taper section between two cylindrical sections.
//(Mainly for support during printing.)
translate([0, 0, 0-TaperLength])
cylinder(h = TaperLength, r1 = SmallCylinderDia/2,r2 = UpperCylinderDia/2);
// Squashed sphere to create rounded rim.
translate([0, 0, UpperCylinderLen+2])
scale([1, 1, 0.33])
sphere(r=SphereDia/2);
}
module innerPart() {
//Now we're removing bits from the solid object.
//18.5mm (9.25mm radius) hole through middle for test tube.
translate([0, 0, -14])
cylinder(h = 50, r1 = TubeDiameter/2,r2 = TubeDiameter/2);
//Slight inner recess at top to hide oozed glue.
translate([0, 0, GlueReliefDepth-1])
cylinder(h = GlueReliefDepth, r1 = GlueReliefDia/2,r2 = GlueReliefDia/2);
}
difference(){
outerPart();
innerPart();
}
Since the original 1982 Tron Lightcycle was made from basic geometric shapes intersected & cut/added together, I'm half surprised nobody has recreated it with openSCAD.
At 6:20 I am glad I wasn't drinking anything or else my keyboard would need changing and my screen wiped dry....aaah. Naughty Clive! Also, I am surprised you didn't print the "things" in pink. :)
If you've ever used the old POVRay program for generating 3D images, OpenSCAD is a relatively easy migration - both script based using primitives to build the 3D object.
Hi Clive copy and Paste works just fine.
This reminds me that I need to make a dangly string of colour-changing LEDs to stuff in a Russian Standard vodka bottle, empty of course, they're just perfect for lighting up with LEDs being a frosted opaque glass that diffuses the light perfectly... :D
would be perfect if the Screw cap where E27 sized.
You make me want to build my own LED lights. Also on a side note I hope to move to Europe in a few years and I have some really neat Philips brand 120v LED fairy light strands that I kinda have considered altering so they work on 230 or convert them to DC. Once my current projects are finished I'm going to get both a Step up 120-240v and a DC to Pure Sine Wave inverter so I can have native 50hz current to test out various things that I want to bring over there one day in order to make sure things work as intended. I will also test some on a step down converter on the inverter to compare some lights that are multifunction to see if they operate slower due to built in things perhaps intended for 60hz current. It will be interesting indeed well to me. But I might perhaps make videos of it you've kinda inspired me.
Hi Clive, if you'd like the two parts of the SCAD sequential as you mentioned when you started the video, you could do something like this:
//Test tube lamp to base adaptor. Big Clive 4th Jan 2020.
module outerPart() {
//We start by adding solid objects to make the overall shape.
//Larger upper cylindrical section that goes into base.
//25mm (12.5mm radius) to fit existing lamp base.
translate([0, 0, 0])
cylinder(h = 10, r1 = 12.5,r2 = 12.5);
//Smaller cylindrical section that goes into lower base area.
translate([0, 0, -10])
cylinder(h = 8, r1 = 10.5,r2 = 10.5);
//Slight taper section between two cylindrical sections.
//(Mainly for support during printing.)
translate([0, 0, -2])
cylinder(h = 2, r1 = 10.5,r2 = 12.5);
// Squashed sphere to create rounded rim.
translate([0, 0, 12])
scale([1, 1, 0.33])
sphere(r=15);
}
module innerPart() {
//Now we're removing bits from the solid object.
//18.5mm (9.25mm radius) hole through middle for test tube.
translate([0, 0, -14])
cylinder(h = 50, r1 = 9.25,r2 = 9.25);
//Slight inner recess at top to hide oozed glue.
translate([0, 0, 9])
cylinder(h = 10, r1 = 10.5,r2 = 10.5);
}
difference(){
outerPart();
innerPart();
}
So many innuendos - more than you first realise!
Copying the script in Firefox results in it being pasted all on one line, but Chrome works normally. A workaround for Firefox (other than using Chrome) is to select the script, right click and select "View selection source" and copy the script from the new tab that appears.
Looking at that, my first thought is it would print easier upside-down and not need to worry about the taper at all (though it may help with strength even if it's not required)
lol; you're having too much fun sliding that tube in and out! :-)
I've never heard it be pronounced like that before. According to the developers, it's supposed to be "ess-cad" (the way I've always pronounced it); however, from now on, I'm gonna pronounce it like you did.
If you want, I can add some code to it to make it compatible with the built in customizer, so it uses drop-down menus, etc.
I was able to paste the code into OpenSCAD on Linux and it rendered correctly.
It also generated a valid .STL file that Cura and Slic3r were both happy to import and slice.
I don't have a printer here at the moment to do an actual test print, though, so I can't go that far down this rabbit hole.
Awesome vid yet again you Big Flamboyant Beardy Scott's Queen Mr Clive 👍🏻
Points taken away since they aren't 3d-printed in lurid pink.
The ordering of the diff/union functions/arguments are for two reasons (probably):
a) it's more familiar to programmers to use the function call syntax like that, so historical baggage
b) For complicated reasons it's easier to parse. To create a parse tree of "normal" ordering, you have to maintain the argument, the operation, and the final argument. With the operation specified first (or last), you can get the arguments evaluated and out of the way first before you apply the operation. For normal computing this means you can unwrap loops and in some situations use more powerful instructions/GPU to do matrix tasks rather than procedural tasks, It has special meaning here since it also since it removes ambiguity from applying operations in different order (just like Reverse Polish notation on a calculator) It's especially helpful when you start nesting operations to not have ambiguity due to ordering. (What is supposed to happen when you union onto a diff of a diff of a union of a ....)
really love it clive! perfect for my er 'morrocan' style lamp shade. really brings it to life!
many thanks.
For the Edison screw? 3d print a screw thread that screws in to the INSIDE of the ES holder.
I bet someone already suggested that though :)