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 Lukas,
it does not apply to produce_impl. With the above patches the sample and handles work for me on Linux.
But given the observations regarding random crashes (see http://klayout.de/forum/comments.php?DiscussionID=758&page=1#Item_2) I th…
Hi Lukas,
thanks for the stack traces and the helpful video.
This stack trace looks pretty similar to what you reported some time ago (http://klayout.de/forum/comments.php?DiscussionID=734&page=1#Item_8). So I assume there is a general issue.
…
Hi Lukas,
yes, you're right. The Python's sample is not working as expected with respect to the shape to PCell translation.
There is more than a single issue here. A workaround is to employ the "raw" methods, not the convenience methods …
Hi Masaki,
you're right ... that happens on Windows 64 bit only. On Linux, 32 and 64bit behave correctly.
I assume it's something with the way the VC++ handles the different data types. I'll try to fix that for 0.24.4.
Thanks and best regards,
M…
Hi David,
this is not intentional, but hard to avoid.
Basically, leaving the main window alive during debugging sessions is a major cause of inconvenient crashes. Imagine you write code that plugs into the internals (i.e. handling mouse events or …
Hi Jonas,
yes, you're right. The RecursiveShapeIterator is not a Python iterator - it's called an iterator because it implements the pattern, but it is no related to Python iterators in any way. next is simply a method of this class, so you cannot …
Hi Lukas,
I think the proper way to write the above code is
...new_selection[new_selectionN].append_path(pya.InstElement(new_cell))...
I guess the previous code was changing the "append_path" attribute to an InstElement which basically …
Hi Masaki,
I am sorry, but can't confirm that.
Here is a sample for a table written by KLayout:
000000013 01 START000000014 03 31 2e 30 version ("1.0")000000018 00 e8 07 resolutio…
Great. But this was not my achievement. There is an active community taking care of MacOS!
Thanks to all of you, by the way. Specifically to Kazzz!
Matthias
Hi Lukas,
Regarding the first question: the proper way to create an object in Python is using "Class()", i.e.
observer = pya.Observer()
However, that won't be much help. The Observer pattern is a simple way of attaching events to intern…
Hi Lukas,
you're right, instance selections are formed by appending the instance to the path but not assigning a shape. This will implicitly make the selected object a cell instance selection:
op = RBA::ObjectInstPath::newop.top = top_cell.cell_in…
Hi Lukas,
The configuration file is independent from the $KLAYOUT_PATH. The $KLAYOUT_PATH (for Windows: %KLAYOUT_PATH% ...) tells KLayout the locations for macros, GDS library files, auto-imported tech files etc. Multiple locations can be listed in…
Uh ... you're expecting a lot from me :-)
The Python 2 to 3 transition was a major break, so out of the box, only simple code will run unmodified on both versions. Using the necessary if's you can always include switches without having to use a 3rd…
Hi Demis,
I can't confirm this for 0.24.3 at least on Ubuntu 14.
Here is my test DRC script:
report("odd-polygon DRC")inp = input(1)inp.odd_polygons.output("OP test")
The test layout is a single path folding back onto itself.…
Hi all,
in general you don't need to recompile KLayout. But you may need to recompile numpy.
Here is what I know:
* Linux: when you build or install KLayout for one of the distributions, KLayout shares the Python installation with the system. So …
Hi Jack,
that is related to the "delta" attribute: the heights are only accurate to this value currently. That's a systematic problem implied by the geometrical production rules. You can make the delta value much smaller, but I'd not go b…
Hi Lukas, hi David,
I considered including libraries into the tech definitions, but the implications of such an entanglement are rather severe: when you switch the technology, do the libraries need to be switched too? What happens to cells not bein…
Hi Lukas,
"CGContext" appears to be something MacOS specific.
I imagine that in the plot library has to be compatible with the application in some way. That's a pretty complex topic on Linux and I imagine it's not much easier on MacOS. W…
Hi all,
thanks for mention these topics.
Basically the layout will be in "under construction" mode until you commit the transaction. The reasoning behind this mode is that during a sequence of operations the layout object may be in some …
Hi Lukas,
that should be possible.
First of all, "object_selection" is an array of ObjectInstPath objects.
An ObjectInstPath is - as the name applies - an instantiation path to an object. In the simple case, you refer to a shape in the …
Wow ... I'm impressed!
This is an entirely new field to me. Although I feel that the extraction basically is similar to extracting resistor values from wires.
I saw code for verification of the layouts. Will the DRC feature be applicable in that c…
Hi David (and Lukas),
thanks for pointing out the partial selection issue. Basically PCell guiding shapes should behave like normal shapes and hence the selection rectangle should apply here as well.
I'll try to fix this in the next minor release.…
Hi Dave,
in order to make this work, you'll need to link everything of KLayout to your library so it does not require external symbols. In your case this will be dbInstances.o which will itself require other symbols and so forth.
KLayout is NOT mo…
Hi Jonas,
Python 3 and 2 are quite different regarding their C API, so there is no way to easily switch between them.
Even on Linux you usually need to recompile when you do a bigger switch like Python 2 to 3. But unlike Windows, KLayout will refe…
Hi Lukas,
there is not really a "following" callback, but your idea is the one that is behind the "handles" of the circle: these are dummy shapes (in fact: points) which you can drag and the layout of the cell will follow. In th…