Matthias

About

Username
Matthias
Joined
Visits
16
Last Active
Roles
Member

Comments

  • Hi, you're right. That was not intended. The lower limit is 0 instead of allowing negative values too. Fortunately there is a simple workaround. The "ask_double_ex" method allows specifying a longer and upper limit. Just set that to some…
  • Hi Casper, Gerber data is organized as one file per layer - if you want to have parts separated they have to be present in different files. Usually you have artwork files plus drill files. Artwork files are imported as layout layers (typically conn…
  • Hi Max, I am currently stabilizing the implementation and I plan to provide a preview version soon. I want to gather feedback from the community and ask for testing. So if you want to join, your support is very much welcome. Thanks, Matthias
  • Hi Sunny, I was guessing so. But I'm not aware that Cadence does not decomposition. Maybe the maximum number of polygons is set to a very small value. Regarding the merging: you can do that with a DRC script. The basic scheme is # merge layer 1, …
  • Hi Sunny, that is pretty strange. KLayout will never modify a Polygon on reading. So it must have been decomposed already when you created the file. How was that file created? Matthias
  • Hi Yan, I doubt that your mask maker has a technical reason to reject OASIS - OASIS is quite a common standard today, specifically in the mask making business. I see more reasons to reject GDS because of the sloppiness of the specification. I suspe…
  • Hi yan, database oder or display settings do not change the size of the GDS file. You can compress the gile (select the "gzip" checkbox). That will give you a factor of 5 roughly. My definitive recommendation is to use OASIS format inst…
  • Hi, you're right, the Global Transformation just changes the view. "Edit/Selection/Flip Horizontally" mirrors the selected items. So does "Edit/Selection/Flip Vertically". You can select all and use that function - but beware t…
  • Here's a screenshot demonstrating how Python and Ruby coexist in the macro development IDE: (Image)
  • Hi, that should work, doesn't it? What is happening? You a note of caution: when you specify a Windows path with backslash characters ("\"), make sure you use a double backslash since a single one will specify special characters such as …
  • Hi, thanks for keeping the discussion going ... :-) The basic reason for the memory problem is likely to be the generation of huge polygons, which happen to be created when you punch many holes from some background polygon. Tiling is a very good o…
  • Hi, please see my reply on your first post. GDS does not carry layer names and you'll need a separate file to store that information. You have two options: * Rename layers in the layer list (that is basically an alias) and save these names along …
  • Hi, as I mentioned, the editing functions are not very expressed. That is one weakness. Snapping to objects is not effective on move, but it is when you do partial editing (move one edge or corner). Matthias
  • Hi, Maybe, 1.gds and 2.gds have the same library name. In that case, only one of them is shown since there can only be one library with a specific name in the system. The library name is not the file name but a property stored inside the GDS file. …
  • Hi, once again ... sorry for the late reply. A path will disappear on merging if it has not width. That is because the merge operation creates an equivalent polygon area and if the path does not cover an area none is generated. Please consider th…
  • Hi, sorry for the late reply ... There is an inherent limit in GDS which does not allow more than 32767 rows or columns. The format allows 65535 when dropping compatibility constraints. But that's it. You can try to save to OASIS - there is no su…
  • Hi, well, KLayout and AutoCAD are probably very different tools. The world of IC layout comes with a couple of concepts, specifically hierarchy and strict layering. The basis of KLayout is the GDS format and there are some substantial differences t…
  • Sorry folks, this is NOT my business. I won't figure out how to make it "smart". I have better things to do. 1.) Simply store your data in the usual places (Documents, shares wherever). Why using the installation folder for your data? 2.…
  • Hi, That's right. That is the best that you can get with the scripting approach right now. Please note that the performance is not very good for small pixels, because every pixel is computed on its own. There is a routine inside KLayout which can …
  • Hi, downsampling is always some approximation, but area density is probably the best you can do. A assume you want to use the grayscale value in the sense of some "transmission". But you need to be somewhat careful with the definition - …
  • Hi Nick, the behaviour can be explained if you consider that "shape.box" returns a copy of the internal database object. If you manipulate that copy, it won't have an effect on the database object initially. But you can easily fix that by…
  • Hi, Yes, understood :-) The net tracer was intended as a GUI feature for layout debugging rather than a non-interactive tool but I see there are applications out there. I have to isolate the code in order to provide an API, so that won't be a quic…
  • Hi, it is, if we have the same idea of "anti-aliasing". The density map will reflect the area covered by layout for each pixel. That is one possible way of defining some layout metrics on a coarser grid and it's easy to implement. It wil…
  • Hi John, good to hear that :-) Usually the configuration files are upward compatible so there should not be any surprises when you upgrade. But I admit there have been a few bugs breaking that rule in effect. I'll do my best this will remain a spe…
  • Hi John, there is no change that could explain that. Maybe there is something with the configuration file. Maybe layer mapping is on or something like that. Could you move the configuration file away and try again? KLayout will then initialize the…
  • Hi Julien, in the box properties dialog there is a separate tab on which you can enter the boxes parameters in the form of center point / size. In addition, there is another general feature which may be useful not only in that case. You can enter…
  • Hi, thank you :-) The answer to the question is acually quite simple: instead of "0", just use "2" for the second parameter of load_layout. Here is the explanation: http://klayout.de/doc/code/class_MainWindow.html#method134 M…
  • Hi, You'll find some first instructions how to create a layout here: http://klayout.de/doc/manual/editor_operations.html There are some more pages describing the basic use model of the program (user interface, layer view concept, cell list and si…
  • Hi Itamar, I guess the text object is somewhere in a child cell. In order to get the final location, you'll have to flatten the cell or you apply the transformation of the cell instances to the shape. A handy class is the RecursiveShapeIterator whi…
  • Hi Acku, the message is typical effect of having a mismatch between library and ruby interpreter version. If no specific command is given, the build script incokes "ruby" in order to determine the Ruby version. If you don't specify a libr…