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
No, it will take the selected objects and lays them out in a row (horizonal only), column (vertical only) or grid (both). Like this:
Before:
(Image)
With:
After:
(Image)
What you look for is Edit/Selection/Make Array.
Matthias
Try to insert "layout_view.update_content" before "get_image" or use "get_image_with_options".
"get_image" shares the view with the event-driven Window system and changes to the view may not be immediate.
Th…
I have created to ticket to deal with support for polygons with holes inside the clip functions: https://github.com/KLayout/klayout/issues/1407
But you don't need to merge in order to compute the area:
region.area()
will simply give you the area …
No, that's simply the way the colors are specified. See my note about hexadecimal notation of color codes.
If you want the layer to take a specific color use the hex RGB triplet notation that HTML uses too (e.g. #ffd700 for "gold") and t…
Sorry, I somehow missed that post ...
Rrgarding the first issue - do you intend to save to OASIS or some other format that supports layer names? Because only in that case, giving the database layers names only make sense.
If you read from GDS and …
That was possible if the fault can be captured through a signal handler. In that case you would see a window with the stack trace. But the way you describe it is that the window is gone without further notice. This also means there is no signal to i…
Hello @bmebu,
you cannot directly reference a cell from a foreign layout. For technical reasons (cell references are integer cell indexes), KLayout can't warn in that case, but the mistake is trying insert a cell from "logo_layout" into &…
That is a problem. I assume you're trying to use the multi_clip_into on a layer that has been generated by some operation generating polygons with holes. Direct input from GDS does not produce such polygons, but they may be generated by boolean oper…
Hi @Default,
please refer to @"Vincent Lin" 's code (thanks for sharing). Your code uses two layout objects which are not necessarily the same and the correct behavior depends on side effects that are not guaranteed. The below code is cle…
Hi @RawrRanger,
thanks for the script, the problem is easy to reproduce.
And it's easy to fix: it one happens when the debugger is enabled. Problem is that with the debugger, the paint events are intercepted. As the debugger itself runs in Qt's ev…
I may be able to help if you tell me what object getRegionbbox returns. This is not a complete sample.
0.28 got overloads accepting micron-unit boxes. This means that with an empty list of boxes there will be an ambiguity. If that is your case, you…
Hi Ronan,
there is no such feature yet as user properties are rarely used in the GDS2 world that KLayout stems from. After all, KLayout is not a LEF/DEF viewer, but a mask layout tool.
It is possible to install a callback through a script that tra…
If you are using the DRCEngine class they may be required. But actually you're outside the documented API space. So things can change without notice.
The API way of executing a DRC script is using the RBA::Macro object, configure it as a DRC script…
@kazzz Thanks for another masterpiece of well-documented thoughts!
Here are my thoughts: I recently published a small script that works on the principle of applying a sizing and using bisection to find the minimum space (https://www.klayout.de/foru…
Basically libraries are a simple way to organize layouts.
There is a simple way to use GDS files as libraries:
* Put everything you want to see as a library element into it's own top cell
* Save the GDS file with a meaningful LIBNAME (see GDS writ…
@jiunnweiyeh Did you try the "scalable font" setting?
It's here in File/Setup:
(Image)
You need to choose a scalable font (every font which is not "default"). You also need to specify a text size unless the Text object provid…
Yes, that is what I also propose. A session holds the loaded layouts, images, rulers and other settings, specifically the image scaling, position etc.
Here is a little trick to prepare a view without a layout: in the macro editor's console, enter:
…
DRCEngine is actually an implementation detail and not part of the public API.
You can find this class in the sources here: src/drc/drc/built-in-macros/_drc_engine.rb.
Matthias
Hello @jiunnweiyeh
Basically that should work.
There is a problem, if your TOP cell contains a single text only. In that case, KLayout thinks the cell does not have an area and will not show the text.
But that is only a problem when there is a si…
I'm not sure ... the Python library should not be need to be listed explicitly as libklayout_pya.so is already linked against it.
Like in my case:
$ ldd build-klayout-Desktop_Qt_5_15_2_GCC_64bit-Debug-QTBindings/libklayout_pya.so linux-vdso.so.…
If you have a polygon, you can get the shortest and longest edge this way:
min_edge, max_edge = polygon.each_edge.minmax { |a,b| a.length <=> b.length }
Matthias
I replied to the other post: https://www.klayout.de/forum/discussion/2295/using-python-script-how-to-delete-all-shapes-in-a-layer-without-deleting-text#latest
An @dick_freebird, no there still isn't because the commands are not routed through some …