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 Alex,
I have fixed that problem along with a nasty flaw: now, the cross section is extended internally somewhat further by an adjustable parameter ("extend", default is 2um) to eliminate boundary effects.
The new version can now be ob…
Hi Alex,
that's probably a bug ...
I think the script is rather a proof of principle, not a useful implementation. Because there was some interest in that topic I started a project on sourceforge (http://sourceforge.net/projects/xsectionklayout/).…
Hi Oliver,
I am trying to make myself familiar with FastCap and FastHenry. I wonder what to do with non-rectangular features - I assume that decomposing them into rectangles and triangles would be a good starting point.
Best regards,
Matthias
Hi Brendan,
I have some simple preliminary solution here: shape_stat.rbm. This ruby module adds a new menu entry above the "Properties" entry in the "Edit" menu ("Shape Statistics"). This function will compute some val…
Hi Oliver,
I had a brief look into the documentation but I am not quite sure about the tesselation issue. There seems to be a tool that generates a mesh for a rectangular geometry and create .qui files that you can include, but I understand that it…
Hi all,
thanks for that feedback.
Please note that this is more like a feasibility study. It's not perfect in every respect. In particular, the sizing approach is very limited and somewhat fragile. I'd like to try to enhance the script by providin…
Hi Alex,
I have provided a ruby script which adds this functionality and lets you select between different setups (see my latest posting).
Hopefully that helps.
Best regards,
Matthias
Hi Oliver,
I'll look at the stack trace if you happen to get one. I don't have experience with the OS X version myself but so far I felt there is no much difference between Linux and OS X.
Your descriptions indicates that it might be a problem wit…
Hi Oliver,
that depends how the ports are marked. Usually, there is a label on a port shape or the port shapes are on special layers.
If you have a label, a feasible solution would be to look for shapes under the label using the region query using…
Hi Oliver,
I am not familiar with OS X myself. I was told that you need to install both 32 and 64bit versions of Qt to be able to build the project. The default build seems to be 64bit. The message indicates that you did not install the 64bit versi…
Hi Oliver,
I see the point. It should be possible to record simple actions but it's likely that some operations cannot be mapped because there is not Ruby equivalent available right now.
Best regards,
Matthias
Hi Oliver,
I tried to reproduce the problem on Ubuntu but have not been successful to do so.
As a wild guess, I'd try to stray in calls to "view.update_content" because that should synchronize all the internal states. I'd try to insert a…
Hallo Hans & Alex,
I have performed some more experiments on the boolean approach and adding a "planarize" function already gives some flexibility. I tried to describe a simple CMOS process and a result screenshot can be found here. I…
Hi Scott,
There is no import function for that particular format yet.
It is surely possible to create import functions for ever kind of format in Ruby.
On the other hand, if you are skillfull with text processing functions (i.e. awk, sed, some Ed…
Hi Oliver,
"layout_info" is a reference into the internal object (that's because in general, one tries to avoid creating copies).
To change the properties, you have to create a duplicate first (note the "dup"):
layer_info = la…
Hi Oliver,
you are right, that is not possible now. That feature is on my wish list as well.
The basic problem is that the ruby interface right now is designed on a somewhat different layer than the user interface. In that respect it's more like t…
Hi Oliver,
no need to be sorry. You're not the first one to make that mistake ... :-)
I admit, it's not quite intuitive. I am seriously thinking about using "Editor" as the default ...
Best regards,
Matthias
Hi all,
After thinking somewhat about that request, I think I can come up with a very simple solution.
IMHO it is possible to emulate the process stack more or less using the boolean and sizing functions already built into KLayout. I have performe…
Hi Joachim,
I had a couple of discussions about the feature already. It looks like you're not the only one looking for that :-)
Technically the issue is not to provide an interface to the layout but rather to implement a more or less reasonable cr…
Hi,
I probably forgot to mention that the Windows installation does not come with the full ruby runtime environment. I'll change that in the next release.
Right now, you can install the ruby libraries on Windows yourself, i.e. from
http://rubyfor…
Hi Kazzz,
The cell iterator is correct. The problem is that create_layout is creating an empty layout. Because of the second parameter of load_layout (true), the layout that is loaded is added to the view (the first layout still persists). Since th…
Hi,
I suspect that /usr/lib holds the 32bit versions of the libraries. On some installations (I think RHE for example), there is a /usr/lib64 directory containing the files for the 64bit build. If that is the case, you should use this path instead …
Hi,
it looks like you have not built KLayout with Ruby support. I assume you are using some Linux distribution.
The build script usually enables Ruby support automatically if the Ruby headers and library are found. This should be the case if you h…
Hi,
regarding the first comment, it's probably my fault to place those two menu items so close to each other :-)
It's actually not "Close Panel" but "Clone panel" (with a "n"). So basically it creates an exact copy of…
Hi Alex (H. I assume :-)),
A brief description can be found here: Transforming views and property selectors.
The idea is basically to have a "source specification" which tells where the layer's geometrical objects are taken from. The sou…
Hi,
in that version the menu entry only shows up when ruby support is enabled. I just provided a new snapshot (r307) where that issue is fixed.
Please note, that the XOR functionality is somewhat limited. Currently, the algorithm is a simple flat …
Hi Julian,
* Copy & paste is possible between two GDS files. I noticed however that Ctrl+C/+V does not work reliably in some cases - in particular if you change the tab. The reason for that is somewhat buried inside Qt and I did not have the ti…