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
@bluemountain30 KLayout is trying to access your network and if it's stuck that's a problem there.
Run KLayout with a reasonable debug level (e.g. "klayout -d 31") and maybe you will get some details there you can share. Without more info…
@intervalrain That's an interesting challenge :)
There is no short boolean operation which does that. But I think this operation should do the job:
l1wh = L1.with_holes(1, nil)inner_holes = (l1.holes - l1wh).without_holes(1, nil)
Matthias
@floz Thanks for this description. I see you're on Windows.
I'll try to reproduce the problem although there is no warranty. Random fails are always difficult to trigger.
Matthias
@stolbikov You're right. The option is in LEF, not in DEF.
Anyway, the option means to take the geometry from LEF. FOREIGN usually implies that there is an external source of layouts for the macro cells (typically GDS). Hence in the default setup, …
@stolbikov Please check if your DEF file contains FOREIGN statements. In this case, you may want to use the "Always produce LEF geometry" option for "LEF macro geometry" in File/Reader Options, LEF/DEF page, LEF+Macro Files sub-p…
@floz Nice proposal, thanks.
It will however not be easy to implement as rulers currently have a maximum number of two points. But basically it should be possible to extend annotations to three points as well.
I have created a ticket for this requ…
The dump does not tell a lot.
Could you explain a bit more in detail what you are doing? Do you adjust the dimensions by dragging the ellipse or do you change the values with the properties dialog? Are you closing the dialog or do you keep it open?…
@TommasoLunghi Basically, HTTPS is supported. Error 6 is a TSL/SSL handshake error. As @sebastian mentioned, it's likely that a certificate issue is the reason for the fail. The most common problems are self-signed or expired certificates. Firefox …
@Akash Is that related to this ticket? https://github.com/KLayout/klayout/issues/897
The fix is not released yet, but the problem occurs if empty (more precisely: non-existing) layers are involved.
Matthias
@raji There is little to add to Eugene's summary. Your assignment is pretty unspecific. What does "print" mean? If a PNG screenshot is sufficient, then the job is to populate a LayoutView with the proper objects and then generate an image …
@dion I tried to explain that the reason for the area dependency isn't the processor, it's the polygon normalization. That is essentially happening in polygon_contour::assign (dbPolygon.h, line 247++) if the "normalize" argument is set to …
@garry The clip function is fundamentally different from anything the Region can offer. It will perform a clip hierarchically - i.e. generate clip variants of cells and use those if a cell is partially cut. It will maintain sub-hierarchies unless a …
@nofal There are a couple of problems in that code.
First of all, the layer index is not the GDS layer number (that's why it's called "index", not "number). So you cannot simply iterator from 0 to 255 and then compare 1 with 1 and 2 …
@nofal Good to hear :)
My own experiences are somewhat indifferent - sometimes deep mode is very fast and lean, sometimes very slow. For being of good use in general, deep mode definitely needs some polishing.
@dion KLayout tries to normalize the orientation of the incoming polygon, hence the area dependency. The part with the larger area will determine the orientation which is detected.
There is no way to turn off that normalization from the Python or R…
I have tried to explain that here: https://www.klayout.de/doc-qt5/manual/drc_runsets.html#h2-948
But documentation is hardly appreciated, never good enough and quickly outdated. Plus English isn't my first language, so that doesn't make it easier.
…
@nofal Thanks for your feedback.
When you use DeepShapeStore, you need to create a single one and make sure the Regions share the same object. It's a container for the internal data that deep mode needs for it's computations. You also need to make …
@marwaneltoukhy You're right the limitations are exactly the ones you describe. Sometimes you can use worst-case estimations, for example for with_area: Consider you need to check for a minimum area of 1 square micrometer. If your layout features ar…
@akita11 The paths are resolved relative to the current directory and this is the one you start KLayout from. I assume that MacOS uses a different place than Windows.
You should take the file path from "crt_ly.filename" which gives you th…
@stolbikov I have only one explanation left: maybe /bin/klayout has the SUID bit set (for an explanation see here: https://linuxhandbook.com/suid-sgid-sticky-bit/).
If that's the case, this would explain why KLayout can modify a read-only directory…
@andyL Would you mind filing a ticket for the Python3 switch on GitHub (https://github.com/KLayout/klayout)?
But I don't see that building from the sources is much more difficult with the new release. What are the problems you encounter specificall…
@Tristian I'm afraid I don't understand the first question. It's possible to integrate DRC into a technology so you can run a technology-specific DRC, but you want the DRC to trigger a technology change?
When you have multiple cells in a layout fil…
@Weiling_Zheng I'd not recommend the "hierarchical mode" for now - it needs some polishing to be useful in the general case.
"Heal resulting shapes" will try to merge XOR shapes which have been cut during the tiling step (i.e. c…
@dion The key is the mode you're using. In your case there is also the min_coherence parameter which is important.
For the mode parameter the documentation says:
(Quote)
KLayout tries to normalize polygons so they have a positive wrap count, but f…
Mine either :)
I did not want to imply you sound demanding. I just wanted to give an advice: try adapting to the tools you have instead of focussing on a specific path which may be difficult to take. Engineering is mostly making the best from the m…
@marwaneltoukhy No, sorry, I just confirmed that the Ruby script I showed works (I added the missing '#' at the beginning).
But maybe your input files are identical? In this case the XOR output is empty. That's how XOR says the files are the same.
…
@stolbikov Why is the path in the error message starting with a slash ("/klayoutrc")? You say you're calling with "klayout -c $KLAYOUT_BASE_PATH/klayoutrc" ... so maybe "$KLAYOUT_PATH_PATH" isn't set?
Basically no user…
@Weiling_Zheng
If you mean geometrical equivalence, there are two tools for this, both in the "Tools" menu:
* XOR
* Diff
XOR does a mask check - it will report places where the polygons differ. It does not check for logical equivalence …
@aprxl The properties dialog now acts instantly when you change a value, so there is no "Apply" anymore. Using "Change all" will apply the changes immediately to all selected objects once you have enabled this feature.
Here is a…