Matthias

About

Username
Matthias
Joined
Visits
15
Last Active
Roles
Member

Comments

  • Hi jakub, Polygon.size() is not the full truth - in general, polygon sizing does not necessarily render a single polygon, hence there is no true "size in place" method. The Polygon.size() function is rather a preparation step and needs po…
  • Hi Rambir, The function you refer to is transforming the layout. It does not leave a value somewhere. So you can't extract that value later. What exactly is your application? Matthias
  • Hi Andy, I'm afraid I don't have a good idea how to solve this. In the next release it's going to be possible to extract the rounding radius from polygons. This may provide a way to implement this kind of check. Matthias
  • Hi Xaveer, the tiles feature of the DRC is implemented using the TilingProcessor. You can basically use the same for implementing your own tiled size. Matthias
  • Hi Andy, I don't know what's going on precisely, but this is working code: include RBAlayout = Layout::newtop = layout.create_cell("TOP")# The layer as a LayerInfo objectlayer = LayerInfo::new(2, 0)# The radius in micrometersradius = 1.5…
  • Hi, Regarding 1.): please read here what it says about numbers: an integer "3" is 3 database units (i.e. 3nm if your DBU is 1nm). Regarding 2.): that's odd - if you delete klayoutrc it should really reset the window. Maybe it got minimiz…
  • Hi Dion, that happens with certain Ruby versions (I think 2.0.x). It becomes an issue with more recent Ruby version where Fixnum was actually removed. The master on GitHub (https://github.com/klayoutmatthias/klayout) offers an enhanced solution tha…
  • Hi chhung, the code looks correct. It's a bit bloated - you can probably simplify it a little exploiting the fact that a property id of "0" means "no property" and using the RBA::CellInstArray taken from the RBA::Instance object…
  • Hi Dion, sorry, but considering that a somewhat "more than trivial" change I did not include that into 0.24.10. I'm moving everything to GitHub now (https://github.com/klayoutmatthias/klayout). In the master, this patch is already includ…
  • Hi werk, what precisely are you doing? You mean, you are using pya.cc for your own project? Running Python in separate native threads is not supported AFAIK (at least not with CPython - JPython or IronPython can do this. But maybe that changed wit…
  • Hi, The method you are looking for is: RBA::LayoutView::current().box() This will give you the current view's displayed area in micrometer units. For searching a region you need a box in database units. If you're not using view transformations (…
  • Hi chhung, this script looks quite good already. I admit it could be easier, but lacking the right functions currently, it's the best way to emulate it. The function you are looking for is: Layout#properties_id and the reverse Layout#properties: …
  • Hi Daniel, that can't be correct. If you really produce a correct instance of Cell1 then the hierarchy will be top_cell -> Cell1 and nothing else. So I think there is something wrong with the code. Please paste a complete sample (reduced on…
  • Hi chhung, I'm sorry, but I still don't get your problem. And I don't see any code I could help with. In you sample, the hierarchies of file1 and file2 are identical. Will it be a solution then to copy over the objects of file2's top cell only? I …
  • Hi Daniel, I'm still trying to understand what you need. There is no way to make a cell "invisible" for the hierarchy tree. The tree depicts the relationship, so tweaking it does not look like a good idea. If you see "top_cell"…
  • Hi chhung, I understand you basically want a smart way to detect that cells are identical and not copy over the contents. Right? That's a feature not provided by the copy_... methods. But if you know that only the top cells differ, you can basical…
  • Hi chhung, What exactly do you want to achieve? Method 1 is useful if you want to merge layouts by "adding information" to an existing layout. You can use this approach for example, if you have split a layout into several layouts contain…
  • Hi, Very simple: open the marker browser with "Tools/Marker Browser" and choose "Open" from the "File" menu in the upper right corner. Matthias
  • Hi Daniel, maybe by chance you have selected "Flat cell view" in the cell list? Please right click on the cell list an check whether this option is selected. Matthias
  • Hi Joel, first, sorry for the late reply. Regarding your issue, I need to check that. Basically, custom and BASIC PCells are not treated differently. Maybe there is some confusion that both PCells are called Circle. However, as you rightly stated,…
  • Hi, Please check whether the database unit is small enough to represent smaller dimensions (typical values are 0.001 µm). The database unit is the basic resolution and every dimension will be confined to multiples of this unit. Regards, Matthias
  • Hi, the problem you have was discussed in this thread: https://www.klayout.de/forum/comments.php?DiscussionID=89. That solution mentioned is still valid in 0.24, but with 0.25 your code is going to work too. The discussion relates to Ruby, but the…
  • Hi Chris, I need to look into this. Actually the database object is supposed to be taken from a view. It's was not designed initially to live standalone. That's why the constructor fails (actually it's a late initialization that fails). I don't re…
  • Very good :-) My advice is in general to clear the selection when you have modified a layout in a script. That may be a little inconvenient but will avoid such issues later. Kind regards, Matthias
  • Hi Andy, is the origin (0,0) of the replacement cell the same than that of the original cell? A cell placement puts the origin of a cell at the specified position. If for example, the original cell had it's origin in the center while the new cell …
  • Hi Chris, I suspect some other issue before. Maybe you modified the shapes container before this loop? This piece of code works for me: alv = RBA::LayoutView::currentalv.object_selection.each do |obj_inst_path| if !obj_inst_path.is_cell_inst? &a…
  • I mean: replace from.template take_object<X> (); by from.take_object<X> (); Matthias
  • Hi nicoh, which clang and gcc version are you using? You can try to delete the "template" keyword. That may break the build on other systems, so I have to check that for other compilers. Matthias P.S. please don't expect the master on …
  • Hi lacopt, Which .deb did you use? The Ubuntu 16 package has a dependency on Ruby 2.3. Matthias
  • Hi Laurent, the message you get with "HAVE_64BIT_COORD" is just a warning. It should not make the build fail. The real error must be somewhere else. The Ruby problem is a known incompatibilty. See: https://www.klayout.de/forum/comments.p…