Jan Petykiewicz
08cf7ca4b1
avoid calling to_polygons on Polygons (for speed)
4 years ago
Jan Petykiewicz
de4726955b
add load_libraryfile convenience wrapper
4 years ago
Jan Petykiewicz
ce5d386a24
Determine if an existing file is gzipped based on magic bytes, not suffix
4 years ago
Jan Petykiewicz
aa5696d884
Add Library management functionality
4 years ago
Jan Petykiewicz
7cad46fa46
add klamath-based gds read/write
4 years ago
Jan Petykiewicz
c6684936cf
Improve docs, error messages, and type annotations
4 years ago
Jan Petykiewicz
84f811e9d1
move clean_vertices functionality out into a common function
4 years ago
Jan Petykiewicz
0e4b6828df
Disable height warning for DXF
4 years ago
Jan Petykiewicz
5f72fe318f
Loosen requirements from List to Sequence
4 years ago
Jan Petykiewicz
64fbd08cac
don't attempt to set structure properties
4 years ago
Jan Petykiewicz
c4dfd06a42
improve type annotations
4 years ago
Jan Petykiewicz
f996a1629f
limit number of arguments on more functions
4 years ago
Jan Petykiewicz
49a3b4e322
add support for annotations
...
and other fixes
4 years ago
Jan Petykiewicz
ea21353d2e
fix incorrect variable name
4 years ago
Jan Petykiewicz
92a3b9b72e
documentation fixes/updates
4 years ago
Jan Petykiewicz
e7c8708f7f
prefer f-strings
4 years ago
Jan Petykiewicz
3ec28d4720
typo fixes
4 years ago
Jan Petykiewicz
b845b0f7bc
move shape conversions to their own functions, and use raw mode
4 years ago
Jan Petykiewicz
352c03c0ae
remove use_dtype_as_dose arg
4 years ago
Jan Petykiewicz
b98553a770
set repetition on subpattern
4 years ago
Jan Petykiewicz
7ce601dc1d
Enable repeated shapes in gdsii and oasis
4 years ago
Jan Petykiewicz
ad6fa88e53
Expect name to still be a string after disambiguation
...
Check that encode('ascii') doesn't make it zero-length, but don't
actually return the encoded form.
4 years ago
Jan Petykiewicz
794ebb6b37
repetition related fixup
4 years ago
Jan Petykiewicz
bab40474a0
Add repetitions and split up code into traits
4 years ago
Jan Petykiewicz
09615eaea6
use set() to remove any duplicates in patterns
4 years ago
Jan Petykiewicz
e401f37993
Improve documentation on disambiguate_pattern_names
4 years ago
Jan Petykiewicz
f204d917c9
Add basic support for OASIS and update setup/docs for OASIS and DXF support
4 years ago
Jan Petykiewicz
6e957d761a
newline
4 years ago
Jan Petykiewicz
8082743e17
move dose2dtype() into masque.file.utils, add dtype2dose(), and add a note that use_dtype_as_dose
4 years ago
Jan Petykiewicz
1b0b056bf9
break out build() which returns the gdsii.library.Library object
4 years ago
Jan Petykiewicz
22b2834d55
Documentation improvements
4 years ago
Jan Petykiewicz
f9fb7ccad3
move gdsii import below standard packages
4 years ago
Jan Petykiewicz
5bd1e85d89
add experimental support for dxf
4 years ago
Jan Petykiewicz
f260fe1374
comment fixup
4 years ago
Jan Petykiewicz
8302286a7a
allow using a string for the layer
...
Can't use it in gdsii, but no reason to forbit it in masque...
4 years ago
Jan Petykiewicz
247b31a9d6
Don't include None in referenced_patterns_by_id() by default
4 years ago
Jan Petykiewicz
f312f50751
some typing clarifications
4 years ago
Jan Petykiewicz
ee8f015172
add subpattern_t type (generalizattion of SubPattern and GridRepetition)
4 years ago
Jan Petykiewicz
157df47884
Improve type annotations based on mypy errors
4 years ago
Jan Petykiewicz
d33afc2bfd
disambiguate some variable names
4 years ago
Jan Petykiewicz
8493364e9c
Use a tuple for .identifier
4 years ago
Jan Petykiewicz
00394a62f0
Formally allow instances to point to None (i.e. an 'empty' pattern)
4 years ago
Jan Petykiewicz
9fa527ea11
improve handling of patterns with no bounding box
4 years ago
Jan Petykiewicz
334633662e
Remove extra __author__ declarations
4 years ago
Jan Petykiewicz
df179c9233
Improve type annotations for layer
4 years ago
jan
5adabfd25a
Docstring format change
...
(new param and return format)
Also some minor code formatting fixes in utils
4 years ago
Jan Petykiewicz
0db70d2c50
Change GridRepetition rotation/mirrored/scale properties so that they consistently apply only to the individual instances; the rotate()/mirror()/scale_by() functions apply to the full array. Add *_elements() versions of the functions
4 years ago
Jan Petykiewicz
64b8e4dec8
Fix duplicates in gds with multiple top-level cells
...
Since the different patterns we are handed might reference the same
Patterns, we have to deepcopy the entire list at once so that we
don't make multiple copies of them.
4 years ago
Jan Petykiewicz
e0db621595
allow locking of all objects
4 years ago
Jan Petykiewicz
09711116a7
allow more freedom in pattern names (e.g. names which violate spec, longer suffixes, filter warning, etc)
5 years ago
Jan Petykiewicz
df9c4b52f4
add some todos
5 years ago
Jan Petykiewicz
fcc4770534
Mirroring fix for gdsii import
5 years ago
Jan Petykiewicz
f3669f2dfd
fixup mirroring for subpatterns
5 years ago
Jan Petykiewicz
49982f1207
Add newlines to long log messages
5 years ago
jan
0ab5674fb9
strans needs starting value (0)
5 years ago
Jan Petykiewicz
75b42f6b63
Use normalize_mirror for all 2d-to-1d mirroring
5 years ago
Jan Petykiewicz
76f213a7ce
use .identifier instead of the dynamically-created .ref_name
5 years ago
Jan Petykiewicz
67c9b510cb
Rename svg functions to reflect their gds counterparts
...
Backwards incompatible!
5 years ago
Jan Petykiewicz
17451cd995
Force dose2dtype to accept only a list of patterns
...
Backwards incompatible, just like the rest of the gdsii rework
5 years ago
Jan Petykiewicz
1ef8518c60
Fix dose2dtype
...
Was broken during gdsii refactor
5 years ago
Jan Petykiewicz
4bd5542ce9
Clarify warning when adding suffix
5 years ago
Jan Petykiewicz
3ff9a8a506
Shorten long names when writing
...
Maybe turn this into an option later?
5 years ago
Jan Petykiewicz
376cbcce26
Use buffered IO
...
free ~10% speedup on read, probably similar on write
5 years ago
Jan Petykiewicz
bc43be48bc
Implement SquareCustom end-caps and gds output
5 years ago
Jan Petykiewicz
0bbcf3823a
Fix .gz suffix detection
5 years ago
Jan Petykiewicz
380393dbc3
Fix mirror axis for arrays
5 years ago
Jan Petykiewicz
0018891200
handle defaults for path params
5 years ago
Jan Petykiewicz
485a7bc29d
General overhaul of gdsii read/write functions
...
- read() and write() now take streams instead of filenames
- readfile() and writefile() were added to handle filenames and can
detect and handle '.gz' suffixed/compressed files.
- write_dose2dtype() and and read_dtype2dose() were removed in favor of
read(use_dtype_as_dose=True) and dose2dtype()
5 years ago
Jan Petykiewicz
d6d26b4e46
Add modify_originals param and don't modify the pattern by default
5 years ago
Jan Petykiewicz
783c0c0844
Add support for gds paths
5 years ago
Jan Petykiewicz
79c89b2a4b
Rename empty-named patterns on gdsii save
5 years ago
Jan Petykiewicz
8987cf8c44
mirror_signs are per-coordinate, not per-vector
5 years ago
Jan Petykiewicz
11bbf6aa0b
Fix auto-renaming for structures
5 years ago
Jan Petykiewicz
5e6485f410
allow setting library name
5 years ago
Jan Petykiewicz
3094aa4043
Automatically disambiguate repeated pattern names.
...
Also check for >32 char names
5 years ago
Jan Petykiewicz
3815069136
Fix out-of-range angles
5 years ago
Jan Petykiewicz
f7ce17c293
Fix mirroring
5 years ago
Jan Petykiewicz
bc723d96f3
Counts should be ints
5 years ago
jan
c50bd8e148
Add GridRepetition: a SubPattern-like object which implements regular spatial arrays.
...
Also rework masque.file.gdsii to consolidate write() and
write_dose2dtype()
5 years ago
Jan Petykiewicz
64cb1ced34
fix spacing (cosmetic)
6 years ago
jan
a064e74fc1
Merge branch 'master' of mpxd.net:jan/masque
6 years ago
jan
d17cf5b6be
label should have a list of 1 point
6 years ago
Jan Petykiewicz
48b8087d0c
Make read output consistent with write args
6 years ago
Jan Petykiewicz
4323d81abd
Change default written library name
6 years ago
Jan Petykiewicz
7eda7ea873
Clarify docs -- read returns a dict
6 years ago
jan
108694551b
add support for labels (e.g. GDS TEXT)
6 years ago
jan
8623dbbeac
Put masque-layer to gds-layer conversion into a private function, and only call once per shape
6 years ago
jan
1f17c07bef
remove errant print
6 years ago
jan
70f3ea9304
Handle mirrored gds shapes
6 years ago
jan
358f45c5fd
Error out when we see absolute positioning in GDS
...
We don't support it (yet?)
6 years ago
jan
c14daf2e5e
Fix GDS AREF handling
6 years ago
jan
0170f45f75
GDS stores rotation in degrees
6 years ago
jan
04ff11d3cb
check for zero-length names
6 years ago
jan
e4545bfa30
use is_scalar for checking if layer is a tuple
6 years ago
jan
2ca27b0792
fix typo
7 years ago
jan
b7b0da7432
Allow writing a list of patterns to gds (multiple topcells)
7 years ago
jan
c451e93df0
Add option to check for invalid polygons when reading gds
7 years ago
jan
6aa1787ba0
add comment specifying what gdsii lib is used
7 years ago
jan
583dd7b018
allow caller to specify gdsii logical unit
7 years ago
jan
3b3ee216c2
add missing import
7 years ago