first models
This commit is contained in:
commit
bdbf85c9bb
|
@ -0,0 +1,13 @@
|
|||
# lampshades models
|
||||
|
||||
My lampshade on the Ikea lamp is similar to [HEKTOGRAM](https://www.ikea.com/cz/cs/p/hektogram-stojaci-cteci-lampa-stribrna-bila-80477710/) was broken. I thought about buying a new light, but I wouldn't say I like the latest version of the lamp, and I'm a happy owner of a 3D printer.
|
||||
|
||||
I have two versions of lampshades; both are made in amazing [OpenSCAD](https://openscad.org) and are fully customizable.
|
||||
|
||||
The first model which I made is `lampshade_conical.scad`. That was the easier one. But I wanted to have the lampshade more curved, so I did the second model, `lampshade_curved.scad`.
|
||||
|
||||
Configuration of the `lampshade_conical` is pretty simple, and the second is more complex - you need to play with `curved_factor` to find a proper design and height.
|
||||
|
||||
And btw. I lost the nut for the lampshade. That is the reason why my models contain nuts. If you don't want nut—comment `nut` line.
|
||||
|
||||
I wish you a lot of fun with modeling (and printing).
|
|
@ -0,0 +1,18 @@
|
|||
use <threadlib/threadlib.scad>
|
||||
|
||||
height = 110;
|
||||
bottom_d = 70;
|
||||
top_d = 170;
|
||||
facets = 40;
|
||||
|
||||
bottom_r=bottom_d/2;
|
||||
top_r=top_d/2;
|
||||
thickness=2;
|
||||
|
||||
difference() {
|
||||
cylinder(height, bottom_r, top_r, $fn=facets);
|
||||
translate([0,0,-0.01])
|
||||
cylinder(height+0.02, bottom_r-thickness, top_r-thickness, $fn=facets);
|
||||
}
|
||||
|
||||
nut("M42x3", turns=2, Douter=bottom_d);
|
|
@ -0,0 +1,30 @@
|
|||
use <threadlib/threadlib.scad>
|
||||
|
||||
x = 250;
|
||||
thickness = 2;
|
||||
top_d = 170;
|
||||
bottom_d = 70;
|
||||
|
||||
|
||||
difference() {
|
||||
rotate_extrude($fn=100)
|
||||
difference() {
|
||||
polygon(bowl(top_d,x));
|
||||
offset(-thickness) polygon(bowl(top_d+thickness,x));
|
||||
};
|
||||
cylinder(top_d, bottom_d/2, bottom_d/2);
|
||||
}
|
||||
|
||||
nut("M42x3", turns=2, Douter=bottom_d);
|
||||
|
||||
function point(i, R) = [
|
||||
i,
|
||||
i*i/R
|
||||
];
|
||||
|
||||
function bowl(height, x_factor) = (
|
||||
concat(
|
||||
[ for (i = [0:1:height]) point(i, x) ],
|
||||
[[0,height*height/x]]
|
||||
)
|
||||
);
|
Loading…
Reference in New Issue