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 Vincent,
DXF does not really support filled polygons (except through hatches). All that KLayout does is trying to stitch the lines. There are different strategies you can find on the "DXF" page in the "File/Reader Options" di…
Very good :)
I have released version 1.8 for the benefit of other users. But I have also frozen development except for maintenance. The project feels like having opened Pandora's Box.
I wish you better luck with your implementation :)
Matthias
I guess you are using some flow. Please consult the flow documentation.
Basically you can view the report with klayout <layout-file.gds> -mn <lvs report file>.
Matthias
Hi @Ege_Bey,
0.27.13 is already pretty old. So you never used 0.28, I assume.
What OS and which Python version are you on? I assume there is no support for your OS/Python combination and pip tries to build from sources. This fails if you do not ha…
Hi @PavelSmirnov,
Sorry for missing the issue in the XSection repo. I am not really active there - I personally consider the XSection thing some toy tool. It is hard to believe what people actually use it for.
But you're right. Batch mode needs th…
The more elaborate solution is to load into two separate layouts and merge:
ly1 = pya.Layout()ly1.read("file1.gds")ly2 = pya.Layout()ly2.read("file2.gds")# merge ly2's top cell into ly1's top cell# NOTE: "move_tree" wi…
I think security features are not responsible here.
Basically, when you run a binary, it is always built against a certain version of a library. When KLayout calls functions from another library, it will do so under the assumption that these functi…
Hi @Default,
You mean the PCell drawing code decides itself, what the parameter value is?
In short: don't do such a thing.
KLayout's design is based on the assumption that same parameters mean same layout. This is the basis for caching and persis…
Hi @tgustafson,
I would call it a bug in the old version to accept illegal GDS files. Basically the results are unpredicable, and it is very easy to spoil your design this way. KLayout may show you a layout this way, but once you submit it to manuf…
My opinion as well! Thanks @StefanThiede.
Technically, GDS references cells by name. So if two cells carry the same name you cannot decide which cell is targeted when a cell is instantiated.
The GDS reader initially joined cells with the same name…
Yes, exactly.
Hidden parameters are a way to store information persistently (i.e. inside GDS files). That is the only way to store information generated inside PCells. Everything else is "write only".
Matthias
Hi @sekigawa,
That is interesting, but it is kind of unintended ... I need to check myself why this is working. It may depend heavily on Python internals which is not good as it would change with other Python versions :(
Thanks,
Matthias
Hi @Peter123,
I am sorry, but that is not supported natively.
Unlike Unix, on Windows, a link (*.lnk) is not handled by the file system, but by the shell. A "lnk" file is a binary file, nothing more, so an application needs to be coded i…
Wow ... with cars! :)
I actually consider adding an option to "corners" so that you can say "take angle left or right", i.e. "corners(90.degree, both)". That may make thing easier. Right now, you need to check both 90 …
Hi @jiunnweiyeh,
This script changes what layer are displayed, not the layers themselves.
So you need to change both the layer number of the layer displayed and the layer number in the database:
mw = RBA::Application::instance.main_windowview = R…
Hi @Default,
thanks for the test case.
So to rephrase the problem: you want to find edges connected to an edge with length 1.0µm and forming angles other than 90 degree with that edge.
So like these corners:
(Image)
Right?
In order to find th…
So you mean you installed KLayout on some CentOS 7 on some local machine, simply from the RPM and it will crash on exit?
I mean that is exactly what I did, but with VirtualBox and starting with a plain CentOS 7 installation with Gnome. I don't see …
Because KLayout is not a Python interpreter. It only embeds one.
You have to use variables:
klayout -rd varname=value ...
Inside your script you can use the variable like this:
# prints "value":print(varname)
Matthias
Hi @wildwolfcj,
KLayout writes a very simplistic form of DXF. DXF writing is not in the scope of the KLayout project. I may improve that in the future, but I am not an AutoCAD user, nor do I have specific knowledge about DXF.
Apparently people hav…
Hi @Sepbe,
The solution gets somewhat difficult if you consider the case of array instances: if one instance of an array cross the polygon boundary, you first need to flatten the array.
Without considering array instances, here is some code. It us…
@Theo,
I tried a VirtualBox instance with CentOS 7 and the 0.29 version. Different combinations - RPM, unpacked RPM, self-built ... all appear to be working fine.
I also scanned with Valgrind and apart from the usual noise from Python and Ruby the…
You can get the dependencies with
rpm -qp klayout-xyz.rpm --requires
There is a flatpak version of KLayout: https://github.com/KLayout/klayout/issues/125. I have not tried myself, but may you are able to use that? It should avoid the dependencies …
@wildwolfcj The forum links changed from "DiscussionID=xyz" to "https://www.klayout.de/forum/discussion/xyz". So these links should lead you further: https://www.klayout.de/forum/discussion/195 and https://www.klayout.de/forum/di…
Hi @Vikram,
a single line with three backticks before after your code do magic. This forum provides Markdown - the same thing you use on GitHub to format code. Python is not readable without the indents.
From what I can guess, you should take a lo…
Hi @wildwolfcj,
first, please format your code with a single line with triple backticks before and after (Markdown notation, same as on GitHub for example). Specifically Python code is impossible to read otherwise.
Essentially the core functionali…
You can bind macros to menu items in the macro properties. This way, you can close the IDE and run the macro by selecting the menu. But if you disable debug, the effect should be the same.
Having debug mode on is not a potential crash risk - which …