A Blender add-on for importing GDSII layout files with full 3D layer stack visualization and PDK support.
BlenderGDS enables semiconductor layout visualization by importing GDSII files into Blender with accurate 3D representation of the layer stack. The add-on supports multiple Process Design Kits (PDKs) and provides comprehensive control over the import process, making it ideal for chip design visualization, documentation, and presentations.
- Layer Stack Visualization: Accurate 3D extrusion of all layers based on PDK specifications
- Selective Import: Crop specific chip regions by defining X, Y, width, and height coordinates
- Automatic Scene Setup: Optional initialization of camera, lighting, and chip base plane
- Material System: Realistic materials with proper colors and metallic properties for each layer type
- Collection Organization: Automatic grouping of imported layers into named collections
- Custom Configurations: Support for custom YAML layer stack configurations
- Flexible Scaling: Adjustable unit and Z-axis scaling for different visualization needs
- Merge Layers: Union overlapping shapes on each layer before building the mesh (enabled by default, eliminates black rendering artifacts in Cycles)
- IHP Open PDK (SG13G2 & CMOS5L)
- SkyWater SKY130 PDK
- GlobalFoundries GF180MCU PDK
BlenderGDS requires Blender 4.2 or later. All Python dependencies (gdstk, klayout, numpy, PyYAML) are bundled inside the extension and installed automatically — no pip or terminal required.
- In Blender, open Edit → Preferences → Get Extensions
- Search for GDSII Importer
- Click Install
The extension is now active. No restart needed.
- Download the latest
import_gdsii-*.zipfrom the GitHub releases page - In Blender, open Edit → Preferences → Get Extensions
- Click the dropdown in the top-right corner and choose Install from Disk...
- Select the downloaded
.zipfile
The extension is now active. No restart needed.
-
Clone the repository and build the extension zip:
git clone https://github.com/aesc-silicon/BlenderGDS cd BlenderGDS python scripts/build_extension.pyThis downloads wheels for all supported platforms (Linux, Windows, macOS) and produces
import_gdsii-*.zipin the repo root.If
blenderis not on yourPATH, pass it explicitly:python scripts/build_extension.py --blender /path/to/blender
-
Install the resulting
.zipas described above.
To update to a newer version, install the new .zip via Get Extensions → Install from Disk... — Blender will replace the existing installation automatically.
- Go to File → Import → GDSII (.gds)
- Select your desired PDK (currently IHP Open PDK SG13G2)
- Browse and select your GDSII file
- Configure import options in the sidebar
- Click Import GDSII
Import Settings
- Unit Scale: GDS database unit scale (default: 1e-6 for micrometers)
- Z Scale: Vertical scaling factor for layer heights
- Create Collection: Group imported layers in a named collection
Scene Setup
- Setup Scene: Automatically create camera, lighting, and chip base plane
- Adds Sun light with soft shadows
- Positions camera above the chip center
- Creates a chip base plane with dark material
- Configures world background
Crop Region
- Crop to Region: Import only a specific area of the chip
- X, Y: Lower-left corner coordinates in chip units
- Width, Height: Dimensions of the region to import
Layer stacks are defined in YAML format:
Metal1:
index: 8
type: 0
z: 0.350
height: 0.300
color: [0.45, 0.45, 0.50, 1.0]
Via1:
index: 19
type: 0
z: 0.650
height: 0.350
color: [0.90, 0.70, 0.20, 1.0]Each layer requires:
index: GDS layer numbertype: GDS datatypez: Z-position in micrometersheight: Layer thickness in micrometerscolor: Layer RGBA values
pdk- Process Design Kit specification (e.g.,ihp-sg13g2)output_file- Path for the merged output GDS fileinput.gds- Input GDS file to process
Contributions are welcome! Please feel free to submit pull requests or open issues on the GitHub repository.
This project is licensed under the GNU General Public License v3.0 only. See the LICENSE file for details.
For issues, questions, or suggestions, please open an issue on the GitHub repository.