Using NiemanSculpt



NiemanSculpt takes 3D models and automatically turns them into LEGO® models. To get started, you’ll need a 3D model in the .obj or .stl format. These files describe the physical shape of objects in 3D space; the .obj format can also include information on colors and images used on the surface of your model, which NiemanSculpt can apply to generation.

You can customize the kinds of pieces and techniques NiemanSculpt uses to create a LEGO model, as well as the colors it employs.

With NiemanSculpt Pro you can generate sculptures that can easily be built in real life by restricting parts used to those available on Bricklink and by harnessing connectivity improvements and other advanced features. 

NiemanSculpt also comes with a mosaic generator that will create wall-style mosaics from images, and a find-and-replace tool for one-to-one substitution of parts in LDraw models.

You can view the models that NiemanSculpt produces with a LEGO CAD program like Bricklink Studio (desktop) or Mecabricks (online).


Sculpture generation overview

3D model file types

NiemanSculpt can currently read .obj (Wavefront) and .stl (stereolithography) 3D model files. Meshes do not need to be triangulated, but each face must be convex.

Using colors and image textures

Of the file formats readable by NiemanSculpt, only .obj files are capable of storing color and image texture information; a single .obj file can also describe multiple objects. The .stl format can only describe a single object and does not support colors or image textures.

Image texture

If your .obj file contains UV mapping data (which indicates which parts of the image texture correspond to which parts of your model), you can manually select any single image to use as texture. However, unless the UV mapping data was specifically tailored to the image you are using, the results may look strange.

Automatic coloration from .mtl files

When most 3D modeling programs export an .obj file, they also export an .mtl file that contains information on the colors and images used to texture different parts of the model. If the .mtl file and any image textures it specifies are in the same folder as your .obj file, NiemanSculpt will automatically apply this information. NiemanSculpt fully supports the use of multiple material colors and image textures within a single .obj file. If no image mapping is specified for a particular material in the .mtl file, NiemanSculpt uses the diffuse color for that material.

A note on SNOT generation

Most 3D models have watertight (manifold) geometry, meaning that there is a definite ‘inside’ and ‘outside’ of the object that can be determined objectively with mathematical algorithms. NiemanSculpt uses this property to orient studs so that they are facing outward when generating in SNOT mode. However, some models do not have an inside and outside; while NiemanSculpt can still generate sculptures from these 3D files, the resulting LEGO models will be hollow and the studs may not be oriented optimally in SNOT mode.


Sculpture Generation Options

Studs-up vs. SNOT

NiemanSculpt offers studs-up or SNOT (studs not on top) generation modes. SNOT mode will automatically orient parts in six directions (five if upside-down generation is disabled) so that studs face outwards. SNOT mode automatically places SNOT bricks inside the model to connect as many parts as possible and places tiles appropriately to ensure no elements collide.

Target dimension

The maximum dimension you input will dictate the scale of the model to be generated; the units are studs. For example, specifying a maximum dimension of 30 will result in a model no longer or wider than 30 studs. Please note that due to rounding, the maximum dimension of your final model may be one stud off from the specified value.

There is no limit to the size of sculptures you can create with NiemanSculpt.

In NiemanSculpt Pro, you can choose to instead set a limiting height for your model.

Generation styles

NiemanSculpt offers several default generation settings that allow specific shapes of parts to be used in generation. These include:

    • 1 x 1 plates only
    • Plates only
    • Bricks and plates only
    • Standard slopes
    • All slopes
    • Wedge plates

You can also choose to enable all elements or a custom selection. The 1 x 1 plate cannot be disabled in any setting, and in SNOT mode, the 1 x 1 tile cannot be disabled. All of the above options enable all SNOT elements and tiles by default in SNOT mode.

Hollow interior

Hollow generation is only available in the studs-up mode. You can specify the wall thickness (in studs) and floor/ceiling thickness (in plate heights). This feature will only work for watertight (manifold) 3D models. See the above note on SNOT generation for more.

Support grid

The support grid is only available in studs-up mode when the hollow interior option is selected. This function will create a horizontal grid of two-stud-thick supports inside the model. The ‘Grid interval’ parameter specifies the center-to-center spacing of the grid lines, in studs. Thus, a grid interval of two studs or less will result in a completely solid interior.

Advanced settings

You can enable and disable individual parts in generation by clicking the Custom button from the SNOT or studs-up generation page. You can also click the Colors button to enable and disable specific colors when using image textures or .mtl file information for .obj files.

Many additional advanced settings are available with NiemanSculpt Pro and are noted below.

parts availability

With NiemanSculpt Pro, you can choose to use only part-color combinations that have been produced by LEGO® when generating sculptures. You can also customize the maximum price and set price-per-volume limits for parts. NiemanSculpt Pro also offers the option to specify a color to use in internal structure or to use the cheapest colors possible for parts used internally.


NiemanSculpt Pro offers connectivity analysis and will tweak your model automatically to improve connectivity. NiemanSculpt Pro typically achieves 99.5% to 100% connectivity on studs-up models and 98.5% to 99.7% connectivity in SNOT mode. Because NiemanSculpt preserves original colors while improving connectivity, there are some situations in which it cannot find a solution; in most cases, this means that a human would not be able to find a solution without changing colors, either.

Generation Time

NiemanSculpt is highly optimized and can generate most small-to-mid-sized sculptures in seconds. To help plan for generation of larger models, NiemanSculpt will provide a rough estimate of the time it will take to generate your sculpture and give you the option to either proceed or change generation settings. Please note that this estimate is based on a typical modern computer and is best interpreted as a ballpark figure.

Each of the following factors will substantially increase generation time:

    • A larger sculpture size
    • SNOT generation mode
    • Enabling more shapes of parts for generation
    • A 3D model with a large number of vertices/faces
    • A 3D model that describes many objects
    • The use of image textures, many images, or high-resolution images
    • Generating a large sculpture from a low-polygon 3D model

Shortly after you begin generation, NiemanSculpt will print a rough estimate of anticipated RAM (random access memory) usage to the progress window. The true RAM usage may be significantly higher than the estimate when using a low-polygon 3D model to create a very large LEGO sculpture. 

Saving and viewing your model

Once NiemanSculpt has generated your LEGO sculpture, you can save the model as an .ldr (LDraw) file. To view your model, simply import this .ldr file into your LEGO CAD program of choice— Bricklink Studio, LEGO Digital Designer, Mecabricks, and all LDraw applications support .ldr files.

HELP: Studio is stuck importing my .ldr file

It may appear that Studio is stuck or frozen when importing an .ldr file generated by NiemanSculpt. If this happens, just be patient. It will take Studio a minute or so to load in models with a few thousand pieces, and very large (>50,000-piece) models can take twenty minutes or longer to load on a typical computer.

A note on color selection

NiemanSculpt uses a fairly literal interpretation of the colors specified in any image textures or object materials when selecting LEGO colors for your model. As a result, leaving all or many colors enabled may not produce the nicest-looking result. Instead, it is recommended that you manually enable only 10-20 colors for generation—this will improve the likelihood that the model turns out how you imagined it would.


Mosaic Generation

NiemanSculpt offers the ability to create vertical (wall-style) mosaics out of bricks and plates. If you’re looking for flat-plate mosaics, a number of other programs and websites offer this capability.

To use NiemanSculpt’s mosaic generator, simply select an image file and specify how many studs wide you’d like the mosaic to be. You can also turn on and off specific LEGO colors or parts before generation. The resulting model will be saved automatically as an .ldr file with the same name as your image in the folder where that image is located.

With NiemanSculpt Pro, you can choose to only use parts that are readily available on Bricklink when generating mosaics.


Find and Replace

Note: As of March 24, 2022, Bricklink Studio offers an internal find and replace feature.

The Find and Replace function is not directly related to sculpture generation or mosaic generation, but is potentially useful to anyone making models in an LDraw editor. If you find that, for example, you’ve been placing 1 x 2 bricks with no pin when you meant to be using the variant with a pin, you can use NiemanSculpt’s Find and Replace feature to rectify the issue. The program does not modify your original LDraw file, but instead creates a new .ldr (LDraw) file that you can then import into your program of choice.

Though it is possible to replace any part with any other part, it’s recommended that you only substitute parts with identical dimensions and points of connection.

The Find and Replace feature accepts standard LDraw part numbers, which are almost always the same as Bricklink/LEGO part numbers.

Find and Replace with Colors

By default, NiemanSculpt will perform the replacement for all colors in the model. If you want to replace only a specific part-color combination, you can do so by entering the LDraw color ID of the color to select.

If you want to change the color of many shapes of parts at once without changing the part shapes themselves, there’s no need to use NiemanSculpt—all modern LEGO CAD programs have select-by-color and select-by-shape features.