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 Dan,
I'm sorry, but I don't see an attachment :-(
Did I miss anything?
The forum only accepts know formats - you'll need to zip a GDS file if you want to attach it.
Thanks,
Matthias
Hi Erwin,
thanks for your lot of feedback :-)
First apologies for the early version of Python branch - it's not building everywhere but I'm improving it constantly.
Regarding the module structure, the db and tl modules are the basic ones. They ar…
Hi Laurent,
There wasn't a change which should have modified the behaviour of these functions.
So it should still work.
There is an important point however: Metal1 is not given, so I don't know what it is. If Metal1 is identical to "Metal&quo…
Hi Ziran,
sorry, I don't understand. What do you mean by "merge"?
There is no function to remove duplicates. But DRC shouldn't care about such duplicates.
Matthias
Hi,
as I don't see the actual code, it's hard to tell what's wrong. But maybe the problem happens because you create a new layer. New layers aren't visible by default. Try
layout_view.add_missing_layers
at the end of the script to make them visib…
Hi,
yes you can do this with "search and replace", although not directly.
Use "Custom queries" and enter this one:
with cells * do cell.name = gsub(cell.name, "AA", "BBB")
Hit "Execute" to run it…
Hi Acku,
I don't think you're right about the top cell. A cell carries the reference of itself inside the parent cell. As RVE has a single-level pseudo-hierarchy, the parent is of course always the top cell. The coordinates are on cell level, but i…
Hi Andy,
With edge layers there is no difference between space, notch and isolated because these methods act on edges depending on whether they belong to the same polygon or not. So for edge layers there is only "space".
But I wonder if …
Hi Acku,
the property name should be available through the value's "tag_id". This is an identifier for the name. Use ReportDatabase#tag_name(id) to get the corresponding name.
Matthias
Hi Dan,
there are some solutions, but they depend on your requirements:
* If the layout can be flattened (at least this layer), the DRC's "interact" or "inside" method will give you only the shapes inside the boundary polygon. …
Hi sirfumi,
Thanks :-)
I had to upgrade to a new version of the forum software. Because of this, the link format has changed:
https://www.klayout.de/forum/comments.php?DiscussionID=225http://klayout.de/forum/comments.php?DiscussionID=439
becomes…
Hi Muheng,
currently you cannot import pya as there is no such module. It's a function built into KLayout, so you need to work inside KLayout to get it. I'm working on providing such an external module, but it's only going to cover the geometry dat…
Hi Antoine,
that issue is really old (almost exactly 2 years) :-)
Does this still happen with 0.25.3 (the latest version)?
If it does, please provide a testcase for the issue (code preferred).
Regards,
Matthias
Hi,
first, please use the ".rb" extension for your script - ".rbm" is deprecated.
You can use this script ("script.rb"):
layout = RBA::Layout::newlayout.read($infile)File.open($outfile) do |file| file.puts "Top…
Hi Laurent,
I tried the following:
* A simple layout with 15/0 for "Metal 1", 16/0 for "Via" and 17/0 for "Metal 2"
* I used labels on 15/1 and 17/1
with this layer connectivity definition:
15/0+15/1 - 16/0 - 17…
Hi Luciano,
there is a similar post here: https://www.klayout.de/forum/comments.php?DiscussionID=1062&page=1#Item_5.
Here is a similar example in Ruby:
layout = RBA::Layout::newlayout.read("/home/matthias/x.gds")puts "Top cell:…
Hi Steven,
currently there is no statistics about user properties. But if you select a shape and use "Edit/Properties", a dialog with the shape's properties opens. After clicking at the "User properties" button, you'll see the u…
Hi Laurent,
I'm not sure if I understand. Labels from a specific layer are taken to be the net name. Do you mean that it should be possible to specify a different layer as source for these labels?
Matthias
Hi Asharma,
In general, a cross-section script has to prepared differently when you want to show the process progress. The concept is currently to keep the computed material outline internally and visualize it in a final step. If you put the output…
Hi Steven,
Your numbers indeed show that there is an issue with the loading times. They should be about a tenth. The numbers are not
Here are some questions:
* If you save the file to OASIS and load it again - will the load times stay the same?
*…
Hi Dion,
this may be possible in some flavours of OASIS, but not in all of them: some OASIS flavours require tables to be built upfront, so you need to know the full file content before you can write it. One can overcome this by a two-pass approach…
Hi Muheng,
please use Markdown to format your code (four blanks in front of the line. Otherwise your code formatting does not become visible.
And please make yourself familiar with Python.
The code is:
import pyalayout = pya.Layout()layout.read(…
Hi Steven,
keeping things "compressed" in memory is already happening to some extend. But you cannot keep modal variables (they depend on sequence, so no random access), CBLOCK compression (also no random access) and you have to attach da…
Hi Steven,
no, no flattening happens.
As I said, OASIS is basically pretty compact (relative coordinates, modal variables, deltas, etc.). What's a 32bit coordinate in memory can be less than a byte in OASIS. Plus OASIS features built-in compressio…