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's not just art purposes ... that's a buggy triangulation implementation :)
But it's debugged now and I want to use it to interface to other tools, like FastCap. But that's not ready for release yet.
Matthias
You use "Layout#set_info" (https://www.klayout.de/doc-qt5/code/class_Layout.html#k_143) with the layer index and the new LayerInfo object.
To change just the name, use
index = ... the index of the layer to changeinfo = layout.get_info(in…
"Save as", select "0.000001" in the DBU
(Image)
hit Ok, open again and here it is:
But - again - 1pm DBU is insane. There is no physical reason to get that small (the atomic size is about 0.1nm) and as the coordinate space …
You gave the answer already: expressions are only supported in symbolic layers - so like this:
import pyatracer = pya.NetTracer()tech = pya.NetTracerConnectivity()tech.symbol('15NOT2', '15/0-2/0')tech.connection('15NOT2','16/0','17/0')
Matthias
When you create a layer in a Layout object with Layout#insert_layer you can pass a LayoutInfo object with up to three properties:
* layer and datatype number: mandatory for GDS and OASIS
* name: the layer name stored inside OASIS
like this:
ly = …
No sorry, you can't do that directly right now. Styling is not supported beyond the vertical style and simple grouping.
It is possible to create a button (define a pseudo-parameter with type TypeCallback) and inside the callback_impl create a modal…
@sedborg2 I guess the cells for which you're not seeing an effect of the copy are PCells, correct?
PCells can't be modified - or rather: they are regenerated when you load them. So when you change something inside them (in this case the copy), thes…
Update: I tried on a CentOS7 Docker image using my RPM from the download page.
It looks kind of ugly on a 4k screen (Qt4 does not support high-density displays), but I can't see a crash.
Matthias
@simon_ch If the problem is triggered by application code, the application intercepts the signal and shows a stack trace like this:
(Image)
This information would be useful already.
Not seeing that window usually means that something goes wrong …
@RawrRanger Yes, you're right. The implementation of the Basic Library is C++ and it's similar, but not exactly like the Python or Ruby implementation.
In order to generate Text from TrueType fonts, you can also use QPainterPath::addText and toSubp…
Yes, but that makes sense, doesn't it? In fact, copying a cell creates a new individual copy and as it is not used (placed) yet, it becomes a top cell.
Maybe what you look for is an instance copy in "deep copy" mode?
(Image)
Matthias
Very good. That's exactly the way to solve this problem.
Please note that the database uses 32 bit integers unless you compile with the 64bit coordinate option. That limits the total available area to -2e9 ... 2e9 DBUs and with smaller DBU this are…
@RawrRanger Thanks, I hope this helps.
A note from my side: the notation stems from QKeySequence described for example here: https://doc.qt.io/qt-6/qkeysequence.html#QKeySequence-1
Matthias
Hi @dick_freebird,
I recently added a feature that picks the proper extension if you don't specify one. So far it was possible to save without extension and after that, the "open" dialogs had trouble displaying them. The latest version 0.…
@sebastian Thanks a lot for this update! I personally rarely use all cores for building as I have other interesting things to do in parallel :)
But I wonder if Qt6 is mainstream on Debian now?
It's not very difficult to set up Debian as an additio…
Hi Sebastian,
"assign" is actually kind of "dup" (deep copy), but clearing self first and overwriting it with a copy of the argument. So
a.assign(b)
Will clear "a" and overwrite it with a deep copy of "b".
…
180 should not cause this problem. But scaling with a negative value or zero may.
And I was not able to reproduce the problem is a persistent way. I can trigger it when I scale with "0", but it is not persistent.
Matthias
The network API problem is a generic error and says something like "problem accessing the network stack". I got this problem in the past before I packaged a specific version of openssl with KLayout and some system version was used instead.…
Preceding selections are taken as is - but the partial mode should not select Instances if they are not checked.
I confirmed, 0.28.10 does not do so and I think this was bug https://github.com/KLayout/klayout/issues/1302 that was fixed in 0.28.6.
…
Good question :)
But the reason is the same as there is no DCell, no DLayout etc. Region is only conceptually a collection of Polygons - internally it stores them as Shapes or even Layouts with DBU units. So a DRegion would be the same as a Region …
I think you're using the Python module. That is not supporting DRC as the actual DRC interpreter is using the Ruby language and that is not included in the Python package. The code is intended for the application, not the Python module.
Matthias
Hi @dick_freebird,
you mean Ubuntu .deb package can be used on Debian for example? I'm not sure, honestly I have never tried. I'd not be entirely surprised as dependencies become increasingly generic. But I'd not bet at it.
People already discusse…
No, that's not possible. A PCell is basically code that generates geometry (polygons, boxes etc.).
I assume what you are looking for is something that creates code to reproduce a specific geometry. But that code would only generate code for this sp…
@RawrRanger Thanks for sharing this code!
I would like to add that the tiling processor only solves the issue of temporary memory allocation. That means that for example for boolean operations, the memory overhead is reduced because intermediate da…
Hi @dick_freebird,
I prefer the technology manager because it also allows attaching DRC decks, libraries and other things to a layout via the technology.
In my case, I have created a technology called "sky130A". This will create a folder…
Hello @dick_freebird,
The cell duplication effect is interesting - actually "Ctrl+B" is just an abbreviation of "Ctrl+C"+"Ctrl+V".
So the cell is actually duplicated, but only if the focus is in the cell list. Once you…