Lampshade generator

Pendant shade generator with a collar sized for E27 or E14 sockets (standard threaded ring). Parametric silhouette, twisted lobes and a thin wall intended for translucent filament. Exports an STL that prints without supports.

Environment

Visual simulation. Actual light depends on filament, wall thickness and LED.

Geometry is transferred as STL, without materials. The file stays in this browser for 24 hours.

Prints in the orientation shown: collar on the bed, no supports; in use it hangs inverted. Use a 1.6 mm wall in translucent PLA or PETG to let light through.

Choose a starting point

Describe it in words

Only the text is sent to the AI; the 3D model is generated locally in your browser.

The hole uses the standard threaded-ring size: Ø40 mm for E27, Ø28 mm for E14.

Use LED bulbs only: an incandescent or halogen bulb deforms PLA. If the socket runs warm, print in PETG.

What this tool does

How it works

  1. 01

    Pick the socket

    E27 (the common one), E14 (the small one) or a free measurement. The collar comes out with the exact hole for the threaded ring.

  2. 02

    Shape the silhouette

    Belly, waist and mouth define the form; lobes and twist add the texture. The dice explores random variations.

  3. 03

    Print in translucent

    Natural or translucent PLA/PETG, thin wall, no supports. Screw on the socket ring and hang it.

Frequently asked questions

How does it attach to the socket?

Exactly like a commercial shade, and that compatibility is the whole point. An E27 or E14 lamp holder comes with a threaded ring that unscrews: you pass the body of the holder through the hole in the shade and screw the ring back on, and it clamps against the 3 millimetre collar and holds it firm. No glue, no screws and no extra hardware. That is why the hole comes out at the standard size rather than an invented one: 40 millimetres in diameter for E27 and 28 for E14, which are the real dimensions of each type of threaded ring. The ilove3d lampshade generator additionally clamps the silhouette so it can never be narrower than the hole plus the wall, since otherwise the shade could not be mounted at all. If your holder is an uncommon type, measure the threaded ring before printing rather than assuming it is E27, which is the most frequent mistake here.

Won't the bulb's heat melt it?

With an LED bulb there is no risk: a 6 to 10 watt LED barely warms up, and PLA, which begins softening near 60 degrees Celsius, never approaches that threshold. What must not go in under any circumstances are incandescent and halogen bulbs: they concentrate real heat, comfortably exceed the softening temperature, and can deform the shade within minutes, quite apart from the obvious hazard. It is important enough that the ilove3d lampshade generator says so in the interface itself. If your holder feels hot to the touch after a while, or if the bulb will be on for many hours at a stretch, print in PETG, which tolerates roughly twenty degrees more than PLA. It applies to the surroundings too: a shade enclosed in a cabinet with no ventilation builds up more heat than one hanging in open air with the same bulb.

Which filament gives the best light?

Natural PLA or PETG, without pigment, or a coloured translucent. With a wall of 1.2 to 1.6 millimetres the light passes through the material and the layer lines dissolve into a continuous gradient instead of reading as stripes. Opaque and heavily pigmented filaments are no use here: they turn the shade into a dark silhouette and waste all the work in the geometry. And there is one effect that only appears with translucent material: the twisted lobes cast bands of light and shadow across the wall and ceiling, and they shift as you move around the room. That is the detail that makes a printed shade look designed rather than printed, and it is the main reason to choose the filament carefully. It is worth buying a small sample before a full roll: translucency varies considerably between brands even when the colour carries the same name.

Does it need supports to print?

No, and that follows from how the geometry is generated. The shade prints with the collar on the bed and the mouth facing up, and the silhouette grows continuously from there, so every layer rests on the one below with no overhangs. The one case that can cause trouble is exaggerating the belly: if the profile opens too quickly, the angle from vertical passes 45 degrees, and that is where most printers start needing help. The preview in the ilove3d lampshade generator shows the silhouette live as you move the controls, so the problem is visible before you export anything. The fix is lowering the belly or raising its position, and that brings it back into printable range. And if you want a more pronounced belly anyway, raising the lobe count helps, because it spreads the angle across more surface area.

Can I make one for an LED strip or ceiling mount?

Yes. Choose the Other option and enter whichever hole diameter you need, between 20 and 80 millimetres, or simply a small one if all you want is a cable pass-through. The flat 3 millimetre collar the tool generates gives plenty of surface for gluing the shade to a ceiling fixture or screwing it on, depending on how your fitting is built. It is a less obvious use than the classic lamp holder but a fairly common one: LED strips and ceiling plates are usually left exposed, and a printed shade solves that cheaply. If you are using an LED strip, bear in mind the light comes out distributed rather than from a point, so the gradient on the wall will be softer than the preview with a point source suggests. If you plan to screw it on, print with extra perimeters around the collar so the screw has material to bite into rather than thin wall.

What size works best?

For a bedside lamp, between 100 and 130 millimetres tall works well and stays in proportion. For hanging over a dining table, between 150 and 220 millimetres with a generous belly, because at that distance a small shade simply gets lost visually. The real limit is your printer build volume, and it is worth measuring before deciding. Something that surprises people: even large shades print in a few hours, because they are all thin wall with no infill, so the time scales far less than the size suggests. The ilove3d lampshade generator shows the dimensions in millimetres beside the preview so you can check them against your bed without exporting anything first. Measure the distance from the holder down to the table as well: a long shade over a low lamp leaves the bulb visible from underneath.

Is the lit preview faithful to reality?

It simulates the basic physics of the situation: the shade glows with a gradient computed from the real distance of each point to the bulb, and the halo on the wall comes from an actual point light rather than an effect painted on top. The scene works in metres so that light falloff follows the inverse square law. That said, the printed result depends on the filament, and that is where the margin lies: natural or translucent PLA comes fairly close to what you see, while opaque filaments pass considerably less light than the preview shows. That is why the ilove3d lampshade generator includes swatches of typical filament colours, to narrow that difference before you spend several hours printing. It pays to look at it alternating light off and light on: judge the form unlit and the light effect lit, since they mislead each other.

How does 'describe it in words' work?

You write what you want in plain language — a wide bell for the dining room, for instance — and a language model translates that sentence into the actual parameters: height, diameters, lobe count and twist. You write what you want in plain language and a language model translates that sentence into the actual parameters, which you can then keep adjusting by hand, because the suggestion fills the controls rather than replacing them. What matters is what travels and what does not: only your text and the current configuration are sent to the AI, the latter so that asking make it taller works, and never a file. The 3D model is generated entirely in your browser, as everything else on ilove3d is. The values it returns are clamped on the client side, because a model can propose numbers outside the valid range. And when it misses, it still serves as a starting point.