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,
I don't think there is something like the "GDS standard". The binary syntax of the format is more or less fixed, but the GDS implementations differ in the limitations they impose. Here is an (incomplete) list of aspects that various i…
Hi,
use of properties is somewhat restricted within GDS. GDS only allows numeric property "names". In the user properties dialog you have to enter "#xy" for such names. A value of "17" for example is taken as a string …
Hi Michael,
Since the vectors swiched as well, the arrays will look perfectly identical, so there is no immediate effect on the layout.
Basically "rows" and "columns" are interchangable within KLayout and both vectors are just …
In order to do so you'd have to build KLayout yourself.
On Windows, there is a compiler switch which controls that ("HAVE_RUBY"). On Linux, the build won't include Ruby support, if the build script can't find a ruby interpreter.
But I wo…
Hi Lital,
I guess it will work if you use "cell_by_name" instead of "add_cell" in 9.).
"add_cell" will create a new cell which then is empty so there is nothing to transform. Use "cell_by_name" will return a…
Hi Max,
well, 0.21.16 was not featuring those methods. I'll update the PDF documentation some time, but frankly that's not my top priority. If you want to have an up-to-date documentation, I'd ask you to look for the online doc or the build-in one.…
Hi Max,
The respective methods are Shape#set_property to set a property and Shape#property to get a property (or nil, if no property is set). Every property has a value and a key. In GDS, the key is always a number (PROPATTR) and the value is a str…
Hi zlim,
For someone calling himself "new to Ruby" this is actually quite good :-)
Regarding your request, there are some more event you can register at in the LayoutView class, but there is no event for "save as" currently, so…
Hi Lital,
There are two ways to move a layout:
First you can build a new cell atop of your current top cell and instantiate your original top cell giving the instance a shift vector. That simple solution effectively moves you whole layout but intr…
Hi all,
nets are not available by script (yet), so the scripting approach is not possible currently.
The "extract to layout" approach is also valid but I admit it's quite tedious.
Regarding the short detection - That is what the "T…
Hi Laurent,
That is probably because the Qt binding is not enabled on Linux by default. If you build with -with-qtbinding the Qt classes are available for Ruby as well. But building will take considerably longer then.
Regards,
Matthias
Hi Laurent,
thank you for the explanation - that is a valid scenario.
I agree that multiple colors would make that easier. For a quick solution: how about toggling the nets in the list? My tip of the day here: you can configure the net browser suc…
Hi Manfred,
The use case I figured is that you'd basically select one net a time which is highlighted then. Since there is just one net I did not imagine the need for different coloring. The ability to select multiple nets at once is nice, but my r…
Hello,
thank you :-)
Regarding your problem with the polygon - that is intentional. Polygon points are compressed - collinear points are removed because they don't add information to the polygon.
The reason for that is compaction. If after the re…
Hi,
Ok, placing a CELL is something different. Here is the sample code (not tested). It assumes you already have created a cell called "SUBJECT" and it creates a new top cell called "TOP" with all these instances:
# create a ne…
Hi,
you'll always need some probe shape in your die cell that defines that point you want to measure your location at. A text will do, but you can use box as well. Then the following script prints the coordinates of the centers of that probe shape …
Hi Kenneth,
there is always the option to build Ruby yourself or a build KLayout without Ruby support (however then you will loose some major part of the functionality).
I have seen the Fedora "bug fix" saying that libruby-static.a has b…
Hi Kenneth,
that is strange because -rblib is taken from the configuration of your ruby installation and that says it was built with libruby-static.a. Maybe you need to install a specific package (like ruby-static or similar).
It won't build with …
Hi Kenneth,
you're too fast :-)
I just edited the reply. Now it says: try to link against a static version of the library. There should be one in /usr/lib64, maybe it's called libruby-static.a or similar (I don't have experience with Fedora myself…
Hi Kenneth,
you have to make sure the build is done against the static version of your library. The shared object does not provide all the symbols required.
Matthias
Hi bunday,
There is not built-in feature for that, but
this problem can be solved through scripting. There is some sample code provide at http://www.klayout.de/doc/programming/database_api.html. Here is some slightly modified version of that:
# cr…
Hi Max,
well, yes I agree ... but it's difficult to find an initial setup that fits everyone. Maybe I have to provide some options when installing - i.e. "novice user", "expert user", "viewer only" ... I just did not s…
Hi Max,
then it may be connected to stdout/stderr redirection through cygwin. I guess it will work fine if you call it from cmd.exe.
There are "real" cygwin builds available, i.e. from http://artfiles.org/cygwin.org/pub/cygwinports/x86_6…
Hi David,
".lym" files are not native ruby, hence you cannot load them with Ruby's "load". The idea behind ".lym" is to provide meta-information for integration into the application. They are intended for the entry-poi…
Hi,
can you paste the complete script? Saving images can be automated, but I suspect some script error. It's difficult to debug a script without seeing it.
Matthias
Hi Max,
maybe there is some problem with the ruby shared library? Does ruby work in the macro IDE's console when you start Klayout in UI mode from the cygwin shell?
Matthias