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,513
Last Active
Roles
Member

Comments

  • Right now, there isn't such a feature. It's probably possible to implement but it's a major complication and I think there are manifold implications like grid application, the definitions of distances and angle, the effect of rotations and displacem…
  • Hi Brian, at least on Linux, the startup scripts should be run in a deterministic way (alphabetical I assume). You can use "klayout -d 31 ..." to get verbose logs for finding out the order. But if the problem is PCell class names: these …
  • I'm a bit scared about what I read here ... Just to understand: we're probably talking about identical library names, right? There are basically two kind of name clashes: 1. Identical class, function, variable or method names 2. Identical library …
  • Hi, PyPI is just a subset and does not include the UI part. The reason is simple: it comes without Qt, which is good because that creates another axis in the dependency matrix and would render an unmanageable mess. Plus avoids potential licensing i…
  • Why do you use this: point=shape.dbbox.center.to_slocation=point.split(',')locationx=(location[0].to_f)locationy=(location[1].to_f) Instead of simply this point = shape.dbbox.centerlocationx = point.xlocationy = point.y ? And what's the effect?…
  • This is how you use code formatting in Markdown: def function(a, b, c): return a * b + cprint(function(1, 2, 3)) This is the screenshot how this is made: (Image) Matthias
  • Very good :) It's there already for some time. What you say it correct, but there needs to be a disclaimer here: using process_events excessively may lead to recursive event handling. So for example if you do process_events, some user might use a m…
  • Very good! I'm only using Docker now. Start with a pristine basic Docker image, install just what you need and you'll never run in such trouble :) Matthias
  • Could you please use Markdown code formatting? Put a line with three backticks in front and after the code. This is unreadable.
  • Hi, actually PyPI package is build by a Travis job :) You'll find the details in ".travis.yml" in the sources. The build is based on "setup.py" (setuptools). Provided you have the necessary Linux packages (gcc, libcurl-devel, p…
  • It's available in the downloads section now: https://www.klayout.org/downloads/MacOS/ST-klayout-0.26.9-macOS-Catalina-1-qt5Brew-RsysPsys.dmg Thanks, @kazzz! :)
  • Very good :) Edit: corrected a few typos in the text above ...
  • Hi Thomas, Please take a look into the .lyt files. The "" element should be empty or a relative path. If you specify relative paths, use the forward slash UNIX notation (like "../my_files"). This way, packages will work on Linux…
  • Found it :) It's a package (Tools/Manage Packages). The package is called "tf_import". There is also a Perl script to convert a Calibre layer properties file to KLayout .lyp: https://github.com/klayoutmatthias/calibre2klayout There is a…
  • Update: the techfile script now is a KLayout Package: the name is "tf_import".
  • I see ... Dumb question: why using the "Layer specification" at all? This is just how the database calls the layer and this is just a layer and datatype number for GDS. It can be changed, but this information is lost when you load the GDS…
  • Is this pip? Or setup.py? I get this message when I mess up debug and release versions of Python or when there are multiple Python installations on the system and they are interfering - specifically Python 2 and 3. Matthias
  • Yes, sure :) But there can also be a (Python) script: class TreePrinter(object): def __init__(self): self.text = "" def add(self, text, indent): self.text += " " * indent + text + "\n" def show(self): pya.…
  • @andyL There is such a parameter already. It's called "bias". This is a text with a magnification of 10 and a bias of -0.4: (Image) Please note - as you see on the "R" - for achieving a particular trench width you'll need a …
  • Well, you can't fit values of 0..1 into a PNG file. It only takes 8 bit ARGB and you somehow need to convert the values. So you'll essentially loose precision along with the metadata which give you the coordinate information for example. That's why…
  • Hi Thomas, Image was designed for reading images from PNG, but not to write them. It carries more information than a plain image, e.g. the data mapping (e.g. heat map), the transformation, z order etc. Actually, iterating the pixels and writing in…
  • The code has a couple of flaws. The basic problem is to properly create the layers and make them visible. Here is some working code: import pyalum_lib_txt = "HELLO, WORLD!"pya.MainWindow.instance().create_layout(0)view = pya.LayoutView.c…
  • @numero8 You can't just add any Python package to KLayout on Windows. This has been a topic in this forum a couple of times. See for example here for an explanation: https://www.klayout.de/forum/discussion/comment/6430#Comment_6430 You can use KLay…
  • @ram1 Thanks for sharing this nice image! :)
  • Hi, "DTrans" takes a Vector, not a Point (see here for the difference: https://www.klayout.de/doc-qt5/programming/geometry_api.html#k_2). And you should not use "DTrans", but "Trans". "DTrans" is for micron-…
  • @cusmaig Could you please elaborate a bit on this? What do you mean by "aspect ratio"?
  • I need to explain a basic concept here: In KLayout, there is a "Shape" object and then there are "working objects" (Polygon, Path, Box, ...). A "Shape" is a geometrical object living inside the database (the "Lay…
  • Hi Austin, I see what's wrong .. or better: what can be improved in the new implementation. The LEF/DEF layer generation is actually pretty complex and that's why in 0.27 there can be mapping file which takes away this complexity but needs to spec…
  • @numero8 there isn't a cell view for every cell (this is NOT Cadence). Instead, the CellView is an object inside a layout view and designates a part of the window where the layout is shown. To change the cell you want to see, use cv = RBA::CellVi…
  • As mentioned in the other post: DRC is just a check ("C" is for check), not an analysis tool. If you have Manhattan geometry where rounding errors don't accumulate, you can basically do size(-small_step) until the layer is empty. The accu…