It is not necessary to use the "intersectLayers" method, because that merely does what multiple "addPolygon" calls do. Each layer in a "PolyMerge" object is automatically merged into a small number of complex, nonoverlapping polygons. So simply call "addPolygon" for all the Poly objects on a given layer, and then pull the results with "getMergedPoints".

If this still doesn't work, then be sure that the transformations are right. The "Quick" module has to be careful to orient everything properly before comparison because of the hierarchy.

   -Steven Rubin

On 6/23/2016 2:59 PM, [email protected] wrote:
Continued from this thread: https://groups.google.com/forum/#!topic/electricvlsi/70K4rlwqjrk

I have somewhat found a solution to the problem listed above and finished the SPACINGE rule for the DRC. However, it still creates a false-positive flag for a metal-poly contact node because it does not merge the node metal with the arc metal connected to it. I'm currently working in the Quick.java file to implement a merger of the two polygons when they are being read in the DRC. After searching through the java files, it seems that electric has the capability to merge these polygons before the DRC check, but I am having difficulty locating what specific functions need to be called in order to merge the two before the check. In the "if(edge)" portion of the checkDist function in Quick.java, I have added this code so far, but it does not seem to transform the polygons. I think I need to set a polygon to the newly generated values and continue from there? My added code is below:


PolyMerge merge = new PolyMerge();
merge.addPolygon(layer1,poly1);
merge.addPolygon(layer2,poly2);
merge.intersectLayers(layer1,layer2,layer1); //attempting to combine the new layers into one?
List<PolyBase> polyList = merge.getMergedPoints(layer1,true);
...

I tried using the min/max X and Y values to hard code exceptions for nodes, but it still creates too many false positives. I had several views on my last post, but no help. Hopefully someone can point me in the right direction for this one? Thanks! Let me know if anymore information is required.
--
You received this message because you are subscribed to the Google Groups "Electric VLSI Editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Electric 
VLSI Editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to