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 know the commercial tools you mean, but KLayout is not of that kind.
KLayout DRC is a full-featured Ruby script that has access to everything inside KLayout - even GUI or network functionality.
Ruler filters can simply be implemented by "if…
You will some information about antenna checks here and a sample here: https://www.klayout.de/doc-qt5/about/drc_ref_netter.html#h2-64
There is another option that uses arbitrary expressions to create shape properties depending on computed net param…
If have added a patch that will make the settings persistent (https://github.com/KLayout/klayout/commit/5d60cfe27dae1189088e80a3d7cef2b99fde6e38). It will go into the next minor release.
Matthias
Hi @Krzysztof,
The reflecting edge from 2. can be found with a "corner with angle" check:
layer.raw.drc(corners(absolute) == 180.0)
This will both find inner and outer reflecting edges.
If you want to run this in deep mode, make sure y…
I mentioned in the other post that "select top level objects" was always available in the "View" menu too. In contrast to the editor options you can also bind that menu item to a key for example.
"Select top level objects" is also in the "View" menu, so you don't need to have that in the editor options.
But the hierarchical features block in general can go into the "Select" tool options as well.
I'd appreciate…
Okay, thanks for letting me know.
I honestly don't have an idea how that got fixed. There was not a specific bug report for that case. Maybe the fix was a side effect of another fix or feature.
Thanks and best regards,
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 …