Hi Thomas,
basically copying the parameters should not be required. Your code is basically identical to the one I have given above (apart from the way you iterate arrays and the way you find the parent instances).
Just replacing the cell_index sho…
Hi Thomas,
sure it's accessible somewhere: you'll find the C++ code in layLayoutView.cc, method LayoutView::cm_cell_replace. You'll just need to translate it to Ruby ...
Or use this sample:
# this sample will replace all instances of cell "A…
Hi Thomas,
I'm afraid you can't just replace one cell by another. But you can walk through all parents of the fell you want to replace and using Cell#each_parent_inst and identify the instances with ParentInstArray#child_inst. You can then use Inst…
Hi,
/tmp/... ist probably the path where the build was made. That path is compiled in to indicate the location of the issue.
The location indicates that the problem happens when a Qt object is prepared for use within a script. While this is done, …
Hi,
you're right, the line was missing (lost in copy/paste) - I have edited the samples accordingly. Thanks for mentioning this.
But I don't see your point. What's the problem? The documentation clearly says EdgeProcessor#simple_merge_p2p takes an…
Hi David,
no worries - I really appreciate your contributions! :-)
But did I really chose the font index for the parameter? I'm a bit scared now since what will happen if someone installs a third font which inserts itself between 0 and 1?
I'll h…
Hi,
I don't see an issue with the solution you proposed.
Here is a working example:
import pyapts = []pts.append(pya.Point(-1000, 300))pts.append(pya.Point(-300, 1000))pts.append(pya.Point(300, 1000))pts.append(pya.Point(1000, 300))pts.append(pya…
Hi all,
If you want to avoid turning a full layer into polygons, you can select the shapes you want to join and use "Edit/Selection/Merge" to merge just these shapes. Any non-selected shapes won't be touched.
In general, "merging&qu…
Hi Canny,
I guess you have built KLayout without Qt binding support, right?
If you build KLayout yourself (on Linux), you'll need to add --with-qtbinding to enable it. I admit this option should be default, but it will increase build times conside…
You guessed right, I saw it upcoming :-)
I got used to using destroy a little myself. Not out of necessity, but mainly because if there are issues connected to that, those will pop up then rather than being triggered at some arbitrary point in time…
Hi David,
The problem is easy to solve if you give the BrowserDialog a parent which is the dialog you call it from. Then there is a strict hierarchy of widgets and the priority is defined properly.
Unfortunately there is no parent argument to the …
Hi all,
@David: once again thanks for taking care of Canny's question.
Please try the 0.24.1 which I have released yesterday. That should fix the problem too. The "dup" workaround still works but it should not be required and longer. Sor…
Hello,
in order to do JDV you'd need a way to convert MALY to GDS/OAS, right?
The other way involves trapezoid decomposition and maybe more advanced operations. That is not a straightforward task. Usually that's what your mask shop does.
Conversi…
Hi,
well, you can basically convert the sample into Ruby, but I doubt that you would like to do this. It's a big effort and frankly I have some doubts whether that will be successful in terms of functionality required and performance.
I had a simi…
Hi Andski,
you mean as an engine or as a UI component?
Both options are not available right now, but I was asked several times already whether it's possible to export the features of KLayout rather than integrating a scripting engine into KLayout.…
Hi phil and David,
the array resolution should be
x = x0 + a.x*i + b.x*jy = y0 + a.y*i + b.y*j
because a is the vector which forms the "a" axis and b is the vector which forms the "b" axis.
Thanks,
Matthias
Hi all,
@David: thanks again for providing the script :-)
The manual way is to use File/Import/Other File into Current. There are multiple options available and the feature is documented here: http://klayout.de/doc/manual/import_layout.html.
The …
Hi Masaki,
thanks :-)
regarding the topics:
1.) thanks for mentioning this. There is a similar issue on Linux when the built-in Python path of the library you link against does not match it's installation path. In that case the file system encodi…
yes, that's exactly, how it is meant :-)
Please note that in general the selection can contain layers from different layouts if there is more than one layout loaded into the view. You'll find different values of c.current.cellview then, so you shou…
Hi Stefan,
thanks for this hint.
I thinks you can even safely switch to -O2 in general. I have done some testing on gcc 4.8.4 on an i7 / 64bit and there are no notable differences between -O3 and -O2.
Maybe it's the more recent compiler or the be…
Hi chhung,
Version 0.24 supports hashes in some places hence the difference.
I guess the build issue is because of the old Ruby version - the oldest one I have been testing on was 1.8.7 where the HASH_SIZE macro is defined.
I strongly recommend g…
Hi David,
thanks for the comments about the relative vs. absolute mode. However, in the "apply all" code, the nature of the input is not available, so I cannot evaluate the way the value is entered.
I guess the best solution is to provid…
Hi all,
I am not aware of a bug that causes duplication of shapes. Maybe that was a side effect of another bug (writer or reader?).
Anyway, the functionality you ask for isn't straightforward to implement and there is some serious business in the …
Hello,
there is no concept of "invalid cells" currently, so you cannot prevent editing of cells.
If cells are imported from a library, they are locked from editing. But I understand that you want to protect certain cells within your layo…
Hi all,
thanks for your feedback!
Here are my comments:
1.) Watch expressions (david): the watch window is only shown when in a breakpoint or the execution is interrupted. In that window you can add watch expressions by right-clicking and chosing…
Hi WaveGuy,
Since version 0.23 there is a much more powerful framework integrated into KLayout (the DRC framework). The functionality is pretty similar, so it should be possible to rewrite layer_proc scripts to DRC scripts. For a description of DRC…
Hi Michael,
There are two options: either you export the technologies in the technology manager to .lyt files, or you take the value of the "technology-data" element in klayoutrc. The latter is basically a concatenation of the same inform…