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 @Scafir,
thanks for the pointers. I will take a look. I just can't promise a swift response. Performance issues are usually ugly to trace back.
Matthias
Hi @Scafir,
I'd not try parallelization inside the application. Qt and large parts of the application are not thread-safe. You need to provide strict thread isolation and there are too many side effects beyond your control. Specifically I don't tru…
You will find it more cumbersome if you don't have it - because then you cannot enter the width of a path, the text string of a label or the parameters of a PCell or quickly access the snapping modes. It makes sense to have it.
Why don't you just p…
@thangzero please consider opening a new discussion for a new case.
Actually, there is no direct way of changing the shortcuts for these items, as these are mode switches and not functions. But it is possible to install a script which changes the s…
Small update: "extent_refs" (see https://www.klayout.de/doc-qt5/about/drc_ref_layer.html#extent_refs) can actually be used, if you first convert the edge pairs to rectangular polygons using "extents" and use "raw" to sw…
Hi Andy,
thanks for the image, I got the idea now.
The general strategy I'd like to suggest is to create edge pairs of vertical edge pairs and then compute the centerlines of the two involved edges.
For getting the edge pairs, you can use the &qu…
No no no ...
It's too easy to introduce a tiny move when you just click. It may be a single pixel. It's essentially impossible to decide if you wanted to click or move. So a single click can be mistaken as a small move and unless you're not super c…
Hi Leo,
I have started an implementation of the "copy whole net as marker" (https://github.com/KLayout/klayout/pull/2257).
With this patch "evaluate_nets" will have a new feature that allows finer control over what is produced.…
Hi @sekigawa,
thanks for this impressive survey :)
@simransingh14: regarding the plugin-based approach: it is not possible to explicitly capture the "File/Open" event. "Plugins" are scripts that make use of a special API to hoo…
Hi @Manio,
I don't know which PDK you are using, but when you don't see the library, that means something went wrong during installation. Typically a PDK will provide a PCell Library by through scripts which are auto-loaded on startup of KLayout. F…
Hi @mikamar,
at first glance I'd say the "diagonality" of the upper-left 2x2 matrix of the example case should give you a similarity. That matrix is
(0.05, 0) (-0.000505, 0.0505)
That is pretty "diagonal". It's obviously…
Hi Simran,
I think you need to be more specific. What is the requirement UI-wise and what are the details?
Basically, KLayout can download from HTTP(S), but authentication supports Basic only, is per-session and requires the user to enter a passwo…
Hi @katherine,
technically, the entry point to the space check is Region::space_check in dbRegion.h, line 725. However, that's just the entry point, the details are complex.
I need to say that KLayout is not an educational, but a practical impleme…
You can create a Application shortcut on Windows that includes the "-rm" option with the macro you are using.
But I don't want to give Windows support here - there should be many resources which tell you how to create an application short…
Oh, I'm sorry. You are right. Arrays of layers are not supported as of now. I left my brain at some Christmas party obviously.
You can pass any value to variables, including arrays, but one should not use that for layers.
But it should still be po…
Hi Leo,
The expressions syntax is somewhat limited - there are no loops. You can still pass arrays:
# ANTENNADIFFSIDEAREARATIO-like antenna checkdef antenna_check_gf180mcu(gate, antenna_layer, thickness, limit, diodes) expression = "var gare…
Hi @simransingh14,
the option that comes to my mind is using a file type binding like
klayout.exe -rm yourmacro.lym -rd input="%1"
(I assume Windows style for file associations and %1 is replaced by the file name).
In that case "y…
Very good :)
KLayout does not have curves - only piecewise linear polygons (after all, it's a VLSI tool and most layouts are manhattan style). So no curve fitting :(
Matthias
That is because "require_relative" will not load a file twice. That is a Ruby feature, not a KLayout one.
If you use "load_relative" instead, it should always load the helper file.
Matthias
Yes, there is the DRC "smoothed" function. It eliminates additional vertexes to return a smoothed polygon that deviates from the original contour by a given maximum distance.
Here is a one-liner that applies the smoothing to layer 1/0 and…
Very good. Thanks for the feedback! :)
I fixed two issues mainly:
* When the shape you clicked at was lower in the hierarchy, the shape was not identified correctly in most cases
* "Inactive" shapes (such from layers not part of the stac…
Hi @footang,
I have merged my latest changes which I think should fix your problems. Preliminary builds are available here: https://www.klayout.org/downloads/master/ (Windows, Linux). Disclaimer: these binaries are not signed yet.
If you like, you…
Hi @LeoTrois,
can you give some details how to reproduce the problem?
Here is what works for me for KLayout 0.30.5:
* Create a new, empty layout with layers 1/0, 2/0 and 3/0
* Make layer 1/0 the current one
* Hide layer 1/0
* Press the "Text…
Thanks, but where did you create it?
The issue space for KLayout is here: https://github.com/KLayout/klayout/issues
You can refer to this discussion. GitHub tickets are a good way to publicly discuss topics and refer to them in release notes.
Mat…
Hi Sebastian,
You can use a temporary cell (inside a Layout) as a container for instances. Cells should be thread-safe when used in an isolated fashion (i.e. one cell per thread). But that needs confirmation - I have not really tested yet. If you p…