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
What do you mean precisely by "does not work"?
I can't confirm that it's broken in general, but maybe the behavior got changed in a way you don't expect?
Matthias
P.S. it's better report bugs in GitHub's issue tracker (https://github.co…
Sorry, I can't reproduce the problem with 0.30.7, Linux (Ubuntu 24.04, Qt 5.15 and Qt 6.4) and Windows. I also tested with a virgin configuration to ensure that no script of mine interferes. Finally I also tested with version 0.30.6 from the IIC-OSI…
Hi @jiunnweiyeh,
a RSS feed (https://en.wikipedia.org/wiki/RSS) is a web "page" you subscribe with a RSS client. Thunderbird for example allows subscribing this way:
(Image)
The client regularly reads that information and shows it in a…
Not a documentation problem:
cell_name: doc says
(Quote)
So it's an attribute. Use object.cell_name.
filename: no such comment. So it's a method. Use object.filename().
Or use Ruby. There is no such differentiation needed.
Matthias
Hi @ocasta,
I don't recall precisely, but maybe some older versions generated empty tiles when a tile was placed outside the layout's bounding box or non-overlapping. In that case, _tile was nil and the && prevented execution of the block a…
Hi @ryanke,
As a rough guess, OASIS without CBLOCK compression takes about 3 times the file size as memory for loading, with CBLOCK compression that factor can be bigger - maybe 6 times. That is for 32bit coordinates. With 64bit coordinates that is…
Hi @jiunnweiyeh,
There is a RSS feed here: https://www.klayout.de/news.php. I usually place messages there for every new release.
Best regards,
Matthias
I have never seen a technology that allows rotated vias. They will never come out exactly because the corners will finally snap to the manufacturing grid in undefined ways.
Matthias
Hi @ocasta,
the code is based on the tiling processor. This class is described here: https://www.klayout.de/doc-qt5/code/class_TilingProcessor.html#k_1.
The "script" is a simple expression notation that KLayout has built into. I'd not ca…
Hi @alto,
Yes, that is the way PCells are stored.
But KLayout writes a copy of the PCell content to GDS. So when you open a GDS file without having the macro that serves the PCell, you will still get the full layout, but you cannot modify it.
The…
I see :)
Initially I understood you mean the dimension objects in DXF.
It does not look bad in my case ... but maybe that is only my hardware combination. I will try on other screens and printers.
(Image)
Does the problem also occur if you prin…
Hi @jonathan,
LStream is currently just a proposal, but I implemented the layout view part in KLayout for real-world applications. Right now, that subset is available for reading and writing and external references will be somewhat better supported…
Hi @ryanke,
First thing make sure you're using non-editable Layout objects. Editable layout object will take significantly more memory. When you create the Layout object, use
import klayout.db as kdblayout = kdb.Layout(False)...
Second, no, there…
Hi @Niharika04,
I assume your library is bound to a technology. When you use "library_by_name" without "for_technology", you will not see these libraries. "library_by_name" applies the name and technology filter. Omitt…
Hi Jonathan,
If you work on an alternative, you may be interested in that here: https://codeberg.org/klayoutmatthias/lstream. It's an open format that supports the idea of external library references among many other things.
The replication mechan…
Maybe you could simply write what your application is. That's probably easier to discuss.
Here my replies:
1. Yes, a cell in a library layout can refer to another cell in that library. But that's a normal reference then, no library reference. Some …
Are you an AI agent? I don't feel like taking to someone who tries to understand what I am writing.
"width" is not work in progress. You have the wrong expectations. What do you call the width of a piece of wire made from a rectangle? It'…
@alto could you please provide some screenshots or some sample files? This description is not enough to understand your problem. I you ask for help here, please try to be helpful as well. There are good examples of nicely prepared requests in this f…
Well, the problem is snapping. As GDS polygons can only be represented as multiples of the database unit (typically 1nm), the corners of the rotated rectangles cannot be represented exactly. Hence the corners will move and these gaps open. What you …
Man, how I hate substituting for AI ...
If you read the documentation of "LayoutView#current_layer" here: https://www.klayout.de/doc-qt5/code/class_LayoutView.html#method70 - it gives you a valuable hint:
(Quote)
That means, it's a prope…
I guess there is a whole field in computational geometry about that kind of approximation you want to achieve. KLayout is not a computational geometry library, but a practical tool. There is no such algorithm built into it. The trapezoid decompositi…
Hi @blueman_44 and @alto,
You're almost there :)
Some magic already happens in nwell.nets. This method will select nets, but more importantly, it assigns the net names as properties to the shapes it delivers (and it also brings hierarchical subnet…
Hi @klayanoob,
I tried the script and it seems to do what it is supposed to. I had three layers, 1/0, 1/5 and 2/0. With the map instruction you give, they get mapped to 13/0 (=1/0 and 1/5) and 14/0 (=2/0). So what do you mean by "you do not re…
You mean, these attributes are getters and you need a setter? :)
Right now, there is no programmatic way to change them, but if you drop me a ticket on GitHub, I will consider that feature for the next minor release. I hope there are not too many l…
Please try to rename KLayout's profile folder. It's located at c:\users\<youraccount>\KLayout. Rename this folder to something different or remove it. After that, KLayout should start. If is does, it means, something fishy was there in that fo…