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
Maybe you could simply write what your application is. That's probably easier to discuss.
Here my replies:
1. Yes, a cell in a library layout can refer to another cell in that library. But that's a normal reference then, no library reference. Some …
Are you an AI agent? I don't feel like taking to someone who tries to understand what I am writing.
"width" is not work in progress. You have the wrong expectations. What do you call the width of a piece of wire made from a rectangle? It'…
@alto could you please provide some screenshots or some sample files? This description is not enough to understand your problem. I you ask for help here, please try to be helpful as well. There are good examples of nicely prepared requests in this f…
Well, the problem is snapping. As GDS polygons can only be represented as multiples of the database unit (typically 1nm), the corners of the rotated rectangles cannot be represented exactly. Hence the corners will move and these gaps open. What you …
Man, how I hate substituting for AI ...
If you read the documentation of "LayoutView#current_layer" here: https://www.klayout.de/doc-qt5/code/class_LayoutView.html#method70 - it gives you a valuable hint:
(Quote)
That means, it's a prope…
I guess there is a whole field in computational geometry about that kind of approximation you want to achieve. KLayout is not a computational geometry library, but a practical tool. There is no such algorithm built into it. The trapezoid decompositi…
Hi @blueman_44 and @alto,
You're almost there :)
Some magic already happens in nwell.nets. This method will select nets, but more importantly, it assigns the net names as properties to the shapes it delivers (and it also brings hierarchical subnet…
Hi @klayanoob,
I tried the script and it seems to do what it is supposed to. I had three layers, 1/0, 1/5 and 2/0. With the map instruction you give, they get mapped to 13/0 (=1/0 and 1/5) and 14/0 (=2/0). So what do you mean by "you do not re…
You mean, these attributes are getters and you need a setter? :)
Right now, there is no programmatic way to change them, but if you drop me a ticket on GitHub, I will consider that feature for the next minor release. I hope there are not too many l…
Please try to rename KLayout's profile folder. It's located at c:\users\<youraccount>\KLayout. Rename this folder to something different or remove it. After that, KLayout should start. If is does, it means, something fishy was there in that fo…
Hi Remco,
I understand that you can't share the test case. That is quite common. Unfortunately I cannot give much advice without seeing the actual problem.
A general debugging strategy is first to identify the step that causes the issue. You can t…
Hi @Scafir,
I made a lot of progress here.
First, a general problem was related to netlist performance, which degraded in 0.30.6. It's addressed by https://github.com/KLayout/klayout/issues/2277, which brings down the netlisting times considerably…
Hi @remco,
you can upload files by packing them into a .zip archive.
But 96GB memory is insane. Something is badly wrong here. I can hardly image a photonics mask that really takes such much memory to process in DRC.
There are some pitfalls which…
Hi @ChristianP,
A rotation by any angle will induce snapping as @tomas2004 explained. I think his approach is the right one.
Problem is that the rotation is "stupid" and does not remove the cut line before rotation.
Using a short DRC sc…
Hi Kazzz,
thanks for your efforts to support Monterey! Does it make sense to upload the DMGs on the server or is okay to leave them in your place?
Best regards,
Matthias
I am trying to reproduce the run.
Variant "A" wasn't working for me, as the slotting rules need metal5, so I am picking variant "C". But even without, almost all time is spent in the "netlist" step.
There was a ticket…
Well, Select claims "clicked" and "pressed". Both because that is part of the functionality of "Select". A single click will select the object below the click, a "pressed" event will start dragging a selection…
Hi @mikamar,
right now, there is no option to turn that off. The box was introduced when the labels became non-point objects. They indicate the "active" area of a text - i.e. the one where you select the text from. So it was important to …
Maybe you could just explain what you intend to do.
You can enable a mode using "switch_mode". In my example the name of the plugin is "plugin_name" (the second argument to register), so I can switch to that plugin using
view.s…
No, that is not how it is intended.
When the "test_plugin" is not activated, there is no mouse_click_event with prio=False because the active plugin (Select) claims that event.
When the "test_plugin" is not activated, there is …
@taylorn, thanks for chiming in :)
You're right, the RecursiveShapeIterator first of all finds shapes whose bounding box is touching the given search box. That is a first level of identification.
Once you have a shape and you know it is a polygon …
So then let's start with a minimum example:
import pya as klclass Discussion2841PluginFactory(kl.PluginFactory): def __init__(self): self.register(100000, "plugin_name", "test_plugin") def create_plugin(self, manager, dispa…
You have two options:
* After you pasted, the pasted objects are selected. You choose "Move" mode, click on the selection and place it where you want it to be.
* Bind "Interactive Paste" to a key of your choice: go to "Fi…
Hi @CreatedByCreator,
You're using "DTrans" for the transformation, but put it into a "CellInstArray" object, which is by definition using integer DBU units. That is not consistent and the effect is that "CellInstArray"…
Hi Noah,
did you check the documentation?
https://www.klayout.de/doc-qt5/programming/application_api.html#k_11 explains the concept of the mouse events. Specifically it says:
(Quote)
Here is more example code: https://www.klayout.de/doc-qt5/code/…
Hi @engrvip,
The error message is an assertion - so an unexpected condition inside the code.
Checking against the main branch of the IHP PDK, line 388 seems to be a "simplify" call on the schematic netlist. I assume it is related to the …