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

  • 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 Laurent, thanks from my side as well for sharing it. Matthias
  • 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
  • Hi Max, you indicated the problem already - there are too many ways to go and everybody prefers his or her favourite language. One feasible and language-independent way is to write a text file in KLayout's GDS text format and use KLayout to convert…
  • Hi Max, Well, at least you can blame me ... :-) I can't confirm the missing text visibility in the default configuration. I removed the configuration file in my installation and texts still appear. But it's pretty easy to disable texts when playin…
  • Hallo, your problem is typically solved by scripting the generation of such layout. You can use KLayout's built-in scripting feature to do so, but now it's up to you whether you want to spend time to learn how to do so or still create the layout m…
  • Hi Laurent, Maks is basically right - you can disable texts. But that will disable text plus the tiny dot for the text location. The dot itself can't be separated from the text, since often the dot is the actual information of the text. You can h…
  • Hi Max, of course it's supposed to work :-) My personal experiences with CygWin are somewhat limited - I tend to use the MinGW shell rather than CygWin. Are you using the CygWin build or are you using the native Windows binary in a CygWin shell? I…
  • Hi Laurent, your sample is actually fine. In particular the Ok button handling is the way KLayout's Qt binding suggests. You could also bind the conventional Qt signals to slots using QObject#connect, but there is not substantial advantage of one m…
  • Hi Laurent, You can use the QComboBox in place of the four QRadioButton objects. So you need just one widget instead of four. The most important methods available for a QComboBox are * addItem(string) to add a new item to the combo box * current…
  • Hi Ania, Your description is somewhat short, so I can just guess. "Add new layers" can be used together with a layer properties (.lyp) file that contains some layers, but maybe not all. All layers not given in the .lyp file will then be a…
  • You'll need coded libraries to provide PCell's. That is something else - a coded library is not a layout file but a piece of code that registers something like a dynamic library in the system. There is a lot of information available on how to code …
  • Just a rough guess: you came across the Windows-backslash-double quoted string-incompatibility issue. In double-quoted strings, the backslash starts an escape sequence and will insert control characters (or something else), but not the backslash cha…
  • Hi, A "library" is in the most simple form (static layout, no PCell's) a plain layout file with multiple top cells, one for each library component (note that the components have to be top cells). That file is put into a specific place so …
  • Hallo, the easiest way to do so is by binding a macro to a toolbar button. Open the macro's properties and enter a toolbar menu path into the "Menu path" edit box. This will usually be "@toolbar.end" which means a new tool butto…
  • Hi Loren, here is the basic code: view = RBA::Application.instance.main_window.current_viewimage = RBA::Image::new("/home/matthias/Pictures/IMAGE.JPG")# TODO: set image.trans to establish a pixel-to-layout space conversionview.insert_ima…
  • Hi Tiboy, I don't see the difference between a ruler and your request. when you pick a point and drag a ruler, the relative coordinates will be shown in the status bar. And snapping to objects is provided too. What is inconvenient with the ruler? …
  • Hi Dean, the Cadence binary format is closed and not open to the public. Technically, it's possible to access the data through the ITK library or the OpenAccess API. Both are not open source - the ITK is a licensed feature and OpenAccess is availab…
  • Hallo, I guess "mrubyioroy" is the one who built the KLayout binary you are using. The paths where he (or she?) did so are compiled-in so they are visible to you in that specific case. The error message is a bad one and not specific. Bas…
  • Hi, Thanks :-) Well, but it's not quite that Cadence-like to copy all concepts. First of all, a layout file is a library by itself in the sense that it can contain cells which you can use inside other cells. So if you create a file with "new…
  • Hi Dean, that expression is ugly, right :-) My suggestion is to decompose it into binary expressions: l1 = NN NOT GPl2 = l1 AND OLl3 = l2 AND NWl4 = l3 SIZING 0.15l5 = NOT NWl6 = l5 SIZING 0.25l7 = l4 AND l6l8 = l7 OR l1l9 = l8 SIZING 0.20l10 = l…
  • Hi, first of all, I'd add 'include RBA' after the module command. That includes the RBA namespace and makes the classes (Point, Path) known to your module. You can also write "RBA::Point" or "RBA::Path" instead. Next, you'll ha…
  • Hi Ha, well, renaming a cell does what it's supposed to ... It changes the name of the cell. Instances are not made by name, they are made by cell index. If you want to make instances point to another cell, you have to use code like this layout_c…
  • Hi, there is no build-in function for that, but it's possible to code that in a script. The "Useful script samples" may serve as a starting point (http://www.klayout.de/useful_scripts.html#calc_area_hier.rbm). Matthias
  • Hi David, thank you for the note. Actually, defining classes and using them in the top-level context is even more the "Ruby-way" :-) Matthias
  • Hi David, there is a good reason for separating GDS layer/datatype and layer index - there is not necessarily a correspondence between both. Layers can be temporary (no GDS layer), there are file formats without layer numbers, just names (CIF, DXF)…
  • Hi David, you can find the C++ PCell code in the "libBasic*" files. Each PCell has a .h and .cc file and the name corresponds to the PCell. But as I mentioned, I currently don't advertise this method of creating PCell's, because I don't w…
  • Hi Michael, from your description I guess the array of cells got expanded into many identical cells. This can happen if you select all shapes from the array and create variants - KLayout will assume you want to edit every individual instance and cr…