Not signed in (Sign In)

Vanilla 1.1.4 is a product of Lussumo. More Information: Documentation, Community Support.

    • CommentAuthorEyal
    • CommentTimeJul 27th 2017
     
    Hi Mathias,

    Thank you very much for your outstanding tool.

    Is there a way to automatically select objects (both shapes and instances) within a given layer that are overlapped (fully or partially) by objects in another given layer?

    For example, a large (resolved) array of instances is required to be cut-off in few places.
    This is easily achieved by using the Boolean "difference" option between the layer containing the instances array and the layer containing the cut-off shapes, but then the result becomes a huge set of shapes.
    Instead, a much smaller file is achieved, when only those instances which overlap the cut-off shapes are selected, then flattened, then moved to another layer and only then being subtracted by the cut-off shapes. This way, non-overlapped instances are kept intact, leading to a much smaller file.
    The problem with the second approach, is that it requires me to select and flatten the instances to be cut-off manually, sometimes one by one (depending on the complexity of the cut-off shapes).
    I think an additional "mode" in the "Boolean operation setup" window, to perform just "selection" (and no further operation) could be handy in other scenario too. Perhaps this could be alternatively achieved by a script, but unfortunately I have no knowledge in that.

    Best regards,
    Eyal
    • CommentAuthorMatthias
    • CommentTimeJul 31st 2017 edited
     

    Hi Eyal,

    right now, there is no such option. There is a "cell variant formation" feature http://www.klayout.de/doc/manual/create_variants.html#k_1. Maybe that leads you somewhat further.

    Apart from that of course scripting is an option. There is a toolbox project https://sourceforge.net/projects/theredtoolbox which you might want to check too.

    In a more general sense you're asking for an (approximately) hierarchy-preserving boolean algorithm. That's a whole class of algorithms and the domain of some heavy commercial tools. It hasn't been my goal to replace this class of applications, so I'm not supplying leading-edge algorithms here. That would be a task for many more night shifts.

    Matthias

    • CommentAuthorEyal
    • CommentTimeAug 3rd 2017
     
    Hi Mathias,

    Indeed, to fully automate the exampled task, a hierarchy-preserving boolean algorithm is required.
    But that was just an example.
    In general, what I look for is a simpler script to support just the functionality of “shapewise selection”.
    Furthermore, in order to keep it useful for other types of tasks, no further actions should be included (or else it will become restricted).

    Best regards,
    Eyal
    P.S> thank you for the useful link to “theredtoolbox”.