Hi Tomas,
thanks for the code - but this problem is inherent to Ruby (and most other languages). So whenever float to integer conversion is involved, you should use "round". I cannot do much against this - except recommending to directly …
Hi Lukas,
"Basic" Authentication is handled by KLayout, so I think you can use private GitHub repos. If you want to keep the packages in a separate dictionary, you can basically use any other web site as long as it is able to deliver a pa…
Hi Allon,
do you have a change to try with a more recent version? The oldest one I was testing on is 4.4. Even CentOS 6 comes with that version.
gcc 4.2 seems not to follow the template type inference rules the newer compilers use.
Thanks,
Matth…
Hi,
thanks for reporting this issue.
I can reproduce the problem. Apparently it's a reference count issue with the object returned by create_plugin. With Ruby there is no such issue because Ruby does memory management differently.
A workaround is…
Hi,
are you using Windows?
On Linux, usually it's sufficient to add the specific package to make it available for KLayout too.
On Windows, things are a bit more complicated. On Windows, you'll need a binary builds that are compatible with the hos…
Hi Laurent,
Using the odd DBU is was able to find the issue. Please see https://github.com/klayoutmatthias/klayout/issues/32.
Thanks for reporting that.
Kind regards,
Matthias
Hi Thomas,
Floating point arithmetics is always subject to rounding issues. You can try that in plain Ruby:
$ irbirb> dbu = 0.1*0.1*0.1=> 0.0010000000000000002
instead of the expected 0.001.
Because Ruby's "to_i" integer cast is …
Hi Laurent,
I tried to reproduce that issue, but I cannot confirm it. 0.4 stays 0.4 in my case. I'm using Windows 7, but I doubt there is a difference implied by the OS. It's weired that enter 5.000 makes a difference - computation wise there is no…
Hi,
for the Qt5 issue please see this patch: https://github.com/klayoutmatthias/klayout/commit/11cb5eb99836e043d71b556af010b29624c3f569
The Qt4 issue I can't explain. I am using 4.8.7 myself without seeing this issue (but on clang). The include fi…
Hi Erwin,
To "make clean" you can simply remove the build directory (which is usually called "build-release" or similar). If you experiment with different settings, you can use different build directories. Use
build.sh -bin <…
Edit:
since version 0.25, "micrometer unit" properties are available. With these, the multiplication with the database unit is no longer required and the code simplifies to:
mw = RBA::Application::instance.main_windowlv = mw.current_view…
Hi,
please give some more details. Do you get the instance from an selection? Which cell do you want to sum up the transformations to? Could you please paste some code that illustrates your problem?
Matthias
Hi Andy,
How about using the new "Cross" "ruler"? Just select this ruler type, and click close to the corner you want to measure. A cross is placed at the mouse location. If you're close enough to a corner, the point will snap t…
Hi David,
Thanks for your feedback. I see you took your time to try out :-)
Regarding the first question:
I am using the default location suggested by NSIS - I wasn't aware that it would pick C:\Program Files (x86) for 64bit. Apparently that's be…
Hi Laurent,
I do see the issue:
layout_view.add_missing_layers
Please omit this line and it should be fine.
Here is the explanation:
A layer view can be linked to a data layer by different ways. You picked "source_layer_index". This i…
Hi Laurent,
This is not the full code. Without the missing part, I am not able to really answer this question. I guess there is a "add_missing_layers" or something like this later on.
Without this and there should be one layer only.
Mat…
Hi,
If you mean a layout snapshot, then LayoutView#get_image is the method you are looking for.
I don't know precisely what you plan to do, but here is some code to play with:
# Shows a dialog with a "Snapshot" button that takes screens…
Hi Itamar,
where do you want to get the image icon from?
The usual Qt way is to use resource files. There is a discussion about using resource files and KLayout's Qt binding here in the forum: http://klayout.de/forum/comments.php?DiscussionID=636.…
Hi Takeshi,
The net tracer is not LVS. It's a single-net tracing utility but no connectivity extraction tool.
There is going to be a scripting API for the net tracer in the upcoming version (see https://github.com/klayoutmatthias/klayout), but tha…
Hi Hai,
this exception is thrown when you managed to create a recursive hierarchy.
I assume there already is a TOP cell in your layout. In this case, the new top cell created will be called "TOP$1", not "TOP", and the code fail…
Hi Thomas,
thanks for this hint.
The other way is supported - "Point*Float" is allowed. "Float*Point" would be a method on "Float" in Ruby. Basically that's possible, but I don't like monkey-patching basic types too m…
Hi Itamar,
the browser approach is not well suited for doing interactive dialogs with more than just links.
The "custom dialog" example https://klayout.de/rba_examples.html#example8 shows a simple example. You need some knowledge about Q…
Hi Andy,
This should be sufficient:
for l in sel_layers: info = layout.get_info(l.current().layer_index()) print(info.name, info.layer, info.datatype)
BTW: This Forum supports Markdown. So you can format source code using four spaces as indent.…