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 Xyan,
You can use "Edit/Selection/Convert to static cell". This will turn a library cell into a normal cell without your layout. After this, you can edit this new cell.
Matthias
Hi Muheng,
the solution depends on your requirements.
If you're interested in the cell instances below the top cell, this code will print the cell names and their transformations (rotation/mirror + coordinate):
layout = pya.CellView.active().layo…
Hi Luciano,
if you want this, the following script may help. If will check whether all layers of the active layout are visible in the layer list and show a warning if that is not the case.
Matthias
# fetch the current layout viewlv = RBA::LayoutV…
Hi Luciano,
Maybe you don't Need a separate check.
If you want layer properties files to show all layers, you can add the following wildcard entry into the layer properties file:
<properties> <frame-color>#ff0000</frame-color>…
Hi,
what STL and/or gcc is Fedora using? /usr/include/c++/8 isn't a version I have seen on gcc. Maybe that is actually clang?
The issue is basically that the "lower_bound" algorithm implementation requires a operator-- for forward iterat…
Hi Shoval,
changing the DBU requires changes of the values, that's right. But a well-made script should use variables. If you hardcode the values in many places it will be difficult to maintain the script anyway.
Typical DBU values are much smalle…
If you need a better resolution, use a smaller DBU. If the curve gets fuzzy, use less points.
DPolygon is just an intermediate container - finally you'll always need to turn it back into integer, because that is what the layout DB accepts. So even …
Hi,
maybe you could ask the FreePDK45 guys politely to create a KLayout setup too :-)
FreePDK45 isn't quite consistent. Specifically the layer mapping from CDS layers to GDS is a mystery to me.
If there was a consistent setup you could try to con…
Hi Shoval,
I think I don't understand precisely what's the issue. If you're able to place one cell in Python, just use this code in a loop and place the cell multiple times.
Or am I missing something?
Matthias
Hi Lucky,
there is no such "virtual merge" feature, but KLayout offers layer groups to combine multiple layers into a single item. In the layer list select some layers and select "Group Layers" from the right-click menu.
Such a…
Hi,
no way to put the script on the server again - they will reject anything that looks like something executable.
I've put it on GitHub instead: https://github.com/klayoutmatthias/calibre2klayout
Enjoy and contribute.
Matthias
Hi Hai,
you can add GDS files as .zip archives. This forum software only accepts attachments it knows how to handle :-(
Thanks for providing the test case. I can run it, but I think the output is correct. Maybe you can give me a coordinate where y…
Hi Mike,
thanks for mentioning this. It didn't escape me, but it's going to be fixed once the 0.25.4 version is released (soon I hope).
Kind regards,
Matthias
Hi Dion,
thanks for reporting this ... I did not test this combination yet. I'll take a look, but it's not top prio currently. First thing is to get the pymod branch running on MSVC.
Matthias
Hi,
here is a short sample script. Please see the comments for details:
lv = pya.LayoutView.current()cv = pya.CellView.active()ly = cv.layout()# take shapes from GDS layer 1, datatype 0layer_index = ly.layer(1, 0)# get the shapes container of the …
Hi,
I just see one suspicious case which is the right one of the bottommost two spots .. but it's difficult to see the true angles from the screenshot. Do you have a chance to attach a real GDS file with these sample polygons?
Matthias
Hi Lukas,
sorry for the delayed response. The feature you ask for is not available out of the box, but it can be emulated (sorry, Ruby - but the Python transformation should be straightforward):
app = RBA::Application::instancemw = app.main_window…
Hi,
thanks for reporting this.
I can reproduce it, but the only bad effects seems to be that the macros/DRC are not visible in the technology manager. In the macro editor, the macro and DRC locations appear below "Technology xzy ...".
I…
Frankly, I don't know. That's Linux isn't it?
KLayout does not deal with font sizes. I leave this to Qt and it's style engine. Maybe you tweaked the Gnome or Qt settings?
Matthias
Here is an update: as Anaconda is MSVC-based on Windows, I started to make the code build on MSVC again. But that a major effort as MSVC is deviating from gcc/clang considerably in some areas. It will take a little.
Stay patient :-)
Matthias
Hi Simon,
LayoutView#show_rdb opens the marker browser and selects a given report database you have created already with LayoutView#create_rdb.
Is this helpful?
Matthias
Hi Mikhail,
I can't confirm that simple_merge_e2p doesn't work, but if you're using keyword arguments: that's not supported currently. The arguments are mandatory ones.
ep = pya.EdgeProcessor()edges = ep.boolean_p2e([ pya.Polygon(pya.Box(0, 0, 100…
Hi Mikhail,
"grid" does not change the database unit. That's done in "File/Layout Properties".
By default the database unit is 1nm as Erwin mentioned. When you have feature with dimensions of 100-200 nm and expect a certain smo…
Hi Dion,
no sorry, there is no way to get the real number of shapes yet. If you like, you could file a bug on GitHub https://github.com/klayoutmatthias/klayout/issues/152. Please add whatever you like to mention there.
Thanks,
Matthias
Hi OSMAN,
On Linux that is
dd if=your_invalid_file.gds of=output_file ibs=1000 skip=89120 count=1
"output_file" will then contain the 1000 Bytes from 891201000 to (89120+1)1000.
On Windows - no idea. Maybe you do something like this wi…