david234589

About

Username
david234589
Joined
Visits
0
Last Active
Roles
Member

Comments

  • Not really. An array is a fixed array (as stored in GDS/OAS databases), individual elements cannot be addressed and changed directly. However there is a workaround - Matthias has invented something called cell variants: http://www.klayout.de/doc/man…
  • No frustration at all! Really, you are so extremely helpful. Actually I hope I don't cause you frustration -- because I have been unable to reproduce this. :( I've tried a lot of things, but while before I definitely had a library cell that wouldn't…
  • 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.
  • 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…
  • You're right, it works! The error I was getting before must have been for a different reason.
  • Well I am flummoxed. I have tried everything I can think of except a complete reinstall, which I am putting off until after an upcoming tapeout deadline in case one of my needed scripts breaks.. But I'll try that in a week or two and let you know if…
  • Perhaps Matthias already has a function. If not, a workaround is to use something like RBA::Application.instance.main_window.menu.action("edit_menu.selection_menu.convert_to_cell").trigger This is not a great idea though as it may not a…
  • That works great for now. Thanks. David
  • !! You are quite right, I just tried it on another computer with Win 8 and a fresh KL install and it works fine! My apologies for assuming this was a Qt/KL issue, or at least a Win issue. It's perhaps just me that has the problem! Still not sure w…
  • Ah! Perfect. Thanks.
  • Ah. I misunderstood what it meant. For very large layouts this would be useful, I agree. I might suggest a nice possible future feature to have in this context menu though, might be a "Where is this cell on the layout?" which would selec…
  • Ah! Never mind. I had the same problem I had in a previous post (though I thought I had fixed it). Anyway here is the solution: # Inserts a static cell instance from a standard libraryinclude RBAlayout_view = Application.instance.main_window.curre…
  • (And if "A" is not identical between the 100 files, again it is instanced on top of each other, leading to sometimes undesired results. I suggest it might be worth having a LoadLayoutOptions option, where you choose the mode, e.g.: "I…
  • Heh.. just call me an overachiever. I should have known you already had some simple way of doing this! :-) However it's almost right but not quite. Instead of just using the first- or last-read cell "A", it reads ALL cell "A"s …
  • Note, to solve #1, I guess I should use File > Import > Other file into current, and then choose: "Merge hierarchy - Merge other cells into current (attempt to identify corresponding cells)" However this doesn't work as I imagine i…
  • Ah, so now I found File > Import > Other file into current. This solves #2, but anyway #1 and #3 are still the same problem. (Well, #1 isn't a problem, it's a preference...)
  • (Would prefer to not use DRC, but just to use Ruby which is the more natural approach since my task isn't technically design rule checking. However just mentioning the DRC approach as I thought it might be simpler to implement.)
  • Also just a general note: I have found the scripting functions (thus, layout editing via scripts) to be very useful. And I also draw via the GUI a lot. (Though, I have added a lot of customizations and keyboard shortcuts to speed that up.) Yet I ge…
  • Wow fantastic (and fast!) reply, thanks. 1 & 2 : Thanks 3 : There may be some kind of open-source script repository out there, that would be easy to integrate with a website such as this (so, it'd be found at klayout.de, not at some other webs…
  • OK so seems like the original file was opening correctly. (Pressing "*" is the usual way to view the entire hierarchy.) Looks actually like the second version (the one saved by LayoutEditor) is the "broken" one - as this appears…
  • Perhaps the easiest way is to take that script, and make it appear in the menus. You could even put it just above "File" > "Load layer properties". So you could call it "Load My layout properties" or something differ…
  • Hm, weird. OK yes there must be some slight differences in the file format. But glad it worked! If you have the time or desire you could do a quick text-based "diff" on the file and you could see the differences before and after it became…
  • If the CIF is not too long of a file, then open it in a notepad and paste the characters in here. Then may be able to help debug. If it is too long to paste here, try opening a subset of that CIF. Or try making a simple CIF that is only a few comma…
  • Note that PCell may be overkill, depending on what you are trying to do. If you just want to draw a polygon you could just use ruby script to draw a polygon. I guess my larger point was that a path won't work here, you need to draw a polygon.
  • BTW I believe "extension" for a path is not the width at start and end, but a measure of how far beyond the start and end the path is drawn. For example, zero extension means the path terminates exactly at the x and y location specified. …
  • Unfortunately I don't think so. Paths are by definition two things: a set of points defining the "hull" and a (single-number) width. You will have to draw it as a polygon, I think.. Here is a script I wrote to draw a PCell polygon -- you…
  • .8. I understand rb and lym files and the difference and when to use one or the other. Yet I notice often when you write a tool (like xsection) you make it an rbm file. I can't seem to understand why, or when I should be using rbm, or what advantage…
  • Never mind. Figured it out. I coded up the following "slicer" (1D tiling function) pasted below. Not the prettiest code but it works. There are a few limitations of the code though these can be fixed. First, it has problems if the slice l…
  • Thanks Matthias. Yes I admit I am pushing your excellent program to the limits, and I'm surprised it even makes it this far, because that is a heavy requirement! Definitely running 64 bit. I uninstalled 32-bit. Yes it's true that in this script I…
  • That's it, simple, thanks. I'll post the complete code once I have bugs out and error checking etc. Thanks, David