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 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.…
Hi Kazzz,
thanks a lot - the package is available for download now http://www.klayout.org/downloads/MacOS/klayout-0.24.10-MacOSX-HighSierra-2-Qt487mp.dmg.bz2.
I guess you made a lot of people happy :-)
Best regards,
Matthias
Hi,
I'd suggest to save Layout 2 in 0.01 micron database unit. Use "Save As" and on the "Save Layout Options" page enter a database unit of 0.01 micrometers (leave scale factor as 1.0). After that, you can safely copy & past…
Hi,
try this:
ly = RBA::CellView::active.layoutli = ly.layer(1, 0) # or the layer you want to draw onn = 100 # number of raysrad = 1000 # radius database unitswidth = 10 # width of rays in database unitsn.times do |i| a = i.to_f * Math::PI…
Hi svenn,
If it's faster, it's better now isn't it :-)
There is a attribute inside the *.pcb file called "merge-flag". You can set this attribute to "true" to force merging. Are you saying that this flag isn't working?
If merg…
Hi svenn,
Yes, something happened - X2 is implemented now.
Do you mean the output is not correct now? Merging or non-merging is a choice of the reader - merging only happens when this is required. For example, if negative contrast pattern need to …
Hi Itamar,
I need to verify this, but in case of two locations I the technology .lyp should win.
I tried to reproduce the issue you mentioned, but I was not successful so far. Here is what I did:
* Create a default .lyp file and entered it in Set…
Hi Itamar,
do you automatically load a layer properties file?
There is a second option to load a layer properties file from a technology. There should be a second flag. Maybe this one is set in the default technology?
Regards,
Matthias
Hi all,
I don't know whether this is acceptable: you can basically inhibit corner rounding by introducing a small segment. Since collinear segments are merged, you need to create a small artificial corner.
For example: this polygon:
0.00000 0…
Hi Andy,
thanks :-)
I right in the process of putting together a release. The build setup has changed considerably, so that means some effort, but I'm close to finishing that.
Kind regards,
Matthias
Hi all,
I'm not a Mac user, so I can't confirm this issue. It is not seen on Windows or Linux.
Is there anyone who can confirm or comment on this?
Matthias
Hi,
How should I know what they expect?
Actually, neither self-intersecting polygons nor paths with duplicate points are forbidden by the GDS2 specification. Single-point paths also are not forbidden, but are some kind of corner case (that's why t…
Hi svenn,
I'm bascially depending on samples. If you are able to send a file, I can make the reader accept it.
In general drill files are always a nuisance. While RS274X did a fairly good job to standardize the artwork layers, drill files are stil…
Hi Brett,
"_unmanage" is not entirely wrong - this method actually detaches the C++ object from Python and the C++ object won't be deleted when the Python object is. (A warning: be somewhat careful with this: basically this bears the risk…
Hi svenn,
I think your setup is correct, but something is wrong with the drill files or with KLayout.
The drill holes should generate circular shapes which make the net tracer connect the upper and lower metal layers. If they are missing, not conn…
Hi,
Not having the full code, I can just guess ... but my main suspect is this: AbstractMenu#insert_item does not take over the ownership over the action object. When the Python interpreter decides to remove the object, it's basically lost for KLay…