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
@Rakesh
write("t.gds") will use the current directory which can basically be anywhere. On Windows, you can configure the shortcut to specify the directory where a program starts in and by default I think it's the installation path. If tha…
Sorry, I don't get it.
You're computing the diagonal of the bounding boxes (BTW: why round(3)?) and put them into an array. How is the array length related to min pitch? And what is minValueCheck?
Matthias
Have you enabled all hierarchy levels? Try to press "*" or use Display/Full Hierarchy.
The parameter names are "layer", "npoints", "actual_radius1", "actual_radius2", "actual_start_angle" …
@mikamar One more thought: maybe there are high-resolution monitors involved?
And if so: Could you trun running KLayout in one of the compatibility modes?
Thanks,
Matthias
Hi,
I'd appreciate if you'd open a new discussion instead of adding to an existing one.
Layer is a layer index (get it from "layout.layer(7, 0)" for GDS layer 7/0). Did you consider this?
My recommendation to set "radius1" to …
@tomas2004 Thanks for pointing this out.
However, you do not necessarily need MenuAction today. An Action can be directly bound to code using "on_triggered":
action.on_triggered do ... your code ..end
Best regards,
Matthias
Thanks for your comments, they are very welcome!
Actually the intention of the ReaderDelegate wasn't to support any kind of Spice dialekt, but mainly to adapt X-based device models to one of the device models supported by KLayout.
I have created a…
Dear all,
thanks for the discussion.
Actually, KLayout does not read three-terminal devices from Spice netlist. It's possible to extract devices, but how to describe them with the plain "R" syntax escapes me. You can model them as subcir…
Isn't that the weird "mouse wiggling bloats window" mode of Windows?
I don't see this behaviour too. Some Windows setting or a mouse problem maybe?
Matthias
@Frank Very good. That's basically the way I had proposed too.
A warning from my side: people who ask for pure images usually want to use the images for some purpose - even mask making. Don't use these images for production purposes! They are made …
In order to create a cell variant, create a new cell and copy shapes and instances of the original cell, like this:
variant = layout.create_cell(original_cell.name)variant.copy_instances(original_cell)variant.copy_shapes(original_cell)
You'll then…
Well, perfectly reproducable ... :(
Thanks for reporting the bug. I have created a ticket for this: https://github.com/KLayout/klayout/issues/793. There is a patch already which fixes this bug.
I'm afraid there is no other way to detect images whi…
Hi Jim,
I can help at least with the tool bar bindings:
Maybe you have noticed that all tool bar entries are replicated in the Edit/Mode submenu. Correspondingly, the "Polygon" toolbar entry for example can be keybound here:
(Image)
T…
That's a bit weird - I have tried to reproduce the problem without success.
Basically KLayout's installation should come with all the libraries required and does not make external references. This used to be a problem in some older versions, but th…
@"Vincent Lin" The order of first_edges is not defined. It's an edge "set" which means it's a non-ordered collection. This is specifically true for hierarchical mode, when there isn't even a linear set of edges.
If you want to k…
This is weird. Basically after you have inserted the cell instances, "layout.top_cells" should give you only a single cell.
You can print the number of top cells after the loop to verify this.
You should also check if:
* "topcell&q…
Dear all,
maybe a need to shed some light on that:
The "connected" feature basically is quite simple if you can tag polygons with their net ID. You only need to check distances between polygons with a different net ID to implement CONNEC…
You can't with RPM. The RPM is tied to 2.7 on CentOS 7.
You'll need to build from source if you want to customize the Python version. You'll find build instructions here: https://www.klayout.de/build.html
On CentOS 8, the Python version is 3.6.8.
…
@ajantonio47 The feature @tagger5896 suggested will help you. But you need to calculate the position of the reference point.
If for example, your layout is originally at 0,0 with the lower left corner, chose "lower left corner" as the ref…
@dick_freebird I recall the three functions have been introduced on your request :)
@tagger5896 This code is essentially what some users use to establish a fixed configuration. For the conversion of the mapping array to a string, KLayout provides a…
Hi Jim,
"shallow select" is identical to "View/Select top level objects only". So if it's off, selection may also select boxes from subcells and I suspect the contacts live in a cell of their own. So essentially you delete the b…
Just specify the box you want to draw instead of leaving the decision to the function.
Here is some code:
lv = pya.LayoutView.current()ly = pya.CellView.active().layout()# top cell bounding box in micrometer unitsbbox = ly.top_cell().dbbox()# comp…
Well, KLayout comes with everything it needs (apart from some very basic system libs such as kernel32.dll). In the past the OpenSSL DLL was missing, but I fixed that. So it's not quite likely that this fails.
However, custom macros may cause such a…
@tagger5896 Well, actually "Polygon#ellipse" is already doing that but I enjoyed this conversation :)
Here is an example (12-point circle with a diameter of 1000 DBU and centered around 500, 500):
pya.Polygon.ellipse(pya.Box(0, 0, 1000,…
@sheikh_nir The layer numbers you need for "copy" are "layer indexes", not particular design layers. A layer index is an internal number of the layer. A design layer is given by a combination of layer number and datatype number o…