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

  • That's not supported in general. Sorry.
  • You can create markers for everything above 1.5µm by sizing down by 0.75µm. Checking if everything is above 1µm is a simple width statement: geo = ... input layergeo.size(-1.5.um / 2).output("Markers for geo > 1.5µm")geo.width(1.0.um).…
  • Hi Eugene, Thanks for you perfect test cases. It's very helpful for me to understand your problem. Usually you don't need to use setHeaderItem. Your second approach is perfectly valid. The first approach does not work for two reasons - one due to…
  • Hi Eugene, For "show()" is pretty difficult to use "_destroy". When your dialog is opened and you re-run the macro, this is probably crash the application or cause weird effects. The issue is only there for debugging and develo…
  • Hi Eugene, thanks for your code. I understand what you mean now. First of all, I'd suggest a small enhancement: def qtimer_test(): main_window = pya.Application.instance().main_window() dialog = QTimer_Test_Dialog(main_window) dialog.exe…
  • Hi Eugene, could you paste some code so I see how you're doing this? Thanks, Matthias
  • Well, 0.24.6 is pretty old. I'm not going to scan four years of commits to answer the last question. Maybe the changed behaviour is a consequence of the auto-measure feature or some other request. I simply don't remember. I'm using the ruler featur…
  • @Man 1.) please read the documentation. Flatten with one argument takes a single "bool" which is the "prune" parameter. "flatten" with a level is "flatten(level, prune)". 2.) you impose a specific interpretat…
  • Well, my suggestion is: if you're a beginner about EDA, you shouldn't start by looking into the abyss of C++ source code. It's like trying to get familiar with Linux by reading the Kernel sources. Get yourself good text books about semiconductor te…
  • Come on, you're pulling my leg, are you? I bet you guys were sitting together with a beer and tried to come up with the strangest request ever posted to this forum. I'd bet no one ever printed a Mandelbrot set on silicon! But it's fun, so I give y…
  • Sorry, I can't confirm 0.26 doesn't snap the first vertex. It's working nicely for me. Maybe there is a configuration issue. Try with a fresh configuration (rename "c:\users\your_name.klayout\klayoutrc" to something else and start again).…
  • Hard to say from the stack trace ... The crash may have different reasons. It's not difficult to product a crash when using wrong layer indexes etc. I'm trying to turn them into meaningful messages when I find one, but there are still too many ways…
  • Hi Jim, I see you're optimistic, so you just reserved 4 digits for the question count :) Regarding log file etc: * Log files are not quite useful - currently they just list the execution times, not error counts * Logs can be seen in the log vie…
  • Hi Jim, There are two ways actually: single quotes or double backslash: > puts 'foo\bar'foo\bar> puts "foo\\bar"foo\bar There is a third option actually: on Windows, you will also be able to use forward slashes for the path separa…
  • I might be wrong, but there was a bug fix for this already: https://github.com/KLayout/klayout/issues/486. It should have made it into 0.26.4. You need to right-click on the script in the file list. "Save as" is the last entry. Matthias
  • Hi Jim, KLayout looks up DRC's and macros in various paths - the default one (you mentioned), technology specific ones, more listed in the "KLAYOUT_PATH" variable, package installations etc. You can add any other path yourself by using &…
  • Hi Jim, here is the difference: 1. Without errors: Collapsed: (Image) Expanded: Without "Show all" (right-click on categories list): (Image) 2. With errors: Collapsed: Expanded: (Image) Without "Show all" (righ…
  • Hi Jim, I'm sorry for the bad error message. The problem is: "output" will expect something else when you send output to a report: 1.) When you use "report", the argument of "output" needs to be the name of a check a…
  • Hi Cristian, You can use custom queries to achieve this. For example this query will give you all boxes on layer 15/0 whose center (as seen from the top cell) is in a vertical band between 10 and 20 µm on the horizonal axis. Please not that you ca…
  • Hi Jim, sorry, I went into the future already. I'm upgrading the DRC engine currently. "with_text" is a new enhancement as the DRC engine is going to support text layers as native objects. So far, texts are kind of "hidden" obj…
  • Hi, first of all there isn't a much better alternative. But you can code the search in a loop and end the loop as soon as the condition isn't satisfied. With a loop you can check as many layers as you like. In your code "size() < 0" …
  • Hi, thanks for sharing this solution! The code is correct, I just think you wanted to use "box_in_cell" in the following expression like this: box_in_cell = iter.shape().box box_in_initial_cell = iter.trans() * box_in_cell Regards, …
  • Hi Nam, please use Markdown formatting for verbatim code printing: a line with three backticks before and after your code. Your post is hardly readable. But from what I understand there is still no solution as the circuit parameters are not read a…
  • Hi Andy, No, there is no such option yet. Matthias
  • So next question: standard package (-> KLayout will use the system Python) or did you build it yourself (-> KLayout will use the packages from the Python installation you built against).
  • Is this the Windows version? 32bit? 64bit?
  • Hi, this script will give you the cell bounding boxes, not layout boxes. Cell boundary boxes are not layer specific, hence you cannot obtain a layer for them. Matthias
  • Hi, maybe you need to check the log for "bad_alloc" errors (File/Log Viewer). Basically errors during the computation should make the density computation fail, but I cannot rule out entirely that errors get unnoticed. In this case, a til…
  • Yes, the solution basically is to use "cv.cell" rather than "cv" itself. "CellView" is identifying a particular layout shown in a "LayoutView" in terms of layout, cell shown etc. Use the "cell" prop…
  • I see ... but I guess that's Windows. Windows compilers traditionally keep "long int" at 32bit even for 64bit (which makes "int" and "long int" the same length). Linux compilers instead make "long int" 64bit.…