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
Hello,
if you have a KLayout technology file (*.lyt), you can simply import the file using "Tools/Manage Technologies". The right-click on the technology list (left panel) and choose "Import Technology". To produce a technology …
At least on my Ubuntu 24 GNOME the file dialog opens in the current directory as expected.
On Windows for example, the file browser has some smartness built in to remember recent places, but that is not something I can change.
Matthias
There are a number of options:
1.) Use a technology. This technology is stored as a .lyt file in <klayout-home>/tech/<name of tech>. This folder is a package that can be given to others including companion files such as layer properties…
I don't know what "myscript.rb" is in your case, but this works for me:
myscript.rb:
mw = RBA::Application::instance.main_windowmenu = mw.menumenu.action("file_menu.save").visible = falsemenu.action("file_menu.save_all&quo…
This is a feature of the system file dialog. It's not a KLayout feature. Your Window manager provides this dialog and there should be some documentation somewhere.
On the GNOME desktop that comes with my Ubuntu 24 I can pick "Add to bookmarks&…
Are you maybe trying to run KLayout in batch mode?
"MainWindow" will not have an instance in that case. Hence RBA::Application::instance.main_window returns nil. In normal GUI mode, this should return the main window object.
Matthias
Hi @Bigb,
That is difficult to debug then. There is no obvious issue.
Maybe your organization has firewall rules in place which do not allow access to external servers? The first level of access is plain https, but in the next level - when downloa…
Hi @neil,
here is my solution. The script is Python and can be run on the sample layout you provided. If you don't see the layer 100 generated use "Add Other Layer Entries" from the layer list's context menu.
The idea is to combine two v…
I just confirmed everything is working fine currently. The error does not indicate a particular issue.
What is your KLayout version and OS? Is the problem reproducible?
Hi @sekigawa,
The virtual environment implementation of Python is not fully compatible with embedding Python. As I understand the implementation, it is based on the call path of the Python executable. If you create a virtual environment, a link to …
Thanks for reporting this issue. That's embarrassing. It's side effect of that bugfix https://github.com/KLayout/klayout/issues/1864.
I have created a ticket: https://github.com/KLayout/klayout/issues/1874
Kind regards,
Matthias
Hi @ravn,
There is no simple answer to that question.
Basically, when you create a float-typed object inside a PCell, it is stored inside a remote cell that lives inside the library. In that step, the object is converted to database units. For thi…
Hi @fawqati,
* You can basically place a .klayoutrc template into the central KLayout installation. When KLayout initializes the home folder for the first time, it will copy this template into the user's space. But that happens only once. When a us…
Yes, the next minor release (coming soon) will contain a Ubuntu 24 version.
You can try master already from here: https://www.klayout.org/downloads/master/
Matthias
Yes "surgically" is what is needed here :)
Here is a counterexample: Think of a via cell - the via has a pin, because it will connect to some metal above on the lower and upper level, It will probably also have two pins.
But I am quite s…
Thanks @tomas2004 for this comment!
I should add that anisotropic sizing can have surprising effects with all-angle geometries and corner cut-off. Essentially, anisotropic sizing translates into an edge shift that is depending on the angle of the …
Hi @fawqati,
this is how it works for me on Ubuntu-24 with Python 3.12 and klayout-0.29.6, built locally for Ubuntu-24:
# after activating the venvKLAYOUT_PYTHONPATH=${VIRTUAL_ENV}/lib/python3.12/site-packages klayout# batch modeKLAYOUT_PYTHONPATH…
Hi @r_user_ant,
yes, sure. I am always interesting in fixing crashes.
You can send the file to "contact 'at' klayout . de". I will keep it private if you ask me so.
I also need an brief explanation how you can reproduce the crash.
Than…
Hi @Ege_Bey,
I think that is an effect of a Qt version upgrade in the KLayout Windows package. It probably needs some more DLLs - probably the ones in "platforms". You may also want to include "cert.pem" and the files from "…
No, and there will not be one.
In my opinion, updating to a newer version should be a conscious decision. Otherwise a release of mine might break thousands of installations and I don't want to take that responsibility. KLayout is an offer, and it i…
Hi @barlow,
"cheat" comes with side effects, that it is why it is called "cheat".
I have started to work on improving the device extraction. This may render "cheat" unnecessary in many cases. The branch is here: https…
Hi @dick_freebird,
properties are basically available, but those are not standardized (only numbers) and I feel they are not commonly used and have to some limitations. GDS is basically only a serial format listing instances, so no index of any kin…
Hi @dick_freebird,
Problem is: GDS does not have instance names. There is no way to store them, except through properties, which are not standardized.
KLayout does netlist extraction into a database, which is stored along with the data in the LVS …
KLayout has a "paste & move" option - maybe this is what you are looking for. It is called "paste_interactive" and basically does "Ctrl+V" + "Move". You have to bind it to a key before you can use it. In t…
In the last 10 years a lot has happened :)
Here is one solution: use a special DRC script. Assume, layer 1/0 is your top metal and 2/0 is your passivation opening that defines the pad (or any other second layer).
Here is my test case:
(Image)
H…
Wow ...
I came to this point while trying to follow this discussion:
(Quote)
And yes, there is: https://www.klayout.de/lyp_format.html
I hope it is still up to date. :)
Matthias
No there is not. You're referring to to the how Virtuoso does it.
I personally hate the Virtuoso way. I never get the position right with Virtuoso. And sometimes I want to pasted things to be at exactly the same position than before - e.g. when por…
I'm afraid ChatGPT is wrong here. I am not providing a Gerber export plugin and to my knowledge there is no other implementation.
Technically, Gerber is not well suited to GDS. GDS is mainly based on (piecewise linear) polygons. It has paths and bo…
Hi @ashkan,
That must be a very odd version you have used then :) ... anyway, thanks for letting me know. Good to hear it works now.
Kind regards,
Matthias