Skip to main content

A simple Python package for creating or reading GDSII layout files.

Project description

gdsCAD is a simple, but powerful, Python package for creating, reading, and manipulating GDSII layout files. It’s suitable for scripting and interactive use. It excels particularly in generating designs with multiple incrementally adjusted objects. gdsCAD uses matplotlib to visualize everything from individual geometry primitives to the entire layout.

Documentation

Complete documentation can be found at:

http://pythonhosted.org/gdsCAD/#

Download

The package can be downloaded for installation via easy_install at

https://pypi.python.org/pypi/gdsCAD

A Simple Example

Here is a simple example that shows the creation of some text with alignment features. It involves the creation of drawing geometry, Cell and a Layout . The result is saved as a GDSII file, and also displayed to the screen:

import os.path
from gdsCAD import *

# Create some things to draw:
amarks = templates.AlignmentMarks(('A', 'C'), (1,2))
text = shapes.Label('Hello\nworld!', 200, (0, 0))
box = shapes.Box((-500, -400), (1500, 400), 10, layer=2)

# Create a Cell to hold the objects
cell = core.Cell('EXAMPLE')
cell.add([text, box])
cell.add(amarks, origin=(-200, 0))
cell.add(amarks, origin=(1200, 0))

# Create two copies of the Cell
top = core.Cell('TOP')
cell_array = core.CellArray(cell, 1, 2, (0, 850))
top.add(cell_array)

# Add the copied cell to a Layout and save
layout = core.Layout('LIBRARY')
layout.add(top)
layout.save('output.gds')

layout.show()

Recent Changes

  • v0.4.1 (05.06.14)
    • Allow Boundaries with unlimited number of points via multiple XY entries

  • v0.4.0 (07.05.14)
    • Several performance improvements: Layout saving, reference selection, and bounding boxes should all be faster

    • Layout save now only uniquifies cell names that are not already unique

  • v0.3.7 (14.02.14)
    • More colors for layer numbers greater than six (Matthias Blaicher)

  • v0.3.6 (12.12.13) bugfix
    • Fixed installation to include missing resource files

  • v0.3.5 (11.12.13 PM) bugfix
    • Introduced automatic version numbering

    • git_version module is now included in distribution (Thanks Matthias)

  • v0.3.2 (11.12.13)
    • CellArray spacing can now be non-orthogonal

    • Block will now take cell spacing information from the attribute cell.spacing

  • v0.3.1 (06.12.13)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gdsCAD-0.4.1.tar.gz (448.2 kB view details)

Uploaded Source

File details

Details for the file gdsCAD-0.4.1.tar.gz.

File metadata

  • Download URL: gdsCAD-0.4.1.tar.gz
  • Upload date:
  • Size: 448.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for gdsCAD-0.4.1.tar.gz
Algorithm Hash digest
SHA256 f69e945c0360537a801f137e3d4238d19cced64a68715aaffe307019cbf40f2d
MD5 4ccc6d143f0f89f2ac23e0ff0372ada4
BLAKE2b-256 6c62eb20cebd4a838778184d46d422a692d07f4354cebb8154aab24b29038b49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page