Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/quentinwach/ic3d
.gds to .gltf file conversion and workflow to create photo-real animations of your photonic/electronic integrated circuits.
https://github.com/quentinwach/ic3d
3d 3d-graphics 3d-models blender gds gltf integrated-circuits integrated-photonics photonic-circuit photonics
Last synced: about 1 month ago
JSON representation
.gds to .gltf file conversion and workflow to create photo-real animations of your photonic/electronic integrated circuits.
- Host: GitHub
- URL: https://github.com/quentinwach/ic3d
- Owner: QuentinWach
- License: apache-2.0
- Created: 2024-07-24T04:26:38.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-07-29T14:15:05.000Z (5 months ago)
- Last Synced: 2024-07-29T18:59:36.231Z (5 months ago)
- Topics: 3d, 3d-graphics, 3d-models, blender, gds, gltf, integrated-circuits, integrated-photonics, photonic-circuit, photonics
- Language: Python
- Homepage:
- Size: 3.83 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IC3D
Convert your .gds to .gltf files to create photo-real animations of your photonic/electronic integrated circuits.
+ ✍🏻 Define your process for each layer easily (i.e. materials, layer heights).
+ 📐 Converts the `.gds` to the common `.gltf` file format for 3D objects including BDSF material based on the defined process.
+ 🎨 Import the `.gltf` file into [Blender](https://www.blender.org/) (or any other 3D software of your choice) to create a 3D render.This code is based on [https://github.com/mbalestrini/GDS2glTF](https://github.com/mbalestrini/GDS2glTF) which in turn is based on [https://github.com/dteal/gdsiistl](https://github.com/dteal/gdsiistl).
The main changes here ensure that complex nested cells, flips, and rotations are done correctly so that complex integrated photonics designs can be rendered in 3D.---
### 🚀 Get Started>[!NOTE]
Feel free to reach out to me on [X (formerly Twitter) @QuentinWach](https://x.com/QuentinWach) if you need help to set this up and get started. I'd love to help and get some feedback. 😃**1. Install**. [Clone the repository](). Then navigate to the directory in your terminal and activate whatever environment you want to use, then:
```
pip install -r requirements.txt
```
This installs all the required libraries. Or it should. When using [Anaconda]() you may encounter the error _"ERROR: Failed building wheel for gdspy"_.
You can resolve this issue by opening the Anaconda shell directly, activating the chosen environment, and running:
```
conda install gdspy
```
The run the requirements install command again just to make sure all the requirements are fulfilled.**2. Create 3D File.** Open `layers.py`. This file defines what each layer represents and what layers you want to export to a 3D file. An example is given which should make it clear how to use it. Once done with that, you can go ahead and test the conversion by running
```
python main.py test.gds
```
which converts the `test.gds` file into a `.gds.gltf` file.
You can then import it into any 3D rendering software or game engine of your choice.**3. Render with Blender.**
[Blender](https://www.blender.org/) is a free and open-source option to create visualizations of the chip's 3D file. Open Blender and import the `.gltf` file directly which will display it with the proper materials and geometry as defined by your layer/process file.I recommend watching this [Product Design and Rendering Blender Tutorial](https://www.youtube.com/watch?v=up_UGQIDOFg).