Is there a way to merge prBoundary objects non-interactively? I understand that the prBoundary is rather an object then a shape and therefore the leMergeShapes command would not work.
This is a slightly confusing question, because you can't create more than one prBoundary object (even interactively). If you try to create a second one (via Create->P&R Objects->P&R Boundary) it asks you if you want to replace the existing one.
You could of course generate a new point list by using something like dbPointArrayOr to generate a merged point list from a number of candidate shapes and then using dbSetBoundaryEdge to update the point list of your existing prBoundary?
It's unclear what exactly you're trying to do and where these "objects" are coming from that you wish to merge together...
thank you for your quick response.I should have explained the background of my question im more detail:
I use a script to automatically generate a layout from a number of different layout instances which all have individual prBoundary objects. I was wondering if it would be possible to propagate the individual prBoundary objects of these instances to the higher level layout and merge them there..
You could create polygons on a dummy layer based on the points from the prBoundary object in the underlying cells (each transformed using dbTransformPointList) and then merge those. Or get the transformed point lists and merge using dbPointArrayOr. So getting the points with something like:
where inst is the instance id of the cell that's instantiated. However, I'm not sure that merging them is quite what you want - you presumably want some kind of convex hull around all the points to find the rectilinear boundary - or it may be simpler just to produce a rectangular box computed as the overall bounding box? You can't have multiple prBoundaries, so if the prBoundaries you're promoting don't overlap, nothing would merge - and then you'd not be able to create the prBoundary because you can only have a single shape.
I will try your proposed solution to use a dummy layer. The prBoundary objects of the underlying cells all overlap such the dbPointArrayOr should give me the shape that I want. A simple rectangular shape would not have worked in my case because of some requirements of the digital design flow my macro will be used in.
Thank you for your help!
Good! If you're going to use dbPointArrayOr then you don't need to create a dummy layer either - you can just collect the transformed point lists and generate the or-ed point list and use that to generate the top level boundary.