Hi David,
I like this feature too. And recently Cadence appears to have added something similar as well :-)
I can reproduce the issue. I consider that a bug - what is invisible should not be selectable.
Thanks for mentioning this.
Matthias
Hi David,
thanks again :-)
I wonder whether the code above ever worked. Maybe it was a typo and nobody noticed. "cellview" is the right method, not "cv_index".
Matthias
Hi both of you :-)
I'm running Ubuntu 12.06LTS right now (I will surely switch to 14.x sooner or later). There should not be a big difference, 12.06LTS is well maintained and the Qt version is quite a recent one.
Actually, the Macro Editor Window …
Hi D,
I don't know the precise requirements, but height may be measurable in terms of edge length - long vertical edges mean large height. My best guess is to try with "with_length" and "with_angle" to select long vertical edges…
Hi mprott,
have you made sure that you configured multiple threads in the XOR dialog for your quad core too? I am using multithreaded XOR myself many times with multiple cores and so far I have not found any issues with cores not being utilized.
A…
Hi David,
thanks :-)
For the snapping - maybe it's also possible to snap an edge such that at least one vertex ends on a grid in absolute snap mode. Maybe that is a good definition for "absolute match" too.
Matthias
Hi covalent,
A more efficient way to traverse the shapes of a hierarchy of cells is to use the RecursiveShapeIterator object:
# print the polygon-like objects as seen from the initial cell "cell"iter = cell.begin_shapes_rec(layer)while !…
Hi,
what I do in these cases is to use rulers for marking those positions.
Rulers can be configured in various ways and you can defined new ruler classes. You can use that feature to set up a "pointer" style ruler which shows the target …
Hi David,
Thanks for mentioning this (and taking care of so much other things by the way :-) ).
There is a specific reason for the relative snapping of an edge: snapping of an edge makes sense if the edge is horizontal or vertical, but for the gen…
Hi all,
sorry for that late reply, but I have little time left for support currently.
I was able to reproduce the issue with a modified version of the code. It took a little debugging but I found the root cause: the flatten function will treat the…
Hi covalent,
I'm afraid, I can't confirm that.
The cell#flatten function is basically identical with the "flatten" menu function from the cell list.
* "cell.flatten(true)" is equal to the UI function with "all levels"…
Hi Theo,
it is actually intended: the program tries to identify a layout file with a technology. When you load it again it will use the same technology than you had before. The reasoning is that if you use multiple technologies, you would like to a…
Hi all,
I understand that you want to position the polygon by entering a numerical position.
There is "Edit/Move By" which will move the selected relative to the current position. I think I could add "Move To" which does the sa…
A brief comment of mine: I'd like to discourage the use of the D-shape types because they inherit the numerical issues involved with floating-point values. Plus you should be aware of potential overflow issues when transforming the double types to i…
Hi David,
Oh yes .. the Qt part of the documentation is a mess.
The reason is that this method is defined by the base class, QAbstractItemView. You'll find it there.
The Qt documentation was intended as a cross-reference. It's generated automatic…
Hi David,
QTreeView and QFileSystemModel are part of QT's model/view framework. In order to use that you'll have to become familiar with that (see for example http://qt-project.org/doc/qt-4.8/model-view-programming.html.
I have no experience with …
Hi David,
I'd suggest to put the core code into a normal .rb file and load or require this file from your .lym's.
The lym files are intended to be top level files. Here the meta information is required, but not for the files you include. The meta …
Hi NMF,
by "assign icon in IDE" you mean in the macro properties, right?
Right now you cannot assign an icon that way. That's because the function was intended to create menu entries.
But that's a nice feature suggestion.
Matthias
Well, sorry for mentioning this simple solution so late .. the "action...trigger" trick is basically just simulating the button click on the "Instance" button. No more and no less. That gives no control over what is happening aft…
Well, that can be done, but it's pretty complex. The recipe is that:
* Define a TCP/IP protocol that is capable of handling the communication you want to implement.
* Implement a TCP/IP server inside KLayout using a Ruby script. This script will li…
Hi all,
I really like what is going on here :-)
I have a suggestion how to enter the instance. Instead of creating the instance at 0,0 you can configure the editor with the requested parameters and enter Instance mode. This code will do this confi…
Ok, but If you want me to help you you'll have to provide a little more information. Just saying there are "build errors" is not sufficient.
First of all, RUBY is not optional unless you disable the respective settings in the project. The…
The Python integration was a snapshot of a fairly stable version. I'll try to provide a new one if possible, but I have to achieve some stability in the development branch first.
Matthias
Hi NMF,
I'm impressed :-)
To be frank, I can't reproduce the problem you had with "Object cannot be copied here in layout::add_pcell_variant in Action::triggered". I don't have your PCell code but I think it's related to that code. Maybe…
Hi Ganesh,
KLayout is not a UI component, if you mean that.
But you can run it as an external executable using "fork" or "system".
Is that what you intend?
Matthias
Hi Johannes,
there is no direct way to achieve this, I'm afraid.
Here is an indirect way:
* Create a new empty cell, for example "FILL"
* Instantiate your layout's top there with 0, 0 (no displacement, no rotation)
* Now create your fil…