Hi Jim,
you can use master or any other branch, but without warranty.
The usual approach (and the one favoured by GitHub) is: features are developed in branches. When they are considered stable enough they are integrated into the master (pull request). Hence the master is kind of "latest greatest", but with a certain risk of being spoiled. There are also forks from other user with their own masters and branches. Don't confuse them with the ones from the KLayout project.
But eventually, when the master is considered to have a sufficient quality, a release is made by creating a release tag (https://github.com/KLayout/klayout/releases). A release is a snapshot which is then turned into Windows binaries, Linux packages, PyPI wheels etc. This this is a lengthy process and I don't want to do this too often.
Matthias
Ruby version is:
RBA::MainWindow::menu_symbols
and the shorter (and better) Python version (menu_symbols actually is a class method):
pya.MainWindow.menu_symbols()
Matthias
Honestly, this is weird, but I guess I cannot convince you not to do that. I feels like delegating an architecture problem to a configuration. I rarely have seen such things doing good. In my experience such a scheme just adds obfuscation at the vir…
@eeterry11 I think you should think simple. Without a sample, it's quite difficult to debug, but I'd propose to change the collector connection to simply:
# instead of:connect(emitter, contact)connect(collector_contact, nwell)connect(nwell, nplus)c…
You cannot access layers from the application from a PCell. Instead, the PCell will give you a layout object which is not the application's layout.
PCell layer parameters are given as LayerInfo structures. But the PCell helper class will provide th…
Hi Lidia,
so you actually want to do parasitic extraction.
The problem is that you are creating internal nodes which need to be named in some way. What you want to have in some way is a twofold extraction: once without the internal nodes and once …
Hi Thomas,
thank you for the testcase. That is always very helpful.
The "All net" extraction operates hierarchically at first will always use the net names from the highest level the net is found on. In your case, all nets are connected …
* "pya.MainWindow.instance().menu_symbols()" gives you a list with all symbols (Python)
* No, you can't. But "rename_tab" can be simply emulated by using "LayoutView#rename_layer_list"
Matthias
Hi Lidia,
the problem isn't the the connect statements but that you're using the entire M1.
I understand that "con" separates the M1 parts, but I do not fully understand your layout.
Typically you have a resistor marker which indicates …
Please paste your code. This is a Python exception and something is wrong inside your PCell code. You're trying to access an index in a dictionary which does not exist. I can't tell more without having your code.
I can reproduce the problem when I …
When I put that into the macro IDE and run it, it exactly catches the exception. You need to turn off the debugger in order to stop it from reporting the original error, but I assume that is not what you want to know.
So you're not giving the full …
Hi Ray,
To paste code, you need to put a single line with three backticks before and after the code. Otherwise it's formatted in Markdown convention (# will become a headline etc.).
I agree the error message is somewhat gross, but it tells everyth…
@floz I'm impressed! :)
Thanks for sharing the code!
The ruler does not have the original points, so you cannot fine adjust it by dragging them. But maybe this solution is already good for a lot of use cases.
Thanks again,
Matthias
If there are not too many instances (~1 million), you can try using the boolean operations from the DRC feature - draw a big box over all instances on layer 1/0 for example and draw a small box inside the instance on layer 2/0 for example. To get th…
Hi Ray,
I'm sorry, but this is impossible for me to debug with the information you give me.
I'd need at least your .xs file or the beginning of it (at least until line 9 of ccd_with _implants.xs). And even if the error message isn't comprehensible…
@floz I tried many times to reproduce the problem without success. Maybe you have special settings?
Could you paste a screenshot from your ruler properties dialog?
Thanks,
Matthias
Dear all,
thanks for the pointers.
FastCap and FastHenry integration / interfacing is on my to do list. However, as of now, I have not taken a deeper look into that topic yet. I feel that in order to be useful, some integration on a lower level is…
@jiunnweiyeh If we're talking about GDS files there is no layer name in the layout database. Layers are only addressed by layer number and datatype number. OASIS has layer names (you can get by asking LayerInfo for the name), but that is an optional…
@Weiling_Zheng "tiles(1000)" will turn off "deep" (see here: https://www.klayout.de/doc-qt5/manual/drc_runsets.html#h2-1028). Comment out "tiles(1000)" or move "deep" after it.
But I have a stupid question ma…
Could you please use code formatting ... triple backticks on a single line before and after the code ... this is painful to read.
Beside that: you're using DRC commands at the beginning, but the rest is a Ruby script. What are you trying to do?
Fo…
Hi Laurent,
Well, I'd just use a high number like 16, provided your machine doesn't have more than 16 CPUs :)
But frankly, multicore utilization is only good in tiled mode. Deep mode doesn't really benefit from parallelization as of now :(
Matthi…
It doesn't work and I can't read it. Please use triple backticks on a single line to start and end code. Python without indentation reads badly.
I don't get how you look for "WaveguideN". "ly0.cells()" will give you the number o…
Hi,
here is some code in Python to print the contents of the current cell:
# Get currently loaded layout and cell# ly is a Layout object:# https://www.klayout.de/doc-qt5/programming/database_api.html#h2-18# https://www.klayout.de/doc-qt5/code/…