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
Hello,
Could you please be more specific? What's your input and what is the expected output?
Both pieces of code refer to a specific problem, and I don't think they easily combine to solve yours.
If you need more information about writing scripts…
Hi azmaolier,
If you still need to scale the layout - starting with version 0.23 there is a whole-layout scaling function in edit mode: "Edit/Layout/Scale".
And if you want to change database units you do so with "File/Layout Proper…
Hi arided,
"cell_by_name" returns the cell for a given name. The correct code to get the top cell name would be
top_cell = ly.top_cellfn = "trial"+top_cell.name+".OAS.gz"
And the active layout can now be obtained so…
Hi Max,
the difference between a scripted layout generator and PCells is basically the ability to interact with the results of the generator algorithm. PCells can be adjusted quickly as used as components inside some other, manually created, layout…
Hi Laurent,
thank you for mentioning that bug.
Regarding the request: it's very difficult to output the name of the test, but I thought that adding the source line behind the command might provide enough information to associate the timing with th…
Hello,
the intention of sessions is to save state of the program and since the files given in a session can be loaded from anywhere the session file uses absolute paths to address them.
I understand that you like to use sessions for providing pack…
Hi Laurent,
Tiling is a method built into the DRC language and you can enable tiling by adding certain commands to the script. Please see http://www.klayout.de/doc/manual/drc_runsets.html#h2-639 for details.
Regards,
Matthias
P.S. have you had a…
Hello,
DXF support in general suffers from the bad documentation of DXF. I don't know which flavor of GDS is written by Ledit and DXF is in unit-less, so you have to set the right unit in the reader options.
If you send a sample file to the mail a…
Hi Laurent,
regarding the DRC runset issue, the following might be the solution you look for:
M1 = input(31, 0)M1_EDGES = M1.edgesM1_EDGE_45 = M1_EDGES.with_angle(45) + M1_EDGES.with_angle(135)M1_EDGE_45.width(0.3,euclidian).output("M1_EDGE_4…
Hi Laurent,
maybe the allocation problem is not because of too much input but because of too much output.
Let me explain: if you produce output to a report database, the memory requirements are much bigger. The report database is expected to recei…
Hi Laurent,
yes, sorry, you're right. I stand corrected. Micrometer is the default unit, but in order to make sure you get what you want, I'd suggest to add the unit explicitly.
But about the bad allocation: are you saying that also happens on a s…
Hi Michael,
thank you .. that is almost too much praise :-)
I'll let you know when I'm in need for a donation. Right now I don't have plans to close anything and I'm not the one who holds users to ransom like saying "donate or I won't continu…
Hi Laurent,
"bad allocation" indicates that the DRC runs out of memory. Can you reproduce the error on a small layout as well? KLayout's DRC is a flat engine and that means it can use a considerable amount of memory. If you want to run th…
Hi,
that can be fixed with a
#include <QtGui/QHeaderView>
somewhere at the beginning of laySearchAndReplaceDialog.cc.
I am sorry about that, but I can't test all possible combinations of gcc/Qt/Ruby ...
I'll include that patch in the sou…
Hi,
A marker es removed from the view when the RBA::Marker object is destroyed. Because that is automatically done by the garbage collector, you'll have to keep a marker reference somewhere in your code. You can force a marker to be destroyed by us…
Hi friendfx,
Regarding your questions about the stale references: performance-wise there is no difference between pure objects and database references. When it comes to execution speed, Ruby is not the best choice anyway. I considered opening a new…
Hallo,
the behaviour is intended and there is an explanation:
First of all, "Text" is the working object. You can manipulate it with it's methods like any normal Ruby object. When you insert such an object into the layout database, a cop…
Hi,
I'm afraid that is a bug. Thanks for reporting that.
The problem is that the underlying function returns -1 for outside, 0 for on the polygon and 1 for inside. That does not map well to a boolean return value. -1 becomes true for outside as we…
Hi Norman,
it looks like you are using some custom built Qt package. It's not usual to link against static libraries. Typically you use .so libs which resolve their dependencies by itself.
If you build Qt the standard way, it will be installed in …
Hi,
you don't nee to recompile the tool. You can actually install fonts by packing them into a normal layout file and putting that to some particular place. You'll have to observe some rules (i.e. layer numbers) and you can add some meta informatio…
Hi Max,
That is an effect which is caused by the text optimization. If you disable "lazy text rendering" in File/Setup -> Display/Optimization, the text should be shown.
The optimization is to skip drawing of texts on small cells - te…
Well, a cell "moves" if you instantiate it. Just creating a cell will not make it a child cell. If you create a cell instance in another cell by using the "Instance" function, the instantiated cell will become a child cell automa…
Hi Max,
the colorization is just a visualization feature. Separating a layout into nets is doable, but not scope of the net tracer. Instead of separating the whole layout into individual nets, the net tracer's tagret is to extract a single (prefera…
Hi,
you'll need zlib1g-dev, zlib1g is just the runtime.
BTW, you can simply use one of the .deb packages provided for download. They were built for Ubuntu 12.
Matthias
Hi,
in your build the ruby integration is still active. You can force exclusion of ruby by modifying the build script (replaces lines 252 to 268 by simply "HAVE_RUBY=0").
What is the version of your ruby installation (check with "ru…
Hi,
two choices:
* select your target cell in the cell list and middle-mouse click that cell or choose "Show as new top" from the context menu. The cell now becomes the new top cell and every new object goes there.
* descend in the hiera…