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…
Hallo,
well, partially that is a bug. I agree that if you group by layout index, KLayout should keep the layer name.
If you group by layer or datatype however, KLayout can't keep the layer name because the association now will be by GDS layer/data…
Hi,
the following is a script that adds a new function to the "Tools" menu: "Select Whole Shapes" will select all shapes from the current layer that have an area equal to the maximum area found on the layer.
This script will fa…
Hallo,
thanks :-)
Regarding your question: I imagine that you are trying to create a honeycomb fill pattern and you subtracted your layout from the fill pattern. Now, the problem is to remove all fill shapes that are partially cut.
If I understan…
Hi Nick,
I have not tested it myself yet, but this code should work:
def get_layers lyr_file = RBA::Application.instance.get_config("default-layer-properties") if lyr_file != "" f = $cv.load_layer_props(lyr_file) l = $c…
Hi Joaquim,
I added some features recently to the XOR tool, namely choice of the layer subset (currently visible or all) and some output options (in particular to create layout rather than a marker database). I just put a new snapshot on the server…
Hallo Tammo,
das ist ja eine Ueberraschung ... :-)
Lass mal per mail von Dir hoeren.
Now in English because this might be interesting for others as well: it is possible to load and query marker databases by using the RBA::ReportDatabase object. A …
Hi Julian,
This limit applies to single polygons only. The number of polygons itself is virtually unlimited. So you need really huge polygons to hit this limitation.
There is one practical case where it is pretty easy to create huge polygons: if y…
Hi sedborg,
such a function is on my todo list since some time now. However, I felt that there are a couple of constraints that complicate the choice of the character pattern (angle constraints, design rules, grids and similar).
So far, my recomme…
Hi Joaquim,
I had in mind to enhance the layer selection functionality for the reader. Currently, a layer subset can be specified in the reader options. What I wanted to do is to enhance that feature by allowing to map the layers and assign names t…