Avatar

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Matthias

About

Username
Matthias
Joined
Visits
127
Last Active
Roles
Member

Comments

  • Hi Vikas, sorry for the late reply and for sharing the code! You can also achieve this without a loop using RBA::Region objects. Region objects can cover all shapes from a layer. Basically you can write: ly.each_cell do |cell| next if cel…
  • Hi demis, Have you tried the solution suggested in the forum? I think this works. But I don't want to create arbitrary files lying around when the program exits (for saving .lyp). What if multiple users look at the same file with different set…
  • Hi Luciano, have you tried the script above? Matthias
  • Hi, "0um" is not a valid specification that's why the error happens. Unit and value have to be separated by a dot. You cannot check "disconnection" by a space check, except if you have a threshold. A space check will detect spaces and if lets …
  • Hi all, I'd appreciate if you could file tickets for these requests on GitHub. There is a bigger chance that someone may find it and add this feature. Regards, Matthias
  • Hi Olivier, the ticket is not fixed yet - it's a bigger issue. I'd suggest to use the workaround for some time. I can reproduce (3), but I have not debugged the issue yet. But I think I can explain the issue: The problem is basically that C…
  • Hi Laurent, you're right, sorry. The line should be metal1 - metal1.width(1.0.um, projection).polygons 'square' is also good, but it probably selects more from the metal as "narrow". In general the problem is what to define as "narrow" …
  • Hi Arun, this is just a partial log. Please send the whole build log to the address on the Contacts page. I can't help with partial information. And if you paste a log here, please use triple backticks to mark code blocks (Markdown syntax). Th…
  • Hi, I'm using metal1 - metal1.width(1.0.um, projecting).polygons to select metal with width >= 1.0 µm. Matthias
  • Hi, the customizations are saved in the setup file. On Linux this is "~/.klayout/klayoutrc". On Windows that is "%HOME%\KLayout\klayoutrc". Matthias
  • Hi Luciano, It's good you got the same result :-) The diff tool is a "semantic" tool while "XOR" is purely geometry. "diff" takes the shapes and compares one to one. For example, if two rectangles form an "L" and in the other layout there is a…
  • Hi all, The layout layer names and the names inside the layer list are entirely different things. The layer name in the layout is a database property. The name of the layer in the layer list is for display purposes. In GDS you can't write laye…
  • I compiles with Python 2, but from the log I see it's trying to find 3.3 (libpython3.3m.so.1.0). Please make sure that when you run "build.sh", the right python interpreter is in the path. You may also try the RPM I put on the downloads page. …
  • Shape properties are fine. Instances have their own properties and it's not common to have instances inherit cell properties. Both are different concepts and used for very different purposes, so I'd not mix that. Matthias
  • Hi Olivier, the issue should now be fixed with 0.25.8. (3) may happen because when you run a script and have code inside some classes, the classes may not be redefined. Remember that you're working inside a live Ruby/Python interpreter: classe…
  • I have created a ticket for this: https://github.com/KLayout/klayout/issues/235
  • Hi Olivier, I can't reproduce the issue, but I think I have some idea what happens. I'll try further to find a way to reproduce it. The workaround is probably to use the cell index to obtain the cell: # instead of # cell = obj.inst().ce…
  • Hi yaroslav, I think Popen blocks because Qt implements it's own event loop (on Linux maybe it does a select, but I don't know if that helps keeping Popen active). There is a competition for CPU time and Popen looses. The QProcess approach wor…
  • Hi Doug, yes, tiling should help. But that's not available yet as an option in the fill dialog. You can however add it through scripting and embed the algorithm inside a tiling processor. That's not entirely trivial, specifically if you want t…
  • Hi, the easiest way to is check whether there is a main window: batch_mode = !RBA::Application::instance.main_window The main window is nil if in batch mode (-b or -zz). Otherwise it's a non-nil reference to the main window object. Matt…
  • Hi Vikas, the solution is very simple: cospath1 = RBA::Path::new(path_arr1, width) cospath2 = RBA::Path::new(path_arr2, width) cospath_wg_l = RBA::Region::new(cospath1) + RBA::Region::new(cospath2) cospath_tr_r = cospath_wg_l.transformed(RBA…
  • Hi Sunil, this log is just the last lines. The actual error is not shown. Do you have a chance to install the CentOS7 RPM? This is a tested version, but you'll need root permissions. Matthias
  • Hi Kevin, Maybe there is a macro installed which somehow prevents using rulers. Macros are kept inside %HOME%\KLayout too in the macros, ruby etc folders. So you could rename the entire "KLayout" folder to something else. Then KLayout should s…
  • Hello, Yes, shape properties are possible. You could also use texts to label the ports, if that is an option. Instance properties cannot be used because the PCell is the target of the instance, not the instance itself. Multiple instances can s…
  • Hi, that's because 0.24.7 is a bit outdated. The script above requires a 0.25.x version. A compatible version of the script is: RBA::Application::instance.main_window.load_layout($layout, 1) lv = RBA::LayoutView::current cv = RBA::CellView:…
  • Hi, you cannot. A PCell shall deliver layout and not modify the external attributes of a cell (such as name, placement, etc.). The user properties are among the external attributes. Instances cannot be accessed from within the PCell because KLayo…
  • Hello, you can achieve this through a script: Save this to "show.rb": RBA::Application::instance.main_window.load_layout($layout, 1) cv = RBA::CellView::active cv.cell = cv.layout.cell($cell) And run KLayout this way: klayout -rm sho…
  • Oh yes ... unlucky choice I admit. "size" is usually used for number of elements (like array#size in Ruby) ... but num_polygons would be better for sure. Matthias
  • Hi, I guess that is related to a broken configuration. Could you try removing or renaming ~/.klayout/klayoutrc (Linux) or %HOME%\KLayout\klayoutrc (Windows)? This should make KLayout start with a clean configuration. In case you have configure…
  • Hi Thomas, yes, the idea of the "LayoutToNetlist" API is to deliver geometry information along with the nets. The methods provided currently are "shapes_of_net" for flat output and "build_net"/"build_all_nets" for hierarchical output into a new l…