Data written to the file looks consistent. When read back on klayout, it seems to fit all the data in first quadrant.
My layout centered at origin is no longer the same.
e.g.
BGNSTR
STRNAME simpleCell
BOUNDARY
LAYER 100
DATATYPE 0
XY -9740: -23500
-23500: -9740
-23500: 9740
-9740: 23500
9740: 23500
23500: 9740
23500: -9740
9740: -23500
-9740: -23500
ENDEL
BOUNDARY
LAYER 101
DATATYPE 0
XY -9740: -23500
-9740: 23500
9740: 23500
9740: -23500
-9740: -23500
ENDEL
BOUNDARY
LAYER 102
DATATYPE 0
XY -23500: -9740
-23500: 9740
23500: 9740
23500: -9740
-23500: -9740
ENDEL
ENDSTR
Thanks,
~J
Comments
Hi Jay,
I suspect there is an interaction with LOCALE settings. I am not aware that the reader uses the current locale but I wouldn't rule out that possibility.
What are your language settings (i.e. output of "locale")?
Best regards,
Matthias
%locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
In the same session, writing same data as GDS works flawlessly, but GDSText demonstrates the problem. From the data above, it looks like write works correctly, so it's purely read related.
Here is what happened to polygon data:
-9.74000 -23.50000
-23.50000 -9.74000
-23.50000 9.74000
-9.74000 23.50000
9.74000 23.50000
23.50000 9.74000
23.50000 -9.74000
9.74000 -23.50000
became:
0.00000 0.00000
0.24400 0.05200
9.74000 0.05200
23.50000 0.24400
23.50000 9.74000
9.74000 23.50000
0.24400 23.50000
0.05200 9.74000
0.05200 0.24400
0.24400 0.05200
and
-9740: -23500
-9740: 23500
9740: 23500
9740: -23500
-9740: -23500
became:
0.00000 0.00000
0.24400 0.05200
0.24400 23.50000
9.74000 23.50000
9.74000 0.05200
0.24400 0.05200
Notice extra points and signed data getting converted to unsigned.
~J
BGNSTR
STRNAME simpleCell
BOUNDARY
LAYER 100
DATATYPE 0
XY 0: 0
244: 52
9740: 52
23500: 244
23500: 9740
9740: 23500
244: 23500
52: 9740
52: 244
244: 52
0: 0
ENDEL
BOUNDARY
LAYER 101
DATATYPE 0
XY 0: 0
244: 52
9740: 52
9740: 23500
244: 23500
244: 52
0: 0
ENDEL
BOUNDARY
LAYER 102
DATATYPE 0
XY 0: 0
52: 244
23500: 244
23500: 9740
52: 9740
52: 244
0: 0
ENDEL
ENDSTR
~J
Hi Jay,
I still can't reproduce it, but there was some fishy code in the reader which I suspect was the reason for the problems.
It should be fixed in 0.19.2.
Best regards,
Matthias