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
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/…
No sorry, it's absolutely impossible for me to debug your problem with this little information. I don't even know what a "Visual SVN server" is supposed to be.
Check your server's log files. They will contain details. And get some support…
Hi Jim,
Actually, merged regions are kept in parallel to the original polygons. In DRC, this feature is usually hidden as merged polygons are only used as inputs for most measurement methods (under the regime of "merged semantics").
You …
@reacogr I'd suggest to first merge and then count. But the slowness probably arises from the merge step, not the counting. That's inevitable as the algorithmic complexity lies in the merge.
You can speed that up (often) and reduce the memory overh…
That's right. This is the equivalent code. But it's slower because the loop is going to be executed in the slow script interpreter.
BTW: why the old KLayout version?
I have noticed that the "(1, nil)" argument to "with(out)_holes&qu…
Hi Allon,
one thing that comes to mind is that you're just transforming the bounding boxes lower left corner. So when you rotate, this point become the lower right corner (when rotating 90 degree counterclockwise).
Maybe it's better to use "s…