Related question.
When I open a GDS, and check the File > Layout Statistics, I see "Library name: mentor.db", for example. Is there a way to access this in the script (presumably yes, since this GUI has this information). I note that…
Hi Matthias,
I'm glad I'm able to report a bug that you can reproduce! And even more glad that it isn't my SiEPIC Python code that was causing it. Possibly some of the other crashing issues I've had with PCells may originate from this bug too...
…
Hi Matthias,
It turns out that it crashes for the simplest test. Fresh install. Empty user folder. Add 2 circles. Make cell. Crash.
Video: https://www.dropbox.com/s/yx37v83rliei3wp/KLayout_Crash_Edit_Selection_MakeCell_Circle.mp4?dl=0
And a couple more very simple GDS libraries, each containing only 1 box on layer 1:
https://www.dropbox.com/s/295yarsjzjmxfaf/test.GDS?dl=1
https://www.dropbox.com/s/uknongiszfspnig/test2.GDS?dl=1
They also cause it to crash when adding two of th…
Hi Matthias,
I notice that perhaps the functionality of nested PCells has changed. I am using the following method of instantiating a PCell and creating a cell:
pcell = ly.create_cell( .... )
Previously, I was enjoying having a PCell call anoth…
Hi Matthias, David,
I am finding something strange here. On OSX, this works fine. But on Windows 8.1 with KLayout 24.4,
config = RBA::Application.instance.get_config('key-bindings') puts config
returns nothing. And the rest of the script brea…
Thanks Kazzz.
It would be nice if KLayout could be configured to use the built-in Ruby/Python (for end-users), and the same binary could be configured with an environment variable to use a separately installed Python.
Anyway, I am trying to avoid …
Hi Matthias,
Regarding getting post-implementation parameters from a PCell, given what you said, and as a work around, my solution is to search the cell's geometries, to find what I need.
def find_PCell_pins(subcell): # find the location of the p…
Hi Matthias,
Regarding your question why people want PCells-in-PCells:
* I think of PCells as having two parts: a) the parameterized code, and b) a way to instantiate the layout using a GUI. I agree with you about the alternative which is to simp…
Further problem.
Does this problem also extend to "produce_impl"?
What I'd like to do is query the PCell for geometry information derived during the PCell implementation, similar to described here: http://www.klayout.de/doc/programming/r…
Thank you. That part works, including for a Path shape.
However, for the Circle above, it crashes when I move the Handle point... Can you also update the coerce function as well?
Matthias,
David found something I can't figure out. Namely that in Windows, "RecursiveShapeIterator object is not an iterator"
Here's the sample code:
layout = pya.Application.instance().main_window().current_view().active_cellview().l…
Thanks Matthias and David,
So it is interesting how many things the Windows build is missing (numpy, six).
I just installed Python 3 on my OSX computer, hoping that KLayout would start using this. But alas. It sounds like it needs to be recompil…
Hi David,
I think we need to make it work for both 2 and 3. I'd rather make the code work on any installation and not have to ask people to modify their setups...
The "six" package is a good idea. It is there by default on my OSX KLayo…
Yes. Your "poly" can be transformed / moved to go to a different location.
http://www.klayout.de/doc/code/class_Shapes.html
and
http://www.klayout.de/doc/code/class_Trans.html
There are also code examples here: http://sourceforge.net/…
Thank you. I got it working for shapes, but not for cells / instances.
In your ObjectInstPath documentation, http://www.klayout.de/doc/code/class_ObjectInstPath.html, you don't have cell_index= or inst=, as a settable item.
Do I need to use appen…
To add to this, I am interested in creating geometries containing thousands of points. For example, chirped & apodized spiral Bragg grating waveguides. Presently we do calculations in Matlab, save the coordinates to a file, and import them int…
Hi Matthias,
DRC – indeed, that's the standard way of doing things. We typically use Calibre DRC, with rules provided by the photonics foundries -- similar to CMOS electronics foundries. However, there are numerous challenges with photonic-DRC.
…
Hi Matthias,
Regarding your idea of distributing the .klayout folder. Changing the $KLAYOUT_PATH would presumably use the new one, rather than the user default of $HOME/.klayout.
So I could also provide a klayoutrc file, preconfigured to how I li…
Hi David,
On the Mac, python is pre-installed, and is version 2.7. And on both Linux and OSX (apple), KLayout isn't built with Python -- KLayout just uses the system-installed Python. And on the Mac, we have "numpy" (numerical python, a…
Hi David,
I am already using personal Libraries in my own .klayoutrc folder.
This question is about packaging a technology for distribution to other people in a single folder / zip file. I'm wondering if I create a folder "libraries" in…