<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>
Raw data
{
"_id": null,
"home_page": "https://github.com/das-dias/layout3mesh",
"name": "layout3mesh",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<3.13",
"maintainer_email": "",
"keywords": "layout,3D-mesh,gds2,oasis",
"author": "dasdias",
"author_email": "das.dias6@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b5/12/156d7267571882ce01285ccceb5c6c47d036f3e5178849705a92af235cb8/layout3mesh-0.1.2.tar.gz",
"platform": null,
"description": "<h1 align=center> layout3mesh </h1>\n\n<div align=justify>\n<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>\n<br/>\n<p>\nThe supported export formats are:\n<ul>\n<li> <a href=\"https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html\"> GLB/glTF2 </a> </li>\n<li> <a href=\"https://en.wikipedia.org/wiki/STL_(file_format)\"> STL </a> </li>\n<li> <a href=\"https://en.wikipedia.org/wiki/PLY_(file_format)\"> PLY </a> </li>\n<li> <a href=\"https://en.wikipedia.org/wiki/Wavefront_.obj_file\"> Wavefront OBJ </a> </li>\n</ul>\n</p>\n</div>\n\n<h2 align=center> Installation </h2>\n\n<h3 align=center> MacOS, Linux, Windows </h3>\n\n```bash\npip install layout3mesh\n```\n\n<h2 align=center> Usage - Command Line Interface </h2>\n\n```bash\nlayout3mesh -i <input_file_path [.gds/.oas]> -o <output_file_path [.glb]> -t <layerstack_file_path [.ymls]>\n```\n\n<h2 align=center> Examples </h2>\n\n<p>\nRunning the example with the mock layerstack file and layout provided in the <a href=\"tests/data/\">examples</a>, by running the following command:\n</p>\n\n```bash\nlayout3mesh -i ./tests/data/crossed_metal.gds -t ./tests/data/mock_layers.ymls -o ./tests/data/crossed_metal.gltf\n```\n\n<p>\ncan generate the following 3D image:\n</p>\n\n<p align=center>\n\n\n<img src=\"tests/data/crossed_metal.gif\" width=70%/>\n\n</p>\n",
"bugtrack_url": null,
"license": "GPLv2",
"summary": "A tool to generate 3D meshes from 2D integrated circuit layouts",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://github.com/das-dias/layout3mesh",
"Repository": "https://github.com/das-dias/layout3mesh"
},
"split_keywords": [
"layout",
"3d-mesh",
"gds2",
"oasis"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ca586ccb3c01a4f052d4136224768d7bd75686c05b5e46ad002a6136bb6a85eb",
"md5": "f5b78ff2f887a64e636ced1790ecedee",
"sha256": "3b88d7e68f21410f49cb12bf1dfa047a6c08f90c8f2740631ccb940af09497a6"
},
"downloads": -1,
"filename": "layout3mesh-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f5b78ff2f887a64e636ced1790ecedee",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<3.13",
"size": 14629,
"upload_time": "2023-08-08T20:55:08",
"upload_time_iso_8601": "2023-08-08T20:55:08.685175Z",
"url": "https://files.pythonhosted.org/packages/ca/58/6ccb3c01a4f052d4136224768d7bd75686c05b5e46ad002a6136bb6a85eb/layout3mesh-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b512156d7267571882ce01285ccceb5c6c47d036f3e5178849705a92af235cb8",
"md5": "b5818c95cc3587750452ac7b5cbd5026",
"sha256": "c7abda72c8f59602460701fc513760d19ca909852acea61639a76062005d564a"
},
"downloads": -1,
"filename": "layout3mesh-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "b5818c95cc3587750452ac7b5cbd5026",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<3.13",
"size": 14042,
"upload_time": "2023-08-08T20:55:10",
"upload_time_iso_8601": "2023-08-08T20:55:10.341267Z",
"url": "https://files.pythonhosted.org/packages/b5/12/156d7267571882ce01285ccceb5c6c47d036f3e5178849705a92af235cb8/layout3mesh-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-08 20:55:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "das-dias",
"github_project": "layout3mesh",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "layout3mesh"
}