Metadata-Version: 2.1
Name: layout3mesh
Version: 0.1.2
Summary: A tool to generate 3D meshes from 2D integrated circuit layouts
Home-page: https://github.com/das-dias/layout3mesh
License: GPLv2
Keywords: layout,3D-mesh,gds2,oasis
Author: dasdias
Author-email: das.dias6@gmail.com
Requires-Python: >=3.9,<3.13
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: PyYAML (>=6.0.1,<7.0.0)
Requires-Dist: docopt (>=0.6.2,<0.7.0)
Requires-Dist: gdstk (>=0.9.42,<0.10.0)
Requires-Dist: loguru (>=0.7.0,<0.8.0)
Requires-Dist: mapbox-earcut (>=1.0.1,<2.0.0)
Requires-Dist: scipy (>=1.11.1,<2.0.0)
Requires-Dist: shapely (>=2.0.1,<3.0.0)
Requires-Dist: trimesh (>=3.23.1,<4.0.0)
Project-URL: Repository, https://github.com/das-dias/layout3mesh
Description-Content-Type: text/markdown

<h1 align=center> layout3mesh </h1>

<div align=justify>
<p> This is a simple tool to convert an integrated circuit layout saved in OASIS / GDSII file format to a mesh 3D image file. The tool doesn't support direct export of the 3D mesh file into the Blender desktop app just yet - but I am working on a solution. This tool was written with the goal of rendering any layout in 3D inside a desktop or web application using WebGL. </p>
<br/>
<p>
The supported export formats are:
<ul>
<li> <a href="https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html"> GLB/glTF2 </a> </li>
<li> <a href="https://en.wikipedia.org/wiki/STL_(file_format)"> STL </a> </li>
<li> <a href="https://en.wikipedia.org/wiki/PLY_(file_format)"> PLY </a> </li>
<li> <a href="https://en.wikipedia.org/wiki/Wavefront_.obj_file"> Wavefront OBJ </a> </li>
</ul>
</p>
</div>

<h2 align=center> Installation </h2>

<h3 align=center> MacOS, Linux, Windows </h3>

```bash
pip install layout3mesh
```

<h2 align=center> Usage - Command Line Interface </h2>

```bash
layout3mesh -i <input_file_path [.gds/.oas]> -o <output_file_path [.glb]> -t <layerstack_file_path [.ymls]>
```

<h2 align=center> Examples </h2>

<p>
Running the example with the mock layerstack file and layout provided in the <a href="tests/data/">examples</a>, by running the following command:
</p>

```bash
layout3mesh -i ./tests/data/crossed_metal.gds -t ./tests/data/mock_layers.ymls -o ./tests/data/crossed_metal.gltf
```

<p>
can generate the following 3D image:
</p>

<p align=center>


<img src="tests/data/crossed_metal.gif" width=70%/>

</p>

