Got it working!
tech = pya.Technology().create_technology('EBeam') tech = tech.load('/Users/lukasc/Documents/GitHub/SiEPIC_EBeam_PDK/klayout/EBeam/EBeam.lyt')
The create_technology seems to register the technology in the system.
Could you add th…
Hi @Matthias @JinWallner
Here is a way to do this:
def produce_impl(self): # Load the geometries into KLayout import os dir_path = os.path.normpath(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../gds/")) file…
If it is a question of accessing all the grain.xml files, what about just queering GitHub for the single file? e.g.,
Putting the grain.xml file at the top of the r…
Thank you Matthias.
This is very helpful, and useful for implementing schematic driven layout:
Are there any ways of querying the to-be-instantiated cell, e.g., location, rotation, etc?
Is there a way to create a call back for when the to-be-inst…
I see that SourceForge provides an automated synchronization between GitHub and SourceForge. Could that be useful?
When do you anticipate having v0.29 and a new Git integration release…
Regarding cleanup(), I find that these orphan PCell variants show up in my layout when I load the GDS file. Namely I save a file with a single top cell, and after opening, there are new orphan top cells.
The specific case is a PCell …
I modified your code for a Basic.CIRCLE, and found un-expected behaviour.
After running, the cell shows up as "Basic.CIRCLE(l=1/0,r=0,n=64)" and I don't see the layout:
Here are some notes on how to import your components into SiEPIC-Tools. Again, I suggest starting with an existing PDK (e.g., EBeam or GSiP), and creating new component following the convention described here:
I'll write up some documentation how to do this. The easiest would be to edit the existing library and put your own polygons in the cells. On the wiki there is a slightly out of date description of the requirements for pins so that snap…
We implemented this as a Package for KLayout. In KLayout 0.25, Tools | Manage Package, and find SiEPIC-Tools
It comes with a PDK, called GSiP, and includes waveguides which snap to components.
I agree that using a Windows Python distribution like Anaconda would be a good idea. I am not a Windows user however, so do not wish to take on the task of recompiling KLayout on Windows...
My interest in Windows KLayout + Python is t…
Since you are working on photonics, I refer you to our photonics-specific add-ons for KLayout, SiEPIC-EBeam-PDK and SiEPIC-Tools. It is available in Tools | Package Manager, then find these packages.
You may also be interested in a pho…
The above forum post is concerning doing it via script.
The easiest way is through the GUI:
Edit | Mode | Instance (or push Instance in the toolbar)
choose the Library = Basic
choose the Cell = TEXT
click on PCell, then enter your desired Text…
We have successfully added numpy for KLayout-Windows to SiEPIC-Tools (hosted in KLayout Package Manager).
It's a never-ending battle though with Windows and the version of Python you chose to compile with as it doesn't come with pip. …
So I tried your procedure.
Downloaded MSYS2 from the web page (msys2-x86_64-20161025.exe) - you mention you can't use the latest version -- is this the wrong one to use? I found older ones here: http://repo.msys2.org/distrib/x86_64/
Wow, that looks very complicated. I sure like the "pip install numpy" method on Linux and OSX. Seems like there should be an easier way to solve this: a) get users to install a Python of their choice (such as Anaconda), and have KLayout …
I agree with your concerns and the need for a true open source initiative. I think what you are doing is outstanding. It may very well be considered as a starting point for standard, though the challenge is that all the companies…
I am writing a script to do some sizing and boolean operations on shapes. It works, but the performance is such that I won't be able to use it on anything more than a test structure. Yet when I access the menu Edit | Selection | Size…
In the latest KLayout 0.25, is there any functionality that could enable callbacks, as per the original question? Namely, when I move a fixed cell instance, or pcell instance, I would like it to trigger the execution of some code..
We are finally getting some time to work on this, on 0.25:
I am running into the following challenge:
* Multiple technologies
* We want to use generic names for layers in the PCells, rather than hard-coding "1/0". Example, …
On CentOS-7 the following worked for me:
* install Python pip
* python -m pip install --user numpy
This installed numpy-1.13.3. Then in KLayout, no problem running "import numpy" and numpy commands.
This makes sense. I don't have 0.25 so can't test this yet.
One question is what types of parameters can be stored in the technology. Hopefully it will be generic enough (i.e., not just the layer table) that I can put any number of v…
Is there any way to check if a layout hasn't been saved? i.e., when you exit KLayout, it knows if it has been modified or not. I couldn't find such a flag. The closest I could find was checking the undo transactions. If there are none, I assume …