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

Comments

  • Hi all of you, thanks for the MarkDown suggestion - I'll have to figure out how to make the Vanilla forum system do that ... Regarding the code issue above: You don't need to create RBA::Instance objects (you can since Ruby does not forbid that, b…
  • Hello, The flatten method removed the child hierarchy from a cell. That is, if a cell "A" calls child cells, for example "B" and "C", "A" will look the same after flattening, but "B" and "C&quo…
  • Hi Vaibhav, the "Trace Net" feature provides exactly the functionality you look for. To set of a layer stack, open the net tracer dialog and click on the "Layer Stack" button in the lower left part of the dialog. There is more…
  • Hi David, you're right, but still I'd like to take a system from the shelf. Building web place myself is a lot of effort for a benefit difficult to measure. There may be better forum systems out there which I could pick. BTW: thanks for mentioning…
  • Hi Lunan, yes there is. Instead of "ly.write" use the version with an option object: options = RBA::SaveLayoutOptions.newoptions.format = "DXF"options.scale_factor = 2.5 # TODO: change this valuely.write($output, options) Yo…
  • Hi Simcha, it's even more weired: according to the spec, the separator can be ANY character except semicolon, brackets and a few others ... I see I misunderstood the spec so far. It's even possible to use verbose commands such as "Cell" i…
  • Hi, very good, thanks! I'm glad to see people utilize the available features to solve their problems :-) I am not really familiar with CIF. I regarded CIF a somewhat outdated format with a couple of flaws so far and your experiences don't really m…
  • Of course you are right ... I have added to code above already. Thanks for the hint. And you're right about the exchange place too, but I don't have the resources to create an infrastructure for that right now. A lightweight solution would be to st…
  • Hi Naresh, you mean while drawing? There are no variables when you create layout by editing. But if you script a layout you can of course use global variables. Matthias
  • Hi Naresh, For generating circles I think that it's less effort to code a circular polygon generator than to instantiate a PCell by script. Here is some sample: n = 200 # number of pointsr = 10000 # radiusda = 2 * Math::PI / npts = n.times.co…
  • Hi Pascal, no, MOC is 4.8.5 which is still Qt4, so that is fine. Maybe it's the other way round and headers come from Qt5 ... I see that there are many -I statements, so maybe one of them leads to Qt headers too. It'd difficult to tell from my pers…
  • Hi, I have built the Debian package on Ubuntu 12.04LTS - apparently your Debian's libc6 is older than mine. I wonder why wheezy uses 2.13 which is almost four years old. I don't think it's recommended to upgrade libc, so I'd suggest to try a local…
  • Hi Heena, Transformation happens in the coordinate system of the cell. So rotations are applied using the origin of the cell as the center of rotation. To rotate around the center of the shape, you can first transform the shape so the center is at…
  • Hi, You may like to have a look into: http://klayout.de/forum/comments.php?DiscussionID=551. That is related to the ARC Pcell already. Please also have a look at http://klayout.de/doc/programming/index.html for an introduction into the scripting f…
  • Hi Xamax, I understand your point, but without integrating circles into the database, you won't be able to provide a real circle shape - with the respective properties and editing features. You can create a polygon in a special way but you won't be…
  • Hi psalome, That looks like a mixing of Qt4 and 5 - maybe moc is taken from Qt5 while the includes come from Qt4? Matthias
  • Hi xamax, thanks for you efforts, but I have not considered supporting circles or other conic shapes directly, for the simple reason that they are not supported figure types in GDS. It's true you can implement them as polygons as you did, but you …
  • Hi Thomas, I'd use the layer subtraction function in the boolean operation set. You could create a temporary layer, draw a shape (rectangle, polygon ...) where you want to remove the dots and use Edit/Layer/Boolean Operation with * Layer A: the la…
  • Hi there is a discussion about a similar problem here: http://klayout.de/forum/comments.php?DiscussionID=195&page=1#Item_5. Another discussion covering that topic is http://klayout.de/forum/comments.php?DiscussionID=173. The approach uses a si…
  • Hello, Qt5 is somewhat, but not sufficiently compatible with Qt4, so you can't compile KLayout with Qt5. Sorry. Matthias
  • Hi, still lacking suitable Mac hardware I do not actively support MacOS. So I can just guess. Why won't it compile? Any error messages? Matthias
  • Hi mfidalgo, I can just guess. Is there any error messages given? Knowing the cause will be very helpful to debug the problem. In general you cannot import any kind of Cadence techfiles. Some are written in a way to contain Skill code which the sc…
  • Hi OkGuy, the build script will use a top level Makefile which just includes "Makefile.env", "Makefile.body" and "Makefile.rules". I cannot support every kind of build system. I'd love to support qmake and QtCreator (…
  • Hi okguy, these files are generated from the .ui files in the Makefile using Qt's uic tool. They are generated in the object directory and cannot be found in the source tree. If they do not exist, the uic step failed for some reason. Please check w…
  • Hello, difficult to tell. Is there any message giving details about the problem? Basically there are different flavours of CIF. For example, Klayout uses 9x records to specify cell names and path types. Maybe the LDF converter does not accept them…
  • Hi Laurent, The correct Python statement is: from pya import *dialog = QDialog(Application.instance().main_window()) (note the brackets). You don't need "new" - it works too but that is not "pythonic". If you want to show the…
  • Hello, to be frank, I have not tried on OpenSuse myself. I will need to install it in order to reproduce the problem. From the stack trace I can only deduce an incompatibility of Ruby with KLayout's code. Once I have an installation and I am able …
  • Hi Hutch, thanks :-) But good point: I did not have angles in mind yet. Here is a script that measures the angle between two rulers: mw = RBA::Application::instance.main_windowlv = mw.current_view lv || raise("No layout loaded")rulers …
  • Hi Ben, a working code is this: # set the parameters# set some sample parameters (uses GDS layer 10/0):r1 = 20.0r2 = 30.0param = { "layer" => RBA::LayerInfo::new(1, 0), "actual_radius1" => r1, "actual_radius2"…
  • That's pretty simple - "cell" is unknown. You'll have to put the code into the "done" method before the "write". There you can use "@top" member variable instead of "cell" to address the top cell. …