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 David, Right now that is somewhat tedious, but the next release will contain a DRC feature which among other checks includes a "strange polygon" check that detects self-intersecting polygons. Matthias
  • Hi David, thanks .. I would like to comment, but it will take a few days. Regards, Matthias
  • Hi David, the "module" is just a namespace, not a function that you can call. You can do the following: File1.rb:module Test def Test.foo puts "Inside foo" endendFile2.lym:load "File1.rb"module Test puts "…
  • Hi jeak, Is that circle made with a circle PCell? I don't think so - in that case it's a plain polygon and when you double click, all you will get is the list of coordinates. Or in other words, it's not a circle. Or is it something else? When read…
  • Hi Hannes, the object you'll have to insert is a CellInstArray object (this represents single as well as array instances or SREF/AREF's in GDS slang). This object takes a cell index which you can object from the top cell's Cell object with Cell#cel…
  • Hi Laurent, thank you for the remark :-) I'd like to add that it is possible to create images with Ruby scripts - that requires some learning but is probably the most efficient way to solve that problem. Matthias
  • Hi jeak, I can just guess what you mean by that question. If you mean the CIRCLE PCell: the center of the circle is the instantiation point of the PCell. Matthias
  • Hi Hannes, if you want to import the original top cell as an instance you'll have to create an instance of the new top cell rather than to import the instances of the child cells of the original top cell (that is what you do). The corresponding co…
  • Hi OkGuy, Right now it is not possible to specify input in that way. You can map input layers when reading (layer mapping table in the reader options - see http://www.klayout.de/doc/about/layer_mapping.html). That means you can map datatype 1-255 t…
  • Hi Laurent, I am sorry, but I don't understand the question. The connectivity layers are stored inside the technology setup. You can export or import technology setups, if that is what you mean. Please see http://klayout.de/doc/about/technology_man…
  • Hi hman, if you produce a snapshot with the "File/Snapshot" function, the scale is included if it is enabled in the view. Maybe she does not have the scale enabled? Or are you using some script to produce the snapshots? Matthias
  • Hi OkGuy, there is not much specific about the snapshots - at least not compile wise. Full compilation (including qtbinding) is done in ~30 mins on my old dual core (Ubuntu 12.04LTS, 32bit), gcc 4.6.3. Without qtbinding it's about 10 mins. Someti…
  • Hi CY, you don't necessarily need to create a technology setup before starting. Try to start without a technology (choose default or clear the technologies you created) to begin with, that may be less confusing. In a fresh layout, create layers wi…
  • Hi Roman, no clue. I think that's just the last part of the message. Anything before that? What gcc are you using? Matthias
  • Hi Nelson, former versions of KLayout have various limitations regarding the maximum permissable coordinate value inside OASIS files. The latest version (0.22.7) should support the 32 bit coordinate space for all OASIS properties. The message indic…
  • Hi Laurent, "compiling for multi-threading" isn't just as easy as it seems. First, you'll have to use algorithms that can be put onto multiple CPU's, second you'll have to insert a whole bunch of mutexes and other fancy things into your c…
  • Is does what it says: it will show the selected cell as top cell without the cells it is embedded in. By clicking at it, it will basically disable all layout expect the layout of your selected cell plus it's child cells. You can return to the previ…
  • Hi David, sorry I did not catch the last one about the key binding: of course the wrapper code is responsible for the behavior. The wrapper code is "old style menu binding" which was necessary before macros came into existence. Simple ru…
  • Hi Laurent, I somewhat doubt that depth of hierarchy is a good measure for the importance of some shape - whether it's a text or not. Sometimes it's not even possible to define a uniform depth of hierarchy at which a shape should appear. Neverthele…
  • Hi Laurent, thanks for sharing the script with us. I took the liberty to nicely format your nice script :-) The forum supports Markdown formatting - if the Markdown checkbox is checked, code can be formatted by indenting it with four spaces. Tha…
  • Hi David, thanks for sharing this information with us. You're right - it is strange that there is no method for this yet. But the good news is there will be one in the next major release: Layout#find_layer will exactly do the above. And one more b…
  • Hi Canny, you mean "how to show another cell"? You can do that this way (in this example the name of the cell to show is "MY_CELL": cell = view.active_cellview.layout.cell_by_name("MY_CELL")view.select_cell(cell, view…
  • Hi David, that is basically possible, but you'll need to code it in Qt/Ruby. That requires that the Qt binding was enabled upon building KLayout (the binary packages are Qt enabled). Some documentation about the Qt binding can be found here: http:/…
  • Hi David, I am still confident that it's working, because I still can reproduce the functionality both on Linux and Windows. Just a question: does the keyboard shortcut show up in the menu entry in the Tools menu? In my case I have used the follow…
  • Hi David, comparing two cells is the job of the XOR tool. Load both layouts into the same panel. Make the cells you want to compare the new top cells ("Show as new top" in the cell tree, switch between the layouts with the drop-down box …
  • Hi Canny, the easiest solution is to prepare a .lyp file with the layer properties (colors, stipples, styles and the layers you want to show) and load the layer properties: # load the layoutmw = RBA::Application::instance.main_windowmw.load_layout…
  • Hi Laurent, basically layer index and layer properties are two different items - one is the related to the layout database and one to the view. To find the layer properties for a layer index, you'll need the LayerPropertiesIterator object and the f…
  • Hi David, here are some answers to your question: For 2.) you'll have insert a shape rather than changing it. So # instead ofshape.path = new_path# do:shape.shapes.insert(new_path) If I understand your request correctly for 3.) you want to repla…
  • Hi David, I don't have time right now to look into your code, but I hope I can do so soon. Regarding the key assignment: it's working on my installation but under the following conditions: * The key must be pressed in the layout window (not insid…
  • It was meant as a sample :-) Please use any keys you like. Matthias