Matthias

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

About

Username
Matthias
Joined
Visits
1,515
Last Active
Roles
Member

Comments

  • 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…
  • I think I don't understand ... are you saying there is a bug? Matthias
  • 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, common mistake. Happens to me too :-) Matthias
  • 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 Brendan, very good ... that's what I would have suggested anyway :-) Best regards, Matthias
  • Hi David, thanks for the note and keep trying ... I just can't debug the problem without begin able to reproduce it :-( Matthias
  • 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 …
  • Hi David, I tried my best, but I still cannot reproduce it. I'm using Windows 7, 64bit SP1. But I'm using KLayout 0.23.4 - I'm not aware of anything that I changed related to the macro IDE, so it should behave the same way than 0.23.3. Here's how …
  • Hi David, thanks for your efforts to trace down the issue. I'll try my best to reproduce it. Regarding the non-debugger run mode: I was not aware of this. My reasoning was that people would close the macro editor if they don't want to run the macr…
  • Hi David, almost .. There is no method to iterate the PCell declarations currently (I simply forgot). But there is a workaround: although not documented explicitly, the PCell ID's are assigned as consecutive numbers 0, 1, 2, ... (disclaimer: I don…
  • Hi David, thanks :-) There is a similar functionality there: select the cell in the tree and choose "Tools/Browse Instances". You will be able to browse the instances of the current cell in the cell tree. Matthias
    in Where am I? Comment by Matthias May 2014
  • Hi Dave, I can't confirm that there is a bug. On 0.23.4 I can import a PCB layout with round apertures and if I modify the number of points I get smoother or less smoother circles. I have been using 8 to 200 points. Maybe your Gerber file is using…