Introduction: High Detailed Moon Lamp

Subsequent to my previous instructables, Print Your Own Moon, this instructables show how to model a Moon lamp with finer details.


This is the 2nd generation of Moon Lamp, please also find next generation here:

3rd generation:

Step 1: What Is the Different?

As you may know there are already many Moon models on the web, lets use the above picture illustrate why make a new one.

Start from the left, the first one is model from Moon bump map, the original Moon shape. It is perfect on the shape, but if you light it inside, it only a light ball not look like a Moon.

The second one is my previous instructables Moon model, it looks like a Moon when the light on and off.

The third one is the Moon model in this instructables, it added more details from the former.

Forth one is a commercial Moon Lamp you can buy all over the web, it looks like a Moon when the light on but not like a Moon when the light off.

Lets continue how to add details from second one to become a High Detailed Moon Lamp.

Step 2: Improvement Area

My previous instructables show how to create a 3D Moon Lamp model.

From time to time, I found it still have many improvement area:

  • Better image source
  • Clear lithophane details
  • Better 3D modeling method
  • Material light transmittance and color variant
  • Overhang Support
  • Light source

Step 3: Recap 3D Modeling Design

Recap from my previous instuctables, the Moon surface modeling base on Moon bump map, the shell thickness base on Moon color map and then bump map subtract color map is the interior shape.

This modeling method can produce very good surface details (bump map) when the lamp turned off and project a good enough visual details (color map) when the lamp turned on.

This time, I will use better image sources and also combine both bump map and color map images on surface modeling for a finer visual details.

Step 4: Improvement 1: Better Image Source

Previously I am using 2048 x 1024 resolution images for 3D modeling, this time I will try to find higher resolution image.

Moon Bump Map

High resolution Moon bump map, sometimes call height map, is relatively easy to find on the web, e.g.:

Moon Color Map

There are various Moon color map on the web, but most of them have some sort of shadow and reflection in it.

Tuomas Kankola have spent substantial effort to "manually cleaned up a reflectance map of the entire Moon", so I decide paid for his effort instead of do it myself.


Note 1: since the Moon color map is not free, I do not upload the original file to Github, the version at Github is only a lower resolution version that you can find on the web.

Note 2: the final output STL posted to Thingiverse is generated from a higher resolution images (5760 x 2880).

Step 5: Improvement 2: Clear Lithophane Details

The projected color map details in my previous Moon lamp model is a little bit too blurry, the color map have many meteor crater and river details but all are blurred.

The blurry should be caused by hiding all color map details in model inside.

The above 2 pictures, first one is a Moon lithophane with detail side facing up, second one is the same lithophane facing down. The second picture is much blurry, this example can demonstrate lithophane details should not all hided inside.


Step 6: Improvement 2: Clear Lithophane Details (Continue)

As mentioned before, the surface is modeling from Moon bump map. Now we also want part of color map details on the surface, how can we do that?

I have tried many methods to make it, Some are very complicated.

Finally I found the best one, it also a simple one. It simply just add two image value together, here are the processing steps in GIMP:

  1. Desaturate the color map
  2. Invert the color map
  3. Shift the color map color levels to lower half (from 0-255 to 0-127)
  4. Insert a bump map layer
  5. Also shift the bump map color level to lower half
  6. Set the bump map layer mode to "Addition"
  7. Export the result image in PNG format

After combine the 2 maps you can clearly see the meteor crater and river details. But the side effect is when you turn off the light you can see some distraction details on the Moon surface.

Note: I also tried "Multiply" 2 map layers, the color map details are little bit better than "Addition" but much distracting the Moon surface details.

Step 7: Improvement 3: Better 3D Modeling Method

In my previous model, I am using the BanateCAD original BiParametric modeling method. It divide the sphere with the latitude and longitude and then divide each grid cell into 2 triangle faces. This method is simple and straight forward but the problem is the face density near 2 poles is much more than the place around the equator. It will introduce 2 problems:

  • inefficient of modeling (the pole area no need that much faces but eating most of your computer resources)
  • unbalance details when you need rotate and planar cut the sphere

So I have written a new modeling method in BanateCAD using refined Icosahedron.

As you can see at the above 2 pictures icosahedron model is more efficient for spherical modeling.


Step 8: Improvement 4: Material Light Transmittance & Color Variance

For 3D print a Moon Lamp, I can say print it with white material.

However, not all white 3D printing materials are the same, especially on light transmittance and also some sort of color variance. The above picture show 1 plain PLA and 5 white PLA from different vendors. Which one is the best is very subjective, but lesser color variance should be better. Higher light transmittance require thicker shell but have better grayscale level; Lower light transmittance require thinner shell and can save some printing material.

The Moon lamp printed in this instructables is using the bottom right one, no notable color variance and lowest light transmittance.

Note: if you have more than 1 type of material, you can make a similar test with the attached STL

Step 9: Improvement 5: Overhang Support

Usually I am not generate support while 3D printing, the print result as you can see on the above first picture. The upper part cannot print all the shadow details without generate support. It is because part of the upper part shadow details is overhang, 3D printer cannot print something in the air so simply skipped those details.

In order to print a better shadow details at the upper part, the Moon model should planar cut a part at the bottom and then use that hole area generate support for the upper part.

Step 10: Improvement 6: Light Source

If your printing material have some color variance (in most case yellow), it is better select warm white LED light. Otherwise, select normal white LED.

This time I have tried 2 portable light source and 1 USB light source.

First one is a cup bottom decoration light, usually it use at night club or bar. The PCB is only 28 mm in diameter and powered by a tiny CR1620 battery. Limited from the battery power, the LED light is not so bright but it should be good enough for a 2-3 inches Moon model.

Second one is a 120 mm ball light, I disassembled the ball cover and will replace it with a 5 inches Moon model. It use rechargeable battery, much brighter LED light and can remote control the light color and brightness.

Third one is a USB powered desktop wood lamp base, it can mount a 150 mm ball shape lampshade on it.


Step 11: Process 1: Get the BanateCAD

I will use a modified version of BanateCAD for 3D modeling.

Get the source from GitHub:

If you are not familiar with GibHub, simply select the green button at the right middle and then press Download ZIP.

Note: Banate CAD is written in Lua, you also require Lua for Windows to run Lua scripts in Windows.

Step 12: Process 2: Generate STL

  1. Unzip the source
  2. browse to BanateCAD\Examples
  3. Run cmdLineBatchJob.bat

You can find my generated STL at Thingiverse:

Note 1: As same as previous instructables, there are few parameters in cmdLineBatchJob.lua you can change for your own need:

local extrudeSize = 0.4 -- size of your 3D printer extruder
-- local heightFactor = 0.3 -- bump map height factor
local heightFactor = 0.6 -- double value for moonBumpAddInvertedColorMap
local shadowFactor = 4 -- larger is darker
local refinementLevel = 144 -- output resolution

Note 2: The shadowFactor is the most arbitrary parameters, it depends on the light transmittance of your material and the brightness of your light source. Normally it can be 4 - 8, if you print with plain PLA (not white color), it can be 10 or more.

Note 3: the final output STL posted to Thingiverse is generated by parameters refinementLevel=288

Step 13: Process 3: Rotate & Planar Cut

Open the generated STL with 3D model editing program, e.g. 3D Builder.

In most case, there are a place to install the light source, so you usually require a planar cut at the bottom. In order to view the entire familiar Moon face, it is better to rotate Z-axis 30-45 degree before the planar cut.

Here are 3 set of parameters for my 3 different light sources:

Cup bottom decoration light:

2 inches model rotate Z-axis 30 degree, planar cut 20.1 mm (moonLamp2inchesWith28mmPCB.stl)

3 inches model rotate Z-axis 30 degree, planar cut 34.2 mm (moonLamp3inchesWith28mmPCB.stl)

Rechargeable ball lamp:

5 inches model rotate Z-axis 45 degree, planar cut 45 mm and then add 6 screw holes for assembly (moonLamp5inchesWith65mmLampBase.stl)

Wood lamp base:

5 inches model rotate Z-axis 30 degree, planar cut 50 mm

Step 14: Process 4: Slicer

    I am using Cura 3.3.1, here is my printing parameters:

    • Layer Height: 0.1 mm
    • Top/Bottom Pattern: Concentric
    • Bottom Pattern Initial Layer: Lines
    • Infill Density: 100%
    • Generate Support: Yes
    • Support Placement: Touching Buildplate
    • Support Overhang Angle: 80
    • Support Pattern: Triangles
    • Support Z Distnace: 0.3 mm
    • Support X/Y Distance: 1 mm
    • Enable Support Interface: Yes
    • Build Plate Adhesion Type: Raft
    • Raft Air Gap: 0.3 mm
    • Initial Layer Z Overlap: 0.1 mm
    • Raft Top Layers: 3

    Step 15: Process 5: 3D Print

    It require around half a day to print a 2 inches model, and around 4 days to print a 5 inches model.

    Step 16: Process 6: Matte Surface Finishing

    Most PLA printout have some sort of reflection, it is easy to reduce the reflection by a matte spray paint.

    Step 17: Process 6: Install Light Source

    Follow the above pictures for the installation.

    Step 18: Happy Lighting!

    It's the time dim the room light and enjoy the mood with your high detailed Moon lamp.


    This is the 2nd generation of Moon Lamp, please also find next generation here:

    3rd generation: