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
No, that is not a know issue.
";" is apparently intended as a comment character. It is allowed inside text strings and property names, but not inside cell names.
I need to say however, that the text format read is contributed code and I …
Hi @TTR572,
No, right now there is only the temp file approach or using (slow) pixelwise transfer.
If you want creation from a bytestring or QImage or PixelBuffer (without Qt) raise a ticket on GitHub.
Matthias
@dick_freebird This is strange. "valid layers" does not refer to validity of a layer - this is only the ability to select shapes from such layers. It means no layer is selected for editing the properties.
I think this is what happens: you…
For OASIS the allowed characters are well defined, but for GDS there only exist conventions.
In my experience safe cell names in GDS should be short (<40 characters) and use characters from ASCII letters (lower and upper case, case sensitive), d…
Looks like the behavior is built into Windows style, so it cannot easily be changed by the application. A special style sheet was a solution, but I know this is tedious and I'd rather like to spend my limited time on something useful.
A quick fix i…
@Nacer please take a look at @RawrRanger's nice description. This is the way to generate polygons ready for mask making. If you make them big enough and observe the design rules, you can read them on the final die.
Matthias
@chgli The loop is not quite efficient, so it's not a general solution.
I don't know why you call the boolean output "wrong". The polygon with the hole is the canonical representation. The only problem is that GDS and OASIS do not support…
@dick_freebird I guess you like to have some "auto save" feature.
There was a discussion about this here: https://www.klayout.de/forum/discussion/comment/9350#Comment_9350. There is a small Python script implementing auto-save.
I tried t…
@ManzAutomations Your code does not execute, so I can't debug the problem.
In general you need to properly set the widget's parents in order to establish the Qt ownership. This is prevent Python from destroying the widgets once the variables go out…
Dear all,
thanks for this fruitful discussion, specifically to @RawrRanger providing the code example that nicely reproduces the problem.
I debugged the issue and frankly, it's a feature. Namely during iteration of the instances, the layout is pu…
Ha, you caught me. That is undocumented :(
The method version is called "visible_" with a trailing underscore. So you can use:
local_visibility = layer_properties.visible_(False)
Same should work for the other attribute/method overloads…
@RawrRanger Many thanks for your efforts to support this case!
The magic code for disabling the scale bar (ruler) is:
layoutView.set_config("grid-show-ruler", "false")
You can basically set every property that is available in …
I agree.
The problem can be fixed by evaluating QFileDialog::selectedNameFilter in all the places this class is used for selecting a file in save mode and adding the respective extension unless there is one already. QFileDialog could do that for me…
@tomas2004 Yes, that's correct. The cursor in not on the shape when you enter the menu :)
The achitecture is uniform, meaning keys can be bound to menu items, hence there needs to be one. But I agree, that is not really intuitive.
Matthias
@wsteffe I know that is somewhat annoying, but the file dialogs behave differently on every system and I rely on Qt to to provide a common API. I do not want to work around issues there and rather accept it the way it is.
Matthias
@RawrRanger Many thanks for this nicely prepared report. For me the files crash without "convert to static".
I assume something is broken with your PCell code (which I do not have). Analysis shows that the Pcell produces path objects with…
@ManzAutomations There are tons of functions to achieve this and they are not hard to find:
* General: https://www.klayout.de/doc-qt5/programming/application_api.html#h2-154
* LayoutView class: https://www.klayout.de/doc-qt5/code/class_LayoutView.h…
Very good. Thanks for this post!
You can insert this statement to make sure the new layer is shown:
layout_view.add_missing_layers()
Kind regards,
Matthias
@tomas2004 Tap basically displays the (visible) layers below the cursor. If you click on one you change the current layer to that one,
It has a number of use cases. Here are two:
* See what layers are there. Good for many overlapping shapes.
* Att…
@Costakon Why "unexpectedly"? :)
Regarding your question: pitch and space are two competing specifications. Basically the larger wins.
With a space of 0.5 and a pitch of 0.0, the horizontal distribution looks this way:
(Image)
With a …
Dear all,
many thanks for this discussion and the nice contributions.
In general, the problem arises when path segments are shorter than the half-width of the path. This is a situation that should be avoided for well-formed paths (some foundries h…
@jviram If you want the line end to be perfect 90 degree, you need to make sure the last segment (the line between the second-last and the last point) is exactly vertical. The end cap is constructed perpendicular to the last segment ("S" i…
This method bears the risk of cell name conflicts. If the original layout contains a cell called "TOP" it will be spoiled by reading another layout with "TOP" in it. This risk is not present if you load the logo layout into a dif…