Matthias

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

About

Username
Matthias
Joined
Visits
1,521
Last Active
Roles
Member

Comments

  • Well, a cell "moves" if you instantiate it. Just creating a cell will not make it a child cell. If you create a cell instance in another cell by using the "Instance" function, the instantiated cell will become a child cell automa…
  • Hi Max, the colorization is just a visualization feature. Separating a layout into nets is doable, but not scope of the net tracer. Instead of separating the whole layout into individual nets, the net tracer's tagret is to extract a single (prefera…
  • Hi, you'll need zlib1g-dev, zlib1g is just the runtime. BTW, you can simply use one of the .deb packages provided for download. They were built for Ubuntu 12. Matthias
  • Hi, in your build the ruby integration is still active. You can force exclusion of ruby by modifying the build script (replaces lines 252 to 268 by simply "HAVE_RUBY=0"). What is the version of your ruby installation (check with "ru…
  • Hi, two choices: * select your target cell in the cell list and middle-mouse click that cell or choose "Show as new top" from the context menu. The cell now becomes the new top cell and every new object goes there. * descend in the hiera…
  • ... and one last comment of mine: the next version will come with colors that you can assign individually to each net :-) 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…
  • Sorry, there was a typo. It should say RBA::CellInstArray::new. I edited the script above. As I said, it's not tested. Matthias
  • 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…
  • Boolean operations? Not just that. Stay tuned ... I guess you'll like 0.23 ... :-) Matthias
  • 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…