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

Comments

  • Hi, First of all, you can use Markdown markup to format your code - just put four blanks in front of every line. Regarding your code, I cannot help given that little input. What does "hs_all_layers" and "hs_layer" do? Could you…
  • Hi, Thanks for the nice screenshot - that explains much more than just text! But I'm sorry, the partial selection is not part of the API yet. It's a fairly complex topic and partial selection implementation is private to the partial edit mode - ev…
  • Hi seb, the forum uses "Markdown" markup. You can format code by adding four blanks before every line you want to quote. Regarding you code, you need to be careful not to mix two concepts: DRC scripts and Ruby scripts. If you want to ru…
  • Hi Theo, 0.24.6 is released now which should fix this issue. Kind regards, Matthias
  • Good point. I don't know what had happened if I had tried to sell it. At least I'd had to spend much more effort in marketing than in development. And I'm pretty sure that being a much better coder than sales guy I'd have blown it :-) Matthias
  • Hi Theo, I tried to reproduce the problem but I failed. Here is the code I used: # create a first layout and a single text with alignment flagsly = RBA::Layout::new(true)top = ly.create_cell("TOP")l1 = ly.layer(1, 0)t = RBA::Text::newt.…
  • Hi Theo, looks like this is a bug. I'll take a look at this. Matthias
  • Hi, there is a function, but views and database layers are not synchronized automatically. You need to update both. This is essentially what the "edit layer properties" function does. Here is some code: # rename layer 1 to 10 in both th…
  • Hi, I see your point. But it's somewhat difficult since there is only one data slot for images in the format. So it's not exactly a low hanging fruit. Matthias
  • Hi Theo, my goal is not to attack MGC's business model. I'm not in favour of getting in touch with their legal department for reverse engineering proprietary IP. If you have a RVE license you have a solution already. If you are not happy with that…
  • Hi ks, regarding the first question: what do you mean by "script prompts"? Like "gets"? "gets" will still read form the application's stdin, not the console. The console is merely intended for executing Ruby commands i…
  • Hi Seb, The "layer processing framework" has turned into the DRC feature. XOR can be done as part of this functionality now. Here is a sample: # Performs an XOR between the first and second loaded layout# (from the same panel)# Layers l…
  • Hello, you're right. At this time, there was no integrated LEF parser. LEF is not a plain format such as GDS. It carries additional information along the geometrical one (i.e. blockage layers, net names, ...) and the translation to a pure GDS-like…
  • Hi Keerthan, I'm sorry, but I cannot seriously expect me to explain how to write your "own functions" without giving the tiniest detail. I'm not a teacher. I also can't explain how to connect to third party libraries like the "gds2 p…
  • Hi Lukas, I'm not aware of having changed something there in 0.24.5 (compared to 0.24.4). Flattening should not happen. But if you are using the code above (from 8th of November) there is an explicit flatten call. Regarding the crashes: I'm aware …
  • Hi all, the link is available in "Documentation/General - Resources/Command line options". Not missing, just hidden :-) There is a little more there - just be curious. Matthias
  • You mean integrating it into the main window? I don't think so. KLayout is not Eclipse. Matthias
  • Thanks for sending the test case. I was able to locate and fix the issue. It was related to different layers in the two files - this case was not handled properly and difference markers appears where they should not. The fix will be released in the…
  • Sorry, no. There is only one image you can attach to one entry. Matthias
  • Help for what? I don't understand what you are trying to do. Matthias
  • Hi Keerthan, 1.) No 2.) In the source tarkit in src/built_in_macros/drc.lym 3.) No idea. Why? Matthias
  • Hi Theo, that's hard to tell without a sample. In general, the diff tool tries to identify "equivalent" cells. It uses several ways to identify cells - by name, by their position, by their size - to be able to catch renaming scenarios. T…
  • Hi Theo, sure: "Python scripting" is available now. Thanks for the sample. The script looks nice :-) Let me just comment on one detail: loading multiple GDS files into one works. But there is one potential pitfall: if the GDS files cont…
  • Hi all, The issue is fixed now. 0.24.5 is ready for download and should work as expected. The "Help/About" dialog of the fixed version shows "0.24.5 r3197" as the patch revision. Enjoy, Matthias
  • Hi Canny, yes I could reproduce it and it should be fixed in the latest 0.24.5 release. Thanks for bringing this up. Regards, Matthias
  • Hi phred, you can contact me through the mail listed on the "Contact" page. I'm interested in a testcase that allows me to reproduce the problem. Basically a connection should be reported if the net tracer propagates along the short. Ever…
  • Hi Canny, no it's not the same issue. I have no explanation for this assertion. Could you send a test case for reproducing that problem to the mail address listed in the Contact page? I will have a look at this issue then. Regards, Matthias
  • Hi Keil, Sorry for the typo. It should be 'load_layout(..., 1)'. The 1 is for 'open in a new view'. I have edited the above code. Matthias
  • Hi Keil, RBA::LayoutView is not an object you can instantiate yourself. I can only live in the context of the application. You you have to use mw = RBA::Application::instance.main_windowmw.load_layout("ttt.gds", 1)mw.current_view.save_im…
  • Hi Keil, the explanation is that "flatten" is a function that requires an "editable" layout. "editable" layouts have some capabilities that flatten requires. On the other hand, editable mode comes with some overhead th…