Fork of python-gdsii
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jan Petykiewicz 5a4c7db6b4 import 0.2.1 8 months ago
doc import 0.2.1 8 months ago
gdsii import 0.2.1 8 months ago
scripts import 0.2.1 8 months ago
test import 0.2.1 8 months ago
GPL-3 import 0.2.1 8 months ago
LGPL-3 import 0.2.1 8 months ago
Makefile import 0.2.1 8 months ago
PKG-INFO import 0.2.1 8 months ago
README import 0.2.1 8 months ago
setup.py import 0.2.1 8 months ago

README

python-gdsii --- a GDSII manipulation libaray
=============================================

python-gdsii is a library that can be used to read, create, modify and save
GDSII files. It supports both low-level record I/O and high level interface to
GDSII libraries (databases), structures, and elements.

This package also includes scripts that can be used to convert binary GDS file
to a simple text format (gds2txt), YAML (gds2yaml), and from text fromat
back to GDSII (txt2gds).

Usage
-----

For most cases interface provided by Library class from gdsii.library should be
enough. Here is a small example::

from gdsii.library import Library
from gdsii.elements import *

# read a library from a file
with open('file.gds', 'rb') as stream:
lib = Library.load(stream)

# let's move the first structure to a new library
new_lib = Library(5, b'NEWLIB.DB', 1e-9, 0.001)
struc = lib.pop(0) # libraries and structures are derived from list class
new_lib.append(struc)

# let's also add some elements...
# Note: first and last points in the boundary should be the same
# this is required by GDSII spec.
struc.append(Boundary(45, 0, [(-100000, -100000), (-100000, 0), (0,0), (0, -100000), (-100000, -100000)]))

# Save both files with different names...
with open('newfile1.gds', 'wb') as stream:
lib.save(stream)

with open('newfile2.gds', 'wb') as stream:
new_lib.save(stream)