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 Robert,
As I mentioned, GDS cannot store name keys. It can only store numeric keys. So ```setProperty(1, "Something")` should work.
I do not know if the GDS file/cell level properties are understood by any other program than KLayout. …
Hi @nishtha50376,
First of all, you can format source code here by putting a single line with triple backticks before and after the code. This makes it easier to read.
Regarding your question: the UI accepts micrometer units. It is automatically c…
Hi Hosam,
Debugging on Windows is a pain and without access to your system, I can only guess what is the problem.
The message you see is generated by Qt, not from KLayout. Unless there is a Qt specific debug option I do not think you can get more …
Yes, I can reproduce the problem. Thanks for reporting.
It only happens if the handle is exactly only bounding box of the cell. Looks like it's a problem with "insideness" of points exactly at the boundary of the box.
I have created a ti…
Oh well, maybe :)
I'm not aware of any compatibility issues, but maybe it's a graphic driver thing or similar. I guess only the cell name isn't painted. Data is still there.
Matthias
Thanks for the images.
This is weird. The cell must be there still, but I don't know why it is not displayed. I have not seen an effect like this before.
What Windows version are you using?
Matthias
I think the problem is related to the way, polygons are formed.
DXF only knows lines, but GDS has polygons. So KLayout needs to stitch together polygons from lines. This is basically very tricky - specifically if the connections are manifold like i…
There is a common misunderstanding: KLayout is not a Python IDE.
KLayout comes with it's own brand of Python and does not share modules with other installations such as Anaconda. Basically this is not possible as binary compatibility is not given -…
Hi @dviole,
Thank you for providing the test data.
I was able to read this file with these settings:
(Image)
You see I have used a DXF unit 1µm - so a DXF dimension of "1" corresponds to 1µm.
You are using a DXF unit of 1000µm which …
Very good - but actually all layers are loaded initially. This step is finished once the progress bar disappears and the canvas shows. After that the layers are drawn one by one (or in parallel with multiple threads) - but you do not need to wait. W…
Could you explain what you mean by "lost my top cell"? It's still there - the code does not change that. And when I tried the code I still see the top cell and it's still active.
Matthias
Hi Robert,
GDS in general lacks a standardized way to store attributes in a generic way.
But you can use "user properties", which are essentially key/values pairs. GDS supports numeric keys and string values.
User properties need to be …
First, "layout" is a variable which is not assigned anything. I think you want to say
cellview = pya.CellView.active()layout = cellview.layout()top = cellview.cell
Second, the first loop just iterates over the pins and labels in the same…
@ravn Very good :)
BTW: Are you planning to make the library available to others as open source? In that case you may want to put it on a public repository and let others have a look at it.
Regarding the __del__ I could not readily reproduce it. I…
Hello,
I tried to reproduce, but with little success. I changed the code of one PCell of mine to use a member variable for the item list instead of the item list directly. Still, the parameters are there and also the choices.
Basically, it should …
@JamesH46 From the log I don't see much about the drawing times.
So you're saying that you wait until the full picture is built? Drawing happens in a background thread, so usually one does not need to wait. A full layout image of all layers does no…
Hi Andy,
I don't get the details, but there are a few things to say:
* You should not confuse DRC with scripting. DRC works with layers, script work with objects.
* "Region" is a script object and can only hold integer-unit polygons. Whe…
You can take the code from July 2021 and modify the filter criterion. You can check a instance bounding box vs. a filter polygon for example using Polygon#touches(box).
Matthias
@JamesH46 >100 layers is nothing unusual. You can experience some drawing performance degradation with a huge (>1000) number of layers, but not for loading. Also 3.5G is a fairly small GDS file. Specifically given you have 48G memory at your p…
I think there is a match here:
https://www.klayout.de/forum/discussion/2054/resizing-a-curved-polygon-causes-small-jogs-in-the-resized-polygon#latest
Matthias
Hi Lukas,
I did not consider need for cleanup after re-evaluation (specifically after reading), but in your scenario this makes sense.
I created a ticket: https://github.com/KLayout/klayout/issues/1059.
Matthias
Sorry, I cannot help with such little information. Please share the build log and system details (compiler, Qt version, etc.). You'll need a few support packages like Ruby and Python development headers. KLayout is not very picky and does not have m…
No, there is no "backspace" yet, but that is a nice suggestion. That should be pretty intuitive.
I created a ticket: https://github.com/KLayout/klayout/issues/1058
Hi Robert,
Thanks a lot. Such code is very helpful indeed.
So I see. You want to force a "re-computation". Sorry for the nit-picking, but that is something slightly different. Well, I admit it's also a bit confusing.
So refresh just res…
I have issue a PR which should enable enum-to-int conversion in both directions (https://github.com/KLayout/klayout/pull/1055). This should remove the need for adding to_i. It's a too deep change to go into a minor release, but I'll include it in th…
@wimbur the angle_limit(181) does not do what you intend. The problem is that with the tip edge facing away from the vertical edge, the relationship is no longer "separation". It is "enclosure" then.
Hence you can detect forward…
The smooth function actually reduces the density. The definition of this function is to delete points if the resulting modified curve stays close to the original curve within a certain limit. I think you should try this.
I also conducted some exper…