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
I have started duplicating the first project tags to a separate SVN server. This will keep the packages working after January 2024. But as these are snapshots take today, this will disconnect them from the evolution on GitHub.
The new package URLs …
Here is a brief recipe for the transfer to SoureForge. The example is for the klayoutmatthias/xsection project.
First, create a project at SourceForge. Make sure you select "Subversion" for the Repository type. In my case the project was …
@dick_freebird Browsers today do no longer subscribe to RSS feeds automatically, that is why you see text only (Firefox stopped doing so in 2018 for example). There are browser plugins available (for Firefox see https://support.mozilla.org/en-US/kb/…
The numbers reported are only the deltas of the process memory size - the actual memory used is an entirely different matter. Memory can be allocated temporarily and then freed again without returning it to the operating system. So the difference yo…
@double0darbo No, GDS cannot store layer names. So when you save to GDS, layer names will be gone. Saving to OASIS is an option to prevent that.
By "labels" I meant text objects that may be present in your layout. These do not translate t…
I'm serious about the Greens function approach. It's a pain finding analytical solutions for area integrals even for simple quadrangles after decomposing them. Calculating an edge integral is far easier and accessible to analytical solutions.
Seek …
@olisnr LVS is a physical verification tool. It takes polygons from GDS, regenerates the devices and their connections and compares that with the netlist. It will report success if both the layout-derived netlist and the schematic match.
What you a…
Hi Eugene,
Thanks for bringing this up. I created a new ticket for this: https://github.com/KLayout/klayout/issues/1512
From the code perspective I think I understand why non-active views don't get updated. Maybe the following is a workaround:
* …
@nsrgorgi You can format source code using a single line with three backticks before and after the code. Without that it's hardly readable. It's the same notation GitHub Markdown uses for example. I took the liberty to edit your text.
I just checke…
Currently there is no net annotation. You cannot import a netlist. As of now, KLayout is a purely graphical layout editor, not a layout system. I'm sorry.
Matthias
You're fundamentally wrong in your understanding of Python.
Here is what you do:
special_path = pya.Path
This does not create a path object, but gives you the Path type object.
special_path.end_ext = ...
This sets a new attribute on the type ob…
AFAIK the preferred way of computing weighted integrals over polygons (e.g. moments of inertia or Fourier coefficients) is using a Green's function - i.e. converting an area integral to an integral over the contour of the area.
As for a polygon the…
Hi @spark_aeon
I'm a bit confused as the code should be that:
Cell_C.insert(pya.CellInstArray(Cell_D, pya.Trans(0, 0)))
(not the "CellInstArray"). This should definitely create an instance of Cell D inside Cell C. If it doesn't somethin…
Very good. Thanks for sharing the code.
I did not have the time to test the code above, so apologies for the typo. The line was supposed to be "iter.shape().polygon" (without brackets) and I'd advise you to change your code too. Otherwise…
Hi @double0darbo,
I do not fully understand what you are trying to achieve. The code is overly complex and does not make much sense to me. E.g. why computing corners and then converting them to edges? Plus that path via strings is extremely ineffic…
Hi Thomas (@yrrapt),
When you create a "outside tub" bulk by using "chip_boundary - dti", KLayout will probably produce a flat netlist even in deep mode. The "holes" approach (dti.holes) may prevent this problem. You s…
At @wsteffe,
Relative paths to not make much sense as you noticed. A simple way to provide some doc is to simply use "https://github.com/wsteffe/layoutDD" in your case as GitHub renders the README.md file. Or you use GitHub pages. In that…
Hi Ayad,
labels should be detected, provided you include the label layers in the connectivity. So if your net carries a label on one of the layers participating in the stack definition, the name of the trace should reflect that.
Matthias
Hi @wsteffe,
Sorry for the delayed response.
You need to specify the equivalent of the Subversion (SVN) URL for GitHub. In your case this is:
https://github.com/wsteffe/layoutDD/tags/v0.2.3/grain.xml
(replace "tree" by "tags"…
Hi @wsteffe,
That information unfortunately is not directly available. It is used while reading, but once that is done, the information is not recorded.
You can obtain the information Indirectly through the technology attached to the layout:
if l…
Dear all,
thanks for this discussion!
I need to say I do not fully understand the initial request. "activated" is a callback that is not meant to triggering dialogs. It just says someone triggered this mode.
If you simply need a button …
Hi Thomas,
the "\n" needs to be embedded into the string - so you need to use "LINE1\\nLINE2".
There reason is probably that I wanted that you can enter "\n" into the text edit box of the TEXT PCell which is not multi…
Hi Giovanni,
you cannot just use another version of Python on Windows. Windows does not have package management and there are multiple flavors of Python that are incompatible on a binary level. One Python cannot use the modules of another.
KLayout…
Maybe some details would be helpful ... any error messages in the log (File/Log Viewer)?
My best guess is an encoding issue, but that should be logged. I am not aware of severe bugs in that area.
Matthias