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 @dick_freebird,
you're right! ... I forgot to mention that.
(Image)
You can set the limit to a high value, but if there are may violations (>10M), it's better to write the markers to a layout layer. You will not browse single markers in th…
Is that ChatGPG hallucinating?
You cannot create a Layout object simply ("lto") and hope the cell you are creating there ("top_cell") will magically be transferred into your drawing. That's not how things work.
Here is an examp…
The Gerber Import feature does not have a full API, so the only way I see is to generate different ".pcb" project files (which are simple XML) and use them to convert the layers.
This is something you can do outside the application with a…
Please try without Debugger on, i.e this button unchecked:
(Image)
The debugger discards paint events. As it runs in the same event loop than the application, setting an event filter in Ruby or Python would otherwise make the debugger being captu…
Here is my test case:
(Image)
(see attached file)
Script:
report("Discussion 2727")FE_Core = input(1, 0)negative_angles = FE_Core.corners(-180..-100)positive_angles = FE_Core.corners(100..180)FE_Core_angle = negative_angles + positive…
@dbsdyhxx I am sorry. This is not a test case. This is just four lines - no layout file or the rest of the code.
A proper test case is a complete, executable script and a layout file.
At least, maybe you can answer my question above: are you using …
Hi @wsteffe,
I don't think there are serious limitations, but I don't want to maintain another packaging system. That is simply too much trouble.
Matthias
It would help if you show a little more of your code than just the end.
I understand that you loop over the shapes and probably do some shape-by-shape interact or something like this.
Apart from being super slow, you cannot call "output"…
Hi @Alexander,
You don't need to build yourself on Windows - you can download the 64 bit coordinate version from the downloads page. See https://www.klayout.org/downloads/Windows/klayout-0.30.1-win64-c64-install.exe for example for 0.30.1. It is ma…
Hi @dick_freebird,
thanks for this comment. The way I usually see this implemented is in two checks - let's say a category "warning" for a space of x and a category "must be fixed" for a space of y with y being smaller than x.
…
I agree with @dick_freebird. Sometimes I see dicussions being reopened, but usually there is enough discipline people would start a new thread.
Matthias
@dbsdyhxx Some more details are helpful. Are you using "deep" mode? In that case, the errors will be reported once inside the cell if possible.
I will not be able to debug the problem without a test case. Rushing me won't change anything …
By ABOVE you mean at larger y values?
In general, DRC functions are made to be isotropic primarily. So there is no specific way of saying "above" in a sense of "coming from north".
One operation with built-in anisotropy is &quo…
Spikes are not considered "real" by KLayout as they have a zero width. On merge they will be removed as they do not have an area - similar to degenerated polygons such as boxes with no height.
As merging is implicitly implied by most func…
Yes, actually that is a good question.
I think, organizing PCells that way is already very clear. Usually you would base your PCell code on other utility modules which then sit in further modules.
If you make your PCells thin wrappers around some …
Hi @BigPanda,
thanks for these suggestions. Problem is that the Vanilla Forum software is no longer maintained (https://open.vanillaforums.com/discussion/39620/higher-logic-has-terminated-open-source-vanilla). Hence, my options are limited.
I woul…
Hi @lukasc,
I tried with the PCell example code (the Circle). This creates a hidden parameter called "ru" which is the effective radius. It is determined from the handle or the input, whatever is more recent.
I used this call to get that…
In the solution above, where you use a width to detect the blue area, you can basically derive the bounding box of the error marker, like:
bboxes = l1.width(0.2.um).extents
Now, if the length you want to check is larger than the width, you can use…
Hi @"안준용",
the intention of a DRC check is to indicate the positions where the desired width or space is violated. The goal is to have zero violations - i.e. you have to fix them, regardless how much the space or width is violated. Cor…
If you have OASIS with large coordinates, you need to use an 64bit coordinate build. For Windows it's available as the "c64" binary. On Linux, you will need to build it yourself with the "-with-64bit-coord" option.
By default, c…
I think that's possible, but in Python, multi-line comments are simply made by putting the text in triple quotes, right? Is that much more difficult than having a shortcut.
Frankly, I don't intend to compete with PyCharm. The IDE is a basic thing a…
Hi @BigPanda,
I'm not sure I understand.
I think you have a number of design rules you need to implement.
Do you have some drawing that explains these rules?
Matthias
Hi @wsteffe,
I don't have such an editor, but I like to point out, that the notation of KLayout is actually very complex.
It embeds the DRC engine which allows generating layers before using them for stackup.
Reason is that in VLSI, geometries ar…
Hi @BigPanda,
the "D" types are not extensions of the "non-D" types, but different flavors. By convention, the "D" types carry coordinates in micrometer units, while the "non-D" types carry coordinates in int…
Yes, basically I just need to add them to the build system.
Problem is often that these packages require a system update and that often breaks other things. So I am very cautious with these kind of upgrades. But I can try.
The Windows installers a…
That is because "extent" without a layer is a global bounding box and this will always include all objects, texts included.
I meant you should take the bounding box of some polygon layer. Usually there is some design layer defining the ch…
@Liyuan,
Yes, texts are counted too.
But only, if you use "input" to read a layer. If you use "polygons" instead, the layer will not contain the texts. In the same fashion, when you use "labels", the layer won't conta…