One way might be to undersize the results after the line:
(setq xorResults (leLayerXor cellView work1 work2 work3) )
Either using dbLayerSize or leLayerSize - something like that. If you undersize the results by a small amount, it could filter out the slivers you'll get after the xor due to the small differences on the diagonal portions.
Where are the geGetSelSet points are shown in this script?
The polygon that I use as a test case is a plain rectangle (without asymmetries and with constant width and a specific length).
Moreover, a question: should I select the polygon first and after use your script?
Should I select specific points of polygon? And the last question: if I add at the end of the skill code the bindkey:hiSetBindKey("Layout" "<Key>F12" "abConvertPolygonToPath(())")is this correct? The abConvertPolygonToPath(()) is right?
Your bindkey should be:
hiSetBindKey("Layout" "<Key>F12" "abConvertPolygonToPath(geGetSelSet())")
Then it will operate on the selected shapes.
Thank you for your consideration and your help