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,513
Last Active
Roles
Member

Comments

  • You're right. Thanks for that suggestion. BTW: I have added variables recently so you can basically pass the box into the query without the string substitution. That's a bit faster and avoids string-to-double conversion issues (accuracy limits, spe…
  • I'm sorry, but I can't reproduce an issue with text selection and move. * Without anything selected I can chose "Move" mode, click on the text, move it and then click again to place it. * If the text is selected I can move it, but I still…
  • I just noticed that on the DVB branch there is only a DEB package for Ubuntu 16. Maybe that makes a difference. There is also a master build which is basically in sync with dvb and has a Ubuntu 18 DEB package: http://www.klayout.org/downloads/master…
  • Thanks ... I'll try that myself. I'll set up Ubuntu 18 from a fresh docker image and take a look. Kind regards, Matthias
  • Well, yes ... In some interpretations of GDS (including KLayout) and in particular in OASIS, texts aren't drawing objects but rather points with a label attached. In OASIS (at least in the standard flavour), texts don't even have a size, no justifi…
  • Cool :-) I just saw another post where someone complained about the performance of queries (not specifically in this context). If you're happy with that I think that is fine. The query is not smart enough to do a region search and shortcut evaluati…
  • Thanks for this line. It's actually the intended use model ... however this takes me to the next question. I assume that "mydrcrules.lydrc" does something with the layout (e.g. perform boolean operations). I guess the .lydrc file also con…
  • Hi Jim, that's strange. I don't think this is related. The drop-down menu should show the predefined ruler types (The "templates" you set up with "Edit/Rulers and annotations setup"). While this is configurable and basically it …
  • Very good and thanks for this feedback :-) Matthias
  • I see. I think this is related to the stream plugins then. For a brief explanation: KLayout loads the stream format dynamically from shared objects found next to the "db" library in a directory called "db_plugins". This directo…
  • Is this Windows? And then, what's the command you're using? "klayout myfile.gds" should give you exactly the file you saved, provided this "klayout" is the same binary. Matthias
  • Maybe you can answer my question first: labels or text PCell? Using TTF fonts for text PCells isn't usual as these fonts aren't design rule clean for sure.
  • I have not observed missing rulers and I there are many W10 and Linux installations I am watching ... on Mac there was (once) an issue with high-res displays which caused a similar problem. But this should be fixed. On W10 high-resolution display a…
  • You mean for labels? Or for the text PCell? For labels: no. For text PCells: if your manage to convert TTF (for example) to a GDS font library. Matthias
  • Hi, I think this is a different issue. What's the filename you give to Layout.write? It needs to be "gds2", "oas", "cif" or similar to be recognizable. If you want a specific format, use a "SaveLayoutOptions"…
  • Hi Alessandro, stupid question: how can you "open" a layout in headless mode? "headless" to me means: without display ... Matthias
  • Hi, there is no built-in function to get the min area, but you can script it: report("discussion_1278")layer = input(43, 0)# compute min areamin_area = nillayer.data.each_merged do |poly| area_in_dbu = poly.area * dbu * dbu if min_area…
  • Hi Don, No need to apologize. The script isn't wrong :) It's just that layers are not automatically shown. The "layer list" is actually a configurable view and not a plain list. To make it show the new layers, right-click the layer list…
  • Maybe here is a solution: * Open "Edit/Search and Replace" * Select the "Custom" page * Enter "shapes from instances of ..* where shape.layer==<80/0>" * Hit "Execute" The you should get a list in the r…
  • Hi Andrew, without knowing the details of your production environment: you can basically use: engine = DRC::DRCEngine::newengine.source($layout_file)engine.instance_eval(drc_script, '') # the script without "source" because "engin…
  • Hi, That's possible by creating a new C++ derivative of the GDS reader, but as this counts as "derived work" in the GPL sense, the code needs to be GPL too which itself provides licensing issues if the methods exposed by this code are pro…
  • Hi jpk, I see your point. Internally there is such a thing, but not on the script level. It's a method called "skip_instance" which you can call to jump to the next instance. I have not considered yet to expose it to Python because I cou…
  • Hi, thanks for your nice feedback :-) Regarding the path issue: maybe DRC is not the right framework for this purpose. Actually DRC only knows polygons and edges and everything will be converted into these objects when passing through the DRC engi…
  • Hi jpk, you can create a RecursiveShapeIterator from a cell with a search box. This will then return only the shapes within this box (seen from the initial cell) and only traverse the subcell instances inside this box. Is this what you are looking…
  • Hi alleva, You don't need a script, you can just run a DRC script using klayout -b -r myscript.drc But as there is no layout loaded, you need to explicitly specify the source layout in the script. You don't need to edit the script every time you …
  • Thanks a lot for sharing this! :-) Matthias
  • It is the same :-) Please see my comment in the other discussion. Matthias
  • Hi Andy, Thanks a lot this feedback! I really appreciate this! Kind regards, Matthias
  • I understand you want to know whether a layer is empty, right? First of all, layers and cells are orthogonal, so every cell has every layer. But a cell can be "empty" which also includes the subcells. You'll see that a layer turns gray in…
  • I tools like you started it in Viewer mode on Linux. No editing, no change layer .. :-) Either use "klayout -e ..." or configure the default mode as editor in File/Setup - Application/Edit mode. Matthias