Matthias

About

Username
Matthias
Joined
Visits
16
Last Active
Roles
Member

Comments

  • Hallo, there is no such function yet, because is somewhat contradicts with the concepts of GDS (constant width of paths, isotropic scaling only for instances). However, I have been requested that function several times now so I will try to provide…
  • Hi, the strm2xxx utilities have been provided for test purposes mainly, so they don't provide much functionality. They could be extended to support layer maps of course, but right now, there is no such option. KLayout tries to derive reasonable nu…
  • Hi Joel, I'm afraid there is no automation API for that function yet (but that's a good suggestion). Import and export were basically intended for easy exchange for technology setups between users. Basically it's possible to manipulate the technol…
  • Hallo, the base path was intended for other components, but you're right it could be applied to layer properties as well. I'd even consider that a bug. Right now, you have to specify the absolute path, but I will fix that in the next minor release…
  • Hi Lital, Here's some code that does this: input_file = "t10.gds"output_file = "t10_clip.gds"top_cell = "RINGO"clip_box = RBA::Box::new(0, 0, 5000, 5000)ly = RBA::Layout.newly.read(input_file)clip_cell = ly.clip(ly.ce…
  • Hi Canny, here's a piece of code that reads a layout (here: "x.gds"), creates a new top cell (here: "ROTATED") which rotates the original cell by 90 degree, flattens that cell and writes the output (here: as "x_rotated.gds&…
  • Hi MattF, thank you for that feedback :-) Regarding the documentation: there wasn't any, but now there is one here. Best regards, Matthias
  • Hi Hannes, thank you for that hint about nl_langinfo. I'll include that in the code. However, I have one remark. Actually it's something that needs testing. The system locale is used basically in two places: when decoding environment variables and…
  • Hi Hannes, surely that is possible, but lacking MacOS hardware I will not be able to test it (unless someone gets Apple to spend a tiny fraction of it's record revenue to sponsor some MacOS box ... :-) ). As I understand, for QFileOpenEvent there …
  • Hi Matt, there is a script which converts Calibre's layer map files (which have a syntax similar to yours) to KLayout layer properties files. See the corresponding forum entry here: http://klayout.de/forum/comments.php?DiscussionID=48&page=1 A…
  • Hi Daniel, thank you for that hint. I'll add that to the header in the next minor release. I reckon that AC1006 means something like AutoCAD 2010 - since the output format is not quite specific, I guess it does not matter much what version to use. …
  • Hi Hannes, that does not look quite good ... Frankly, I don't understand why the MacOS build became such a problem. Until roughly a year ago, the build apparently was pretty straightforward ... Regarding the QPaintDevice: I don't instantiate one …
  • Hallo, once the KLayout process is started there are not many ways to interact with the process by means of a script currently. That is because there are no built-in interfaces that allow external processes (such as the shell) to trigger actions on…
  • Hallo, well, I couldn't have done it better ... I agree it's somewhat messy. It could be simplified somewhat, but in the end there are some parameters you need to specify and something like "cell.insert_text(layer_index, "hello", 10…
  • Hi friendx, The properties dialog is intended to edit the object's properties, so derived properties are not shown. The rectangle origin is available however - if you use the "Corners" tab, you can edit the corner coordinates instead of t…
  • Hi friendx, that's not too bad :-) Regarding the performance, it may help a lot to use the RecursiveShapeIterator object which is delivered by Layout#begin_shapes. The loop then may look like this iter = lo.begin_shapes(cl.cell_index, layer_idx…
  • Hallo, I have not tried Qt5 myself, but given the experience I had with the Qt3 to Qt4 transition I'd say it does not make much sense to try Qt5 on the KLayout code. Qt4 was very different from Qt3 - in many respects, Qt4 came with a completely di…
  • Hi Louis, A .lyp file can actually hold painting styles for multiple layouts as well. Your observation is correct that the "source" parameter contains an additional specification from which layout the layer which is painted should be tak…
  • Hi Salvatore, With "shrinking" do you mean sizing or scaling? "sizing" (or "biasing") is the process of changing a structures width. Scaling is a transformation which multiplies all coordinates with a certain factor. …
  • Hi Ken, you're right, both with the fix and the observation that the planarize command does not work. The planarize command needs some special handling in the flipped case. I have updated the script at the given location (see above) accordingly. N…
  • Hi Ken, you mean "cannot get ..", right? :-) Anyway, I could reproduce the problem. I have also found a cure: actually the "world" did not extend far enough below the wafer (including depth). I have checked in a new version of …
  • Hi all, I wish I could help with that, but so far I am not equipped with MacOS hardware that would enable me doing so ... Matthias
  • Hi, In version 0.21.x that is actually required, because Qt initialization requires that. If you don't have an X11 display you may consider using a virtual X server (i.e. "vncserver") to create a X11 environment without having an actual s…
  • Hi Joel, there are actually two ways to achieve this. The first option is to use the KLAYOUT_PATH environment variable. KLayout scans all configuration directories given in the path. Note that the path separator is ":" on Linux and "…
  • Hi, it's me too :-) I wonder how that can happen. Normally KLayout tries to assign individual layer numbers to the layers. If the layer name is a number or of the form "LxDy", it tries to recover GDS layers/datatypes from the layer name.…
  • Hallo, frankly the net tracing feature is not built for extracting large nets. It uses an incremental, flat approach. That means it looks for shapes touching shapes already found on the net through the hierarchy and adds these shapes to the net. Th…
  • Hi OkGuy, You know, I really hate DXF ... Normally it should simply read over any unknown codes. But depending on the context that may not be the case. Are you able to provide a simple test case to debug that? Best regards, Matthias
  • Hi Joel, I guess I understand your request. Actually the intended solution for that use case is the import/export feature. This feature is available in the technology manager in the technology list's context menu (right mouse button). In that scen…
  • Hi Indigo, actually there is a simple or a complex case. The complex case occurs if you want to move shapes that are located in child cells. In the general case that involves variant building because a cell might be instantiated with different ori…
  • Hi OkGuy, that issue is fixed already - actually I have introduced that bug while implementing a format variant for the RVE reader. Unfortunately I only had test cases in my regression test suite which did not trigger that bug. I have patched 0.22…