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 klfun,
I'm sorry - polygon grayscale rendering is still not part of the scripting interface. I also think that in general scripting isn't the right approach for high throughput, if you're interested in that.
Regards,
Matthias
Hi,
All checks is designed to check "less" not "less or equal", so the overlap check should do what you're expecting: it will check width >= 4.0 and report an error on < 4.0 µm. Doesn't it?
If you really need to check the…
Hi Christan,
yes, the TEXT PCell is everybody's darling ... Maybe I can mitigate the PCell instantiation issue by providing a text synthesizing function in the normal pya.Region (i.e. pya.Region.createGlyphs("MY TEXT")).
Your remark abou…
Hi all,
@Christian: thanks for this suggestion. If you put in two regions (even if derived from an iterator) into a boolean operation, they will become flat anyway. So you don't need to add the empty region.
But I need to say that once again: PCel…
Hi Luis,
the project on SourceForge is under SVN. You can send a patch and I will submit it.
Or it's time to move to GitHub with that project ...
Matthias
Hi,
I just have a rough idea about the meaning of this rule, so I can just guess.
Maybe you want to try this:
report("DRC")poly = input(2)metal = input(1)# e1 = metal edges overlapping poly by less than 1µme1 = metal.overlap(poly, 1.0.u…
Hi Luis,
yes, the NSIS script is the one used for the official installer. I don't know whether the NSIS installer provides silent installation. Maybe there is a command option, but you better check with their documentation.
For a modifier installe…
Hi Christian,
thanks for these observations.
* There is no way to clear a namespace. At least not as far as I know. You're working inside a life interpreter of a dynamic language. With all side effects.
* That's a known issue. For a workaround see…
Hi Joel,
I understand your point. I'll see what I can do. The library name is currently not a property of the layout but of the writer settings. In your application it's better to regard it an attribute of the layout and write it.
Thanks,
Matthias
Hi,
what is drc_cal format? SVRF? There is no way to translate a Calibre SVRF script into KLayout. And there probably never will be. It's an IP issue.
Matthias
Hi Joel,
I guess I understand your idea. I'll have a look whether that is feasible or not. Basically editing and browsing are mutually exclusive since browsing depends on the consistency of the data model. But maybe it's possible in the context of …
Hi Benny,
You probably mean mask data, do you? Design data (hierarchical, pre-OPC, pre-fracture) is hardly 100G OASIS. Maybe you're expecting too much of an open source tool. There are commercial solutions that allow you deal with that kind of data…
Hi Shlomi,
How can a such a function define a shape (polygon)? Do you mean "a polygon which includes all points where f(x,y) = 1"?
That will be tricky because KLayout is no equation solver.
But here is an approach:
atan2(y,x) will give…
Hi Joel,
the bugfix you mention is not related to this issue but only to manual copy/paste in the editor.
If I understand your description correctly you changed the way the "test" library is built. So now, you're loading the library from…
Hi,
the request can probably be implemented, but the effort will be substantial. The basic approach for implementing a feature that provides mouse interaction is to employ the RBA::Plugin framework. A starting point is the documentation provided fo…
Hi,
that's a configuration item embedded in the menu. It does not bind to an Action.
That's why you do it this way:
RBA::Application.instance.set_config("combine-mode", "erase")
Values are:
* add
* merge
* erase
* mask
* dif…
Hi,
The Python it picks will be the one it was built against. That's related to the actual Python interpreter it uses. So for example if you want to run Python 3 and you system provides 2.7, you need to rebuild it.
But if it's just about pointing …
Hi,
Regarding 1.):
You mean Windows do you? Basically you're on the wrong track. KLayout comes with it's own Python installation and there are many good reasons for that - specifically on Windows. Given the variety of compilers and runtime environ…
Hi Lukas,
Basically a PCell is not a special cell. It's a special Instance (one that is enhanced with PCell parameters). So basically you cannot copy a PCell by a cell copy. But you can copy a PCell by copy/pasting the instance of the PCell: click …
Hi,
please paste your entire script. I can't help while getting only partial information and you seem to play with the code. Please also note that the forum supports Markdown. So please use it to format your code (put four blanks in front of each l…
Hi baworth,
Text handling is not part of the DRC engine yet. DRC is a pure mask geometry feature currently. That's why you don't see text object.
But the DRC feature is based on a Ruby script. This allows extenting the language with new features t…
Hi David,
thanks a lot - perfect intro :-)
I realize, that the image cannot be saved to PNG directly. If you want that you'll need to traverse the image pixel by pixel and generate a QImage object. This can be saved. I am overhauling the Ruby/Pyth…
Hi Thomas,
that's a DRC function. You need to use it in the context of a DRC script.
So you need to create a DRC script (Tools/DRC/New DRC Script) and use a script like this:
puts input(1, 0).area
This will print the area in square micrometers i…