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…
Hi Matthias,
Something changed for me in the behaviour of "PCell content is selectable (Caution: PCell recomputation may conflict with edits)".
Previously (up to a couple of days ago, perhaps after I reset my klayoutrc file), I operated …
Thank you David.
I confirm that undo/redo works. However, I also confirm the bug you found.
Another thing I found is that if you don't call "commit", you have a problem:
* The layout screen goes empty, and I can't see the box. The Cell…
Hi Matthias,
I implemented a netlist extraction, and posted the code on GitHub - https://github.com/lukasc-ubc/SiEPIC_EBeam_PDK
It searches for paths and ROUND_PATHs, finds out what they are connected to, and generates a Spice netlist file.
Then …
I didn't notice, but the "path" is actually a DPath object, which includes the parameter "w". So I can read this in order to write an "undo" ROUND_PATH function.
Thanks Matthias and David.
I think I figured out a way to implement the follow functionality. (updated on GitHub)
I have two hotkeys:
* W: snaps the path to the nearest pins, and uses the ROUND_PATH to make it a waveguide. Keep track of which pi…
Hi Matthias,
Re - crashing. Yes, they occur during self.register, while developing PCells. The following crash occurred after I copied and pasted a PCell in the code, renamed it, (didn't add a new register_pcell line) and ran the script.
Also, I…
Got it, but still experiencing the key binding problem.
My key bindings:
https://www.dropbox.com/s/vebf3k0vxvzoods/Screenshot%202015-11-13%2003.38.01.png?dl=0
Same problem. When I push "x" or Shift "x", nothing happens. Same …
Thank you.
The latest version on klayout.de is 0.24.2, and your Dropbox link is 5 days old:
https://www.dropbox.com/s/73v7uelklbcjvr8/klayout-0.24.3-MacOSX-Yosemite-1-Qt487mp.dmg.bz2?dl=0
I downloaded this, and confirm that the DRC is fixed!
How…
Thanks Kazzz!
Here's another minor "bug".
The Key Bindings don't seem to work for the toolbar objects. For example, edit_mode.mode_menu.instance, Instance – setting this to "i", and pressing "i" doesn't do anything. …
How do you get the width of the path from the ROUND_PATH PCell?
Here is the list returned for the PCell:
* def PCell_get_parameter_list ( ROUND_PATH, Basic):
* Name: layer, TypeList, unit: , default: None, description: Layer.
* Name: radius, T…
It seems like I can just scale the values returned by the PCell "ROUND_PATH"
DPath = subcell.pcell_parameters_by_name()["path"]*(1/dbu) # DPath object
and get it back to dbu rather than microns...
Thanks Matthias. My main objective was to understand how to call the layout generation function from PCells in general (including my own). I agree that the circle is simple so make more sense to code in yourself.
Yes, the ROUND_PATH functionality…
1) In the above example, the code isn't quite right. It should be cell.flatten(True). It flattens everything under cell, namely the fake text_cell. But...
I notice that all the flatten functions you have flatten all the contents of the cell, but…