For any quite strange reason, I cannot send to the e beam an GDS with arrays.
Is there any simple functionality that changes the whole array to individual cell instances?
I know that this functionality can be easily implemented in a script but... this is maybe a nice thing to implement in KLayout native code.
Comments
Hello,
You're right. That functionality is missing currently. I'll take that as a suggestion for the next major release.
For separating single instances out of arrays there is the "make cell variant" function. In you case, that is not an appropriate replacement for the missing array conversion function.
A simple solution for your problem may be to save the layout to a format that does not support arrays (i.e. CIF) and load it again.
Another solution is to simply flatten the array.
Regards,
Matthias
Is there a way to resolve arrays in Ruby? I see "Resolve Arrays" in the menu, but in particular I'm trying to resolve only non-orthogonal arrays. (Because the mask-writer tool I use does not support non-orthogonal arrays while KLayout does.)
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 has to point right while the column vector has to point upward.
Maybe it's worth incorporating array resolution into the GDS output options. So far, the solution was simply not to use features not supported by other tools.
Right now, there is a solution through a script, of course :-)
Best regards,
Matthias
Wow, nice script and works perfectly. Thanks!
I like how you extend RBA::Instance class. I am slowly coming to the realization that this is the "Ruby" way (or OO way) of doing things, so this is a good reminder.