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
@jiunnweiyeh You can use the RecursiveShapeIterator for this purpose.
ly = ... your layout ..top = ly.top_celllayer = ly.layer(1, 0) # TODO: takes layer 1/0iter = top.begin_shapes_rec_touching(layer, RBA::Box::new(-500, -500, 500, 500)) # TODO: …
@jiunnweiyeh You do not need to generate output layers if you do not need the layer later.
Instead of
PI1.inside(DIE).output(51,1000)PI1_IO=input(51,1000)
you simply say
PI1_IO = PI1.inside(DIE)
to save some memory you can delete a layer once y…
I see. Here is a recent discussion which shows how to instantiate PCells and form arrays: https://www.klayout.de/forum/discussion/1849/scripting-serial-numbers-for-identical-devices#latest
Matthias
@davidnhutch Thanks - but ideally there was a kind of standard for drill files without need for setting the data format. Any idea?
You can actually code the netlist generation directly without a technology. The key to this feature is the "Layo…
@fruitspunchsamurai Thank you for the conversion.
But I disagree in one respect: Python's sort key feature is not a compare function, but just a key selector. I found that quite limited. If you insist on a challenge, here is the short Ruby version…
Hi @fruitspunchsamurai
The second method will not work as you cannot change a PCell per instance. You can change it only once which will make all device instances use the same number.
So the first method is the only way to do that. The procedure i…
Hi Eugene,
basically you can change the window title this way:
pya.MainWindow.instance().windowTitle = "New title"
This works because pya.MainWindow inherits QMainWindow. However, the title is reset when KLayout loads a new file or the …
Very good :)
To be frank, I do not fully understand the explanation the Qt people give for the scaling behaviour and how to properly implement it. There will be a time when I'll catch up with monitor development and get a 4K monitor and get into th…
@ashkan This is how I do see the error:
(Image)
I see that it's kind of difficult to highlight the cause and to rectify it - i.e. the entry box does show 3, but in fact the value has not changed. But basically, raising an exception makes the PC…
@ackusingh Right now, there is no special palette for the datatype number (stipple is cycled though)
There are many potential coloring schemes - but I think that in reality people would create a setup (layer properties file) according to their need…
@dick_freebird You're on Windows, right? So I'd set the environment variable in the control panel: System / Edit environment variables for your account:
(Image)
Matthias
Maybe there is a simple solution: Qt provides internal scaling.
Could you try setting the "QT_SCALE_FACTOR" environment variable to "2"?
Another option is to set "QT_AUTO_SCREEN_SCALE_FACTOR" to "1" which wil…
@nofal Of course that has seen some updates ... LEF/DEF reading is an integral part of KLayout now. But writing will not be supported. LEF/DEF has a different scope than GDS.
Matthias
@tagger5896 Looks like you are editing the text of a file that has been moved away or deleted. The tab will not close automatically but is grayed out because there is no corresponding file.
Close the tab and reopen by double-clicking on the file i…
@dai Thanks for reporting that. I could actually reproduce it. The special case is to close the source layout before saving the other one.
I think that will be easy to fix. I created a ticket for this: https://github.com/KLayout/klayout/issues/835
…
@roob JSON is just a general data container such as XML, YAML or CSV. JSON becomes real data only if you impose a data scheme defining the attributes, types and interpretation.
You're saying there is a particular JSON scheme which describes GDS, OA…
@ashkan Just raise an exception, like this
raise "An error happened"
But the intention of "coerce_parameters_impl" is to confine values, not to raise exceptions.
Matthias
Hi Jim,
there are supposed to be a lot of compatibility options on Windows. I don't own a 4K screen, but some high-res laptop screens. For those, the system can be switched to larger application fonts and KLayout will simply inherit them.
In addit…
@frostchu The GDSII format employs a 64 bit, base-16 floating point representation (see here: https://en.wikipedia.org/wiki/IBM_hexadecimal_floating-point). Neither the IEEE 754 format used in today's CPUs nor the IBM format can exactly represent a …
Very good :)
I have initiated standard builds for wide coordinates on Windows. I do not recommend using them, but I'll try to make them available for download for future releases.
Kind regards,
Matthias
@raji The bottom part of the script actually provides the solution with a few modifications:
module ExtractPointsinclude RBAmyListx = []myListy = []ly = CellView::active.layoutlv = Application::instance.main_window.current_viewlv.each_object_select…
@ZuyuanTian I can offer the documentation which is online:
Basics: https://www.klayout.de/doc-qt5/programming/index.html
PCellDeclarationHelper: https://www.klayout.de/doc-qt5/code/class_PCellDeclarationHelper.html
Matthias
@phlion As wide coordinates take twice as much memory I have not enabled them by default and it's still kind of experimental. So far I have not seen many requests for wide coordinates.
You can find regular builds of the master branch including 64bi…