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 @phlion,
welcome back :)
The solution is simple: first all the shape to the region and then compute the area:
region = RBA::Region::new# for each shape ... region.insert(obj.trans * shape.polygon) # insert the transformed(!) shape# endarea =…
You're getting closer .. :)
You have to enable multi-selection on the list widget:
dieCell.setSelectionMode(pya.QAbstractItemView.ExtendedSelection)
Regards,
Matthias
First of all, I'd propose to use a more recent version (0.27.x). With my version, the code pretty much does what "Adjust origin" does (minus the undo and "adjust instances in parents" capability).
The code you pasted is not quit…
I assume you have exceeded the 32bit coordinate limit in the one-dimensional case. This is a geographical limit. The database extension can be about -2^31 to 2^31 database units which is roughly -2 to 2 meters with a 1nm database unit.
On a 64bit s…
The method to do this is "Cell#refresh". But you will need to call it in the "proxy cell".
If you have a layout which instantiates a PCell, KLayout generates a "proxy cell" which is basically linked to the PCell but pr…
Hello,
you'll need enough memory, but there basically is no limit. "make array" will create a lot of copies of shapes which takes a lot of memory. A more efficient way is to put the shape you want to array into a cell and create an array …
You're right. I can reproduce the issue. That is a bug. I have created a ticket for this: https://github.com/KLayout/klayout/issues/983
Thanks for reporting the problem.
Matthias
@jiunnweiyeh A QComboBox cannot be used to select multiple cells. You'll need a QListWidget for this (https://doc.qt.io/qt-5/qlistwidget.html).
Matthias
I'm sorry, but there is no API for packages available in Python.
You can basically scan the package files which are plain XML files.
Look for files inside all folders listed in pya.Application.instance().klayout_path() and there in the "salt&…
Hello,
The <defunc> message means that KLayout knows the cell should come from a library, but that library is not available. This information is not part of the cellname, but knowledge that KLayout has about your cell. It keeps this knowledge…
Hi Lukas,
the macros should be run in literal (case-sensitive, UTF-8 encoding) order, subfolders before local macros. So in your case, the order should be:
(Quote)
Me recommendation however is to use Python modules if you need to load dependencies…
Thank you for the file.
I'm afraid however, there is little I can do. The file just stops after exactly 192kB. It contains some huge polygons, but as I see that these polygons are ~2500 points which can be handled smoothly in GDS. So there is no in…
@dai Very good :)
About the match issue - It's quite difficult to tell from that data what is wrong ... I guess that for some reason also the WL, BTL and BTLB connections are gone. But I really can't say much more here without more data.
Sorry for this delayed reply - but actually @sekigawa has pointed out the solution. That was my suggestion too.
I have a comment though: IMHO DXF is too complex, too diverse and too sloppy in definition to be suitable for manufacturing data. There …
Hello @dai,
Thanks for this nicely prepared test case!
This is a know problem or feature if you like. The devices are correctly recognized, but the appear on a level higher up in the hierarchy than expected.
The reason is the following: A MOS dev…
@MM_cemes No, this problem isn't familiar to me.
After I read your post I tried to fool KLayout and actually was able to reproduce the problem by using a layer or cell name that contains a blanks or brackets. Such names cannot (to my knowledge) be …
It does not work this way ... "output" isn't a method of the Region class. It's a DRC method. The (flat) equivalent is to insert the Region into a Shapes object like this:
output_cell.shapes(output_layer_index).insert(region_to_output)
M…
Hello @dai,
Basically it should be possible to use "compare" multiple times. However I have not explicitly tested this case and there is a small issue which prevent this.
You can work around the issue by setting the schematic netlist aga…
Region#extent_refs is an undocumented method for use in DRC's "extent_refs" implementation. It expects the four relative dimension arguments plus an x and y oversize value. You can set these values to 0 in your case:
DIE.extent_refs(x1,y1…
Don't delete during iteration - this will crash the application.
Instead collect the cells to delete and delete later, e.g (untested):
cells_to_delete = []iter = layoutView.begin_instances_rec_overlapping(RBA::Box::new(x1, y1, x2, y2)) while !iter…
Very good.
I'm going to release the "wants_lazy_evaluation" extension in 0.27.6. You can then try that and give feedback what you think about this feature.
Kind regards,
Matthias