It looks like you're new here. If you want to get involved, click one of these buttons!
I have several PCells with the same shape (or the same outer dimensions, e.g., circles and rings of the same outer radii) and need to choose one of them (different ones) to change some parameters in my layout. These PCells are typically in different layers. How can I choose the desired shape?
Comments
Hi @hunter,
I'm sorry, I don't understand.
Just selecting them by clicking at the PCell instances does not work?
Matthias
If this is about choosing -which one- of multiple selectable instances, then that's another face of the other "locking" thread.
Sometimes you can "riffle through the deck"
by continually clicking and watching the lower lwft corner for the selected-instance info. However this does not always proceed through the whole set or in repeatable order, in my observation.
I think that a popped "pre-selected-set" list, with filtering options (check, multi-check, uncheck?) ought to be easy to make "hijack" the select-by-click event, confirm which and proceed?
This could help the other aspects too, and is maybe the easiest "safety" to create?
Once somebody pulls the lid off the "preselection" process, other hooks for other filtering (properties, "found select extents") may discovered / invented.
Thank you @Matthias and @dick_freebird for your replies.
@Matthias: Let's say I have a circle and a donut, both of outer radius R and both with the same center position. Now I want to choose the circle and change its radius. When I hover the mouse over the circle (or the donut), either one can be selected, apparently randomly. I can click the space bar on the keyboard to switch from one to the other, in the sense that the descriptive text pertinent to each PCell (what appears in the main window or at the bottom left corner of the page) can be changed. But as soon as I click to open the Instance Properties window, there is no telling which one of the two (circle or donut) will be opened. In this simple case, the Instance Properties window of the donut will pop up, even though I click inside the inner radius of the donut, on the circle, and want to change the radius of the circle. Does that make sense?
Now imagine having several such completely overlapping shapes (for instance for the background material, doping, pad opening, etc.). There might be a simple key combination for this, but I do not know it.
Thanks again for your help.
Yes, this sounds like on-theme (how to untangle multiple selectables).
This particular scenario IMO wants the "pop up preselection list". We could talk about what that does or doesn't do. Could have "class" filters (instance, PCell, polygon, text, ...), those might be "sticky-able" from within the popup. Could have alphanumeric filters for name, if a named object. Might speed work a little if, for just one desired, direct-pick rather than highlight, execute two-step.
It might even be practical to "attach" a "sub-select" window alongside, like the others (layers, cells, layer attributes...) which maybe is a real-time palette of the currently-preselected object list; this could be direct visual feedback for cursor position, to get what was desired, or a limited number of @cursor preselects, for a direct-pick (perhaps, freeze by some bindkey or right-click so it all doesn't evaporate as you move over to the window).
Modifying selectability on a more- / semi-permanent basis, to make it so such things aren't constant work-bobbles, I have found valuable. We've discussed some approaches, is all so far. But it would be fabu, if the scheme "just happened" to work as meant, for Brand X sourced layouts which exported the instance/drawing layer (see many newer generation PDKs, omit from layout layers although the layer (one of the built-ins for "generic") remains for schematic, symbol where it also acts on selectable-extent as I've described).
Here and now:
Give a try, to just "keep on clicking, until the right object ref appears at lower left" and see if it gets you through. Click around, local context evidently plays in this.
Thanks @dick_freebird. What worked for me was to move some of the objects that keep getting selected instead of the target shape, make the desired adjustments to the latter, and move the others back to their original position. But I suspect KLayout, being such a handy program in use by a large user base for a rather long time, already has an elegant solution I do not yet know. If not, making the object names (that appear at the bottom left of the window) selectable as you click through might be a good addition.
Hi @hunter, Instead of clicking to open the Instance Properties window, you may want to use the keyboard shortcut. It's defined by default as
q
. That works well in combination with the space bar to switch between selected objects.Thank you @srooks10! This works like a charm. I was positive I could not be the first to face this issue.
Where can I find a list of such keyboard shortcuts? (I understand one can assign keyboard shortcuts under File > Setup > Application > Customize Menu, but cannot find Instance Properties there.)
Thanks again.
The "Q" shortcut is configured under the generic "Properties" function from the "Edit" menu:
Matthias
Excellent. Thanks @Matthias!
Yesterday I encountered by chance. the new-to-me
Brand X "Selection Protection" feature.
I al,so have discovered that the old "inmstance box"
scheme I so love, has been broken for some time (was
a big thing back around 2010, that it got busted and
needed some variables reset to old value, b ut now the
old advice fails to re-enable the mode (for layout - still
works on symbols).
Anyhow, a pic of the Brand X selection-protection stuff,
if anyone wants to dig in. To my eye it looks like a property
(bit?) is used to tag an object-@-level in either select-action
or preselection.
It's an approach, although I prefer to constrain the
selectable region of the object itself, I can see the utility
of the "object property" approach (the one does not
exactly replace the other). I could acept "both". :
I'm not sure, this feature is also new to me.
Is that just a temporary thing - you set when you try to do some fancy partial selection - or are these protections stored somewhere for permanent protection?
Matthias