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,
KLayout provides netlist extraction from a layout as the basis for the LVS feature. So I understand you want to reimplement the same by other means.
I'd seriously consider whether you really want to reimplement something which is there already…
Well, you can simply keep the new shapes (Shape objects) in a Ruby array or other object ...
Are you going to manipulate them or what's the plan?
Matthias
Hi @kita11,
No, "enclosing" is actually already is a check. "a.enclosing(b, 1.0.um)" requires "a" edges to be "in front of" "b" edges be not less than 1 micrometers. In addition, only edges satisfyi…
Hi Eugene,
thanks for the debugging. It's strange I don't see this in my case. I'll need to check.
The title tags in session files are actually worth considering. That makes sense. I have created a ticket for this: https://github.com/KLayout/klayo…
As I said, not tested ... :)
I think the code had three issues: First the syntax of the inline document. Second the translation of the overlap value into DBU units. And third, the "clip" flag needs to be set to "false" in "…
Would you mind formatting the code properly? There is a "code" paragraph style in the editor for the comment. This is not readable, in particular not for Python.
And what's the message? Do you see an error? Unexpected results?
I disagree with "impossible" because I'm using that feature myself on a daily basis ...
But there are substantial improvements in this area: please check out the master build here and give feedback: https://www.klayout.org/downloads/maste…
No, that would be a bug. "a.not_interacting(b)" gives the full a output if b is empty.
I just checked with a simple script like this:
input(1, 0).not_interacting(input(2, 0)).output(101, 0)
And it gives 1/0 layer when 2/0 is empty ... T…
Hi Tomas,
I think you just need to enlarge the _tile.bbox inside the "queue" script: "_tile.bbox.enlarged(overlap, overlap)". Or better:
tp.tile_border(tile_overlap, tile_overlap)tp.var("overlap", tile_overlap)...tp.q…
Hi,
SVRF is copyright protected, so please don't discuss SVRF to KLayout translation here.
And please don't try to literally translate Calibre decks to KLayout. KLayout isn't a Calibre clone.
In this example, I think you can simply consider A and…
Hi dai,
I think you need to adjust the values according to your process.
You can always debug such kind of code by emitting intermediate layers as debug output. There are many solutions sketched in the discussion above. Try them and pick the one t…
Hmm .. maybe there is some other script interfering?
Please try setting $KLAYOUT_HOME to some non-existing path. This will strip all macros and configuration settings by using a fresh installation. If the problem still persists, maybe some print's …
This is a new one ... code pasted as images.
You can't just move an edge this way. You need to create a new polygon from a new list of points and replace the shape by the new polygon.
Matthias
Hi Stuart,
why do you dig into C++ code before investigating the high-level options you have?
I assume you put in a flat huge region into the processor. Of course that's slow. You're comparing an industry-strength hierarchical tool against a simpl…
@tagger5896 I agree with your approach. But then, who are the people then who play the smarter ones? :)
In general, EDA programming isn't much different from many other fields of programming. It's just that EDA tool coding usually isn't taken to a …
Rebooting will never put KLayout into a different state. Reinstalling doesn't change something either. If you want to clean your KLayout installation remove the KLayout folder in "%HOME%\KLayout" (on Windows). That's it. I think what you'r…
Hi Jim,
you're right, persistence is for a single user only.
Regarding the keys, the best list I can offer is the configuration file itself. Most values I think are self-explaining.
You can actually dump the current configuration using small scri…
So that's TCP then.
I wonder if that goes with Qt which runs it's own event loop. Is your own application Qt based as well?
I have checked with PyCharm and it sends something like "--port ...". I assume VC Studio and PyCharm use the same…
Hi back ...
You can get a subset of the API through the "klayout" module on PyPI. But that will not include layoutview.
The reason is that layoutview needs to be bundled with Qt and that makes it heavyweight, difficult to deploy and rais…
Hi Jiim,
thanks for telling me ... I don't know if there is a way to be frank. This Vanilla forum is quite "vanilla". There are probably some plugins but I need to check.
I'm trying to keep the forum tidy by admitting people with a real …