I have a design with an object on a single layer with a fairly complex boundary (The object has 602 points in its outline). I am using the dbLayerSize(...) routine to size the layer and place the result in a different layer. In this instance I am resizing by 0 (so that should help eliminate resizing issue possibilities) but in other cases the amount could be anything and I am seeing the same issue with non-zero values. dbLayerSize normally works just fine but for this particular object the result is an object with diagonal gaps across it. Most of the outline is correct but the object has been divided into sections separated by four gaps of differing width with a 45° slope. Since the object is on a keepout layer the diagonal gaps are a problem. I tried the regular menu "size" command on the object and it works fine. I even tried copying the object to a different cell and running dbLayerSize with the same result.
Are there known issues like this with dbLayerSize? Is there a work-around?
None of the vertices of the object lie on top of an adjacent point. 484 are off-grid but that shouldn't matter. One thing that is very bizarre about this problem is that it doesn't just affect this object. Nearby objects on the same layer included in the LPPObjects list (see call below) which are being sized at the same time are chopped up along the same diagonals even though they are not related in any other way. That suggests that there must be some internal variables common to both objects that are getting messed up. This looks like a Cadence SKILL routine bug.
If you need it, I can provide the list of points.
The call is being made as follows: dbLayerSize(Cv LPPTo LPPObjects SizeBy)
I can't quite see why this would happen - I initially wondered whether it was an old problem where the function used to snap to grid in a range of versions (but this was fixed some time ago - see article 11481956.
Please provide the list of points, and the subversion you're using (the output of getVersion(t)).