Hi Matthias,
Regarding listed libraries: only the libraries associated with the selected technology should be listed - for example when adding a cell. Isn't that true?
That part isn't working for me, which is essentially the question. I have pre…
Thanks Matthias.
One thing missing is that if the user presses escape, this function doesn't return if the file was saved. But that can be checked by:
layout_filename = pya.Application.instance().main_window().current_view().active_cellview().fil…
Hi Matthias,
Similar question for you -- is there a way to trigger on the user changing the technology? i.e,. calling a Python script to unregister the other PCell libraries, and register the PCell library for the chosen technology? With more tha…
Thanks Joel. So your script loads the PCell libraries only, or GDS libraries? It seems to load all of the ones listed in the CSV, rather than selectively?
How do you trigger an event based on selecting the technology? I would imagine unloading…
Hi Matthias,
Me and a few others I've spoken with are feeling challenged by the lack of ability to easily distribute both library and technology. We would like to use KLayout for different manufacturing processes, where each one would have it's ow…
Hi Matthias,
I am wondering if you have been working on the API for the net tracer feature? I would like to access this in Python. I have developed something similar to photonics (optical waveguides), namely netlist extraction, but there we are o…
Thank you Matthias, especially for "Bugfix: Copying Hierarchy treets containing PCell's made the PCell's being turned into static cells."
It works well as expected!
Thanks Mattias,
I see that I can do a copy & paste one by one, as long as I select the individual PCell instance in the layout. But if the PCell resides in a hierarchy, and I try to copy that top cell in the layout, it pops up the dialog of Sh…
Hi Nathan,
Python allows for multi-threading. It seems that the libraries are already present for this (on the MacOS version).
https://www.tutorialspoint.com/python/python_multithreading.htm
Perhaps your complicated scripts could be sped up this…
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…