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
I guess you mean "Import LEF", not "File/Open LEF", right?
I'd call the layer properties behaviour a bug. But I can't confirm it right now. I was not able to reproduce that issue with 0.23.4 on Linux right away. The test case I …
Hi,
I am trying to understand what is going on.
How do you specify the .lyp file? Are you using "Use default layer properties file" in the setup dialog's "Layer Properties" page? Or are you using a technology binding?
Do you u…
Hi,
Well, from the code that should be supported alread. KLayout will ignore the SPACING (it's no router, so this should be fine), but it should put the shapes on metal3.
I suspect it's some other issue. Are you able to send a small testcase to th…
Hi,
I guess this works. There is no restriction about the origin of the layout - neither layout, cell or layer.
I think it will take the common bounding box as the total area to cover. But I have not verified that yet.
Matthias
Hi,
I see your point.
Basically you can also code the "inside" script dynamically. It's a plain string.
For example if you want to combine the layers 1, 5, 6, 7, 10 and 11:
layers = [ 1, 5, 6, 7, 10, 11 ]# combine theses layerslayers.e…
Hi,
I see, that requires some explanation.
Basically the tiling processor runs in two different domains. The "outside" domain feeds it with the parameters required, while int "inside" domain is executed for every tile. Both dom…
Hi,
To execute the script on multiple cells, you will have to start with each cell.
The sample script above takes the currently selected cell for input.
You can iterator over all top cells this way:
ly.each_top_cell do |tc_index| cell = ly.cell…
Hi David,
I know that there are tools assuming a stricter interpretation of GDS - along with restrictions on cell name length, layer numbers and so on. Some are even stricter: rows have to be rows and columns have to be columns and the row vectors …
Hello,
yes, the area function will take overlaps into account - it will merge the shapes prior to computing the area.
You can embed boolean operations too. They will be executed on the tiles and on multiple cores which makes them more efficient:
…
No, that's already done in the "ep.merge(..)" call.
BTW: the code in the forum entry works, but there are more efficient methods in between. Specifically there is the "Region" class which is basically a collection of polygons an…
Hi Brian,
the under/oversize suggested by Laurent is probably the most effective and simplest solution.
In general "more than .." kind of checks are difficult to implement since in that case the interaction range is basically unlimited a…
Hi,
the Image class was intended to background images, so you can load an image but not save it currently. That's what I meant in the other forum entry.
In addition the Image class provides functionality somewhat beyond the capabilities of the nor…
There is no global switch, but there is the "TilingProcessor" class which allows distributing the density computation to multiple cores. This class is not straightforward to use however and it cannot produce image files currently. But if y…
Hi,
Yes, there will a major difference in runtime, but also in quality.
The image approach will just deliver binary information and does not care much about precision - if there is a very small shape, you will see one bright pixel, or maybe two or…
Hi ata,
thanks for the testcases. With them it was easy to debug the issue.
What basically happens is the following: a basic shortcoming of DXF is the lack of filled objects, apart from HATCH and SOLID. Beside those two there are different methods…
Hi Laurent,
maybe that GDS does not have any shapes on these layers? Basically, a GDS file does not "contain layers", it just contains shapes. If there are no shapes (or texts) on a layer, the layer will not be there.
A solution is to pr…
Hi ata,
I think that is either a bug. Given the bad documentation quality of DXF my interpretation may also be incorrect.
Are you able to send a simple testcase (with and without dimension marker) to the mail address mentioned on the Contact page …
Well, bitmaps for visualization do not reflect pattern densities - the focus is on showing "something". Hence a pixel is set if some shape is on that pixel, but the pixel does not say much about the density at this point.
If you want a bi…
Hi David,
brief update: the recipe given above also works on Windows 7 SP1 - when closing and opening again, the layout is updated. What are the exact steps you take?
Best regards,
Matthias
Hi Brendan,
I'd expect record-breaking, unmatched performance of course :-)
No frankly - performance was not the ultimate goal in the DRC engine. It uses a pretty simple flat approach and the main targets are small to medium sized layouts. And I a…
Hello,
the answer depends on your application. The approach is suitable to create bitmaps for visualization purposes. If you want to feed the bitmaps into some mask writer tool for example, you may require a higher quality output.
You can set the …
Hi David,
I hope I won't cause frustration again: this is how it worked for me:
* Create A.gds
* Save & close KLayout
* Open KLayout again
* Edit the library
* Save & close again
* Open KLayout once again
* Open A.gds
KLayout won't refres…
Hi David,
readonly parameters are intended for exactly this case.
They can be modified - the TEXT PCell for example uses this feature to display the effective line width and text height from the character cell's dimensions and the magnification.
…
Hi all,
since 0.23.x there is a method Layout#convert_cell_to_static which converts a PCell to a static cell. It takes the cell index of the proxy cell (that is a representative of the PCell in the layout) and creates a new cell which is basically …
Hi Nicolas,
thank you for your feedback.
Regarding the extraction of big nets: it's a known limitation of the net tracer implementation. The net tracer implements uses an incremental approach to extract a net - using the shapes already found it lo…
Well ... 0.23.3 32bit and 64bit ... all working as expected.
Your list of observations indicate it's related to the window management and window activation/deactivation. Do you use some special settings on the desktop or some special configuration …