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

  • 0.25 does not have it, but 0.26 should. I'd recommend 0.26.3 as this is the latest and best one. Matthias
  • Thanks for the patch ... but that would mean - in case of multiple specifications in "through" - if one "through" component is empty, none of them is considered, right? I wonder how you can split your script if your backend step…
  • Very good :) Actually "-prefix" is very similar to what you need in autoconf too. As KLayout's build is qmake based I can't make good use of autoconf, hence the build script. Instead of using prefix you can also copy "bin-released&q…
  • Hi Jim, Yes, there is such a thing. In KLayout, currently there is no nice support for texts, but you can let DRC give you a layer with small markers (2x2 DBU) indicating the position of selected texts. You can use this layer with "interact&q…
  • Come on ... you can't be the only person on earth not getting a GitHub account ... :) To solve your problem, you can either use (note "self") gate_ox = MaterialData.new([], self) or simply: gate_ox = nil In the second case, you can us…
  • Hi Thomas, You should be able to execute a QDialog in a blocking ("modal") fashion by calling "exec" on the dialog. Did you try this? Matthias
  • Hi Thomas, "each_overlapping" can act as a preselector. It's not precise in a sense that it really checks the overlaps. For a precise check, it's first necessary to convert the shapes into polygons ("Shape#polygon"). You should…
  • Hi Thomas, you can configure the way, net names are translated. There is a big section in the "Reader options" for this: (Image) In this examples net names are translated into properties with key "#1" (integer 1) and attache…
  • Well ... this won't be a simple "if" then ... Let me check what's possible. I have not started with this issue yet as I'm a bit short of time right now. Regards, Matthias
  • Hi Thomas, thanks for this update. So it was too small I guess (or even zero). Right? Kind regards, Matthias
  • Hi daipv, are you sure you have 0.26? Could you check in "Help/About"? Matthias
  • Hi Itamar, That's possible of course, but the feature simply isn't there yet. I have created a ticket with this request: https://github.com/KLayout/klayout/issues/500 There may be another option: have you tried tracing all nets (Tools/Trace all ne…
  • Hi Itamar, The method which achieves this is "Matrix3d.adjust". Here is a sample: # Landmarks image (in pixel coordinates)landmarks_img = [ pya.DPoint(100, 100), pya.DPoint(200, 200), pya.DPoint(200, 101)]# Landmarks layout (in microm…
  • This is the library browser :) Check "View/Libraries" to show it. Matthias
  • Hi sunSeeker, I think the images above are the result of some additional processing. I assume you are at least doing a "merge", but maybe you're also doing a "round_corners" for softening? this might explain the issue. As the ro…
  • Hi sunSeeker, what do you mean by "compile"? You can use "require" or "load" in Ruby to import your library files. Here is the concept: In your KLayout application folder ("~/.klayout" on Linux or "c:…
  • KLayout isn't compiled as a console application on Windows (as then an ugly command terminal pops up), so it won't print anything to the console. But if you use a bash from cygwin or MSYS it will do. Also redirection to a file should work. Matthias
  • Hi, yes, the code's readability has enhanced. Here is some enhanced code. Micrometer units can be enabled by using "DBox" rather than "Box". Then "sq" and "p" become floating-point values in micrometer units…
  • Is the compilation really stuck or are there just a lot of these warnings? Compilation may take about one hour on a single CPU. Matthias
  • Hi Jim, yes, "NOT" is basically always "AND NOT". But I have not seen a layout so far without a boundary - every chip finally needs to have a physical size. If you know the size, you can generate this layout inside your DRC: b…
  • You can iterate the texts this way: for s in cell.shapes(input_layer).each(pya.Shapes.STexts): position = s.bbox().center() text = s.text_string print("position: " + str(position) + ", text: " + text) Regards, Matthias
  • Hi Thomas (@dick_freebird: thanks for answering), right now the geometrical relation is the best way I'm afraid. Some metadata is translated into properties, such as DEF net names. But pin names are not. They are only translated into labels. I hav…
  • Hi Richard, could you format the code above so it becomes readable? Markdown uses a single line with triple backticks before and after the code to format it. But I think I'm not getting the idea. This discussion is about circular arrays, but the p…
  • Well, I need to say the search function isn't very smart. "fill_region" isn't cross referenced to "Fill Tool". And it's no full text search :( Matthias
  • Very good :) Thanks for sharing. BTW: in the first post I forgot to delete the Delaunay import - I use it to check the decomposition. But I found that it only works on convex polygons. To me this looks like a too severe restriction as to be useful…
  • There are different batch modes available. Some have a main window, some don't. "klayout -b" will enter "bare metal" batch mode where there is no main window and "pya.MainWindow.instance()" will be None. I tried your s…
  • What happens if you just use "pip install klayout"? There is a 3.7 wheel for windows for the 0.26.3 release. Matthias
  • Hi Thomas, could you provide an example? Basically 1.4 tries to reduce the number of points of the rounded features would not benefit from a large point count. I assume your case is a border case somehow. I'd also appreciate if you could create a…
  • Thanks for your feedback. Actually autorouting comes before LVS. LVS in that context is supposed to ensure the router has not made an mistake. There are a couple of free routers available (e.g. Coriolis). But KLayout comes into play only afterwards…
  • I'm also not a legal expert, but as far as I know there needs to be an export declaration for both the chip you receive from the foundry (as it is an item that is subject to export restrictions) and the data you send to the foundry (as it would allo…