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
Hi Jay,
you're right. The -1 layer index may appear if a layer is specified in the layer list but is not in the layout (i.e. when the layer list is loaded from a file). I did not take into account that case correctly. Some of the ruby methods are m…
Hi Jay,
the following is a piece of ruby code that adds a new "Tools" menu entry (Dump flat shapes).
It asks for a file name and prints the shapes as they appear in the current top cell for all
visible layers. The format is XML like that:…
Hi,
I hope that script serves as a preliminary solution.
@Jay: the problem with the .rbm files may be connected with the shell or system you are using. I am also not able to reproduce it on Ubuntu and Windows. However I am interested in feedback f…
Hi Jay,
I seem not to be able to reproduce the problem with the init file. In my case the < and > keys are mapped to < and > entities in the init file.
I am building on Ubuntu 9.10.
But I am taking that serious. Is it possible to send…
Hi Jay,
Currently, I am lacking experience with LEF/DEF. I also don't have access to a P&R flow for testing.
Is it possible to give an example (gds and LEF) to the mail address given on the contact page? In a first approximation it might be po…
Hi Joe,
I prepared a sample script that demonstrates how to convert an image to layout.
To install the script, copy the code below to a file with a suffix .rbm, i.e. "image2gds.rbm" into
the installation directory (that is where the klay…
Hi Joe,
the image import feature is intended for visualization purposes, that's why no conversion to layout is provided currently.
It is possible to write a Ruby script that extracts information from the images and creates layout from that. The me…
Hi,
The user properties are a generic concept provided by the OASIS and GDS format. It is possible to associate shapes with more or less arbitrary properties. Sometimes, these properties are used for example to annotate net names to geometrical obj…
Hi Chhung (really with two 'h'?),
I fixed the problem and provided a new release 0.18.2 (see download page).
This version should fix your problem without the need of patching anything.
Best regards,
Matthias
Hi Chung,
Your file is probably correct - that is a weakness of the OASIS reader.
Basically the problem is that text strings can be associated with integer ID's which save bytes in the OASIS stream.
The OASIS specification permits ID's being assoc…
Hi kuser,
For the first request there is a solution: on the "Misc" page in the Setup dialog, check the "Select all hierarchy levels" checkbox in the "On Cell Change" group. I admit it's somewhat hidden ..
For the seco…
Hi,
Sorry for not answering that thread earlier - I was not looking into that forum after some days of inactivity ...
Regarding the build issues on 32bit: some gcc versions need a lot of memory to build dbShapes.cc. In my experience, 1G RAM should…
Hi Till,
I have created a Ruby script that emulates the functionality (requires version 0.18 at least).
It registers a new function "Overlaps To Void" in the "Edit/Selection" menu. It works on the selection (not the whole layer…
Hi Till,
I had the feeling that the shapewise booleans are not well documented and they would need some detailed explanation. Sorry for assuming that you have not tried them.
I guess I now understand better what you need. I could offer a solution …
Hi Till,
you are right, that is a problem currently.
With binary formats it was easy to detect the format by analyzing the first few bytes. With text formats a more elaborate method is required. I could treat every unknown and ASCII-like format as…
Hi Till,
if I understand you correctly, the functionality you look for is already there. It is not necessary to use two separate layers and the whole-layer booleans to get the effect.
You can draw two or more shapes on the same layer: a larger hul…
Hi Mikel,
there are a lot of ways to write boolean functions. The most important application probably is to create new layers from existing ones, similar to what the menu functions do.
This is an example piece of code that performs a boolean betwe…
That particular problem can occur on system with a german locale. It will be fixed in the next release 0.18.1.
A quick workaround is to set the locale to "C", i.e. on the shell command line:
export LANG=C
Matthias