i_overlay 6.0.0

Boolean Operations for 2D Polygons: Supports intersection, union, difference, xor, and self-intersections for all polygon varieties.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
{
  "fillRule": 1,
  "subjPaths": [[[0, 0], [0, 80], [90, 80], [90, 0]], [[10, 10], [80, 10], [80, 50], [10, 50], [70, 20], [70, 40]], [[50, 60], [60, 60], [60, 70], [50, 70]]],
  "clipPaths": [],
  "subject": [[[[[0, 0], [0, 80], [90, 80], [90, 0]], [[50, 30], [10, 10], [80, 10], [80, 50], [10, 50]], [[50, 70], [50, 60], [60, 60], [60, 70]]], [[[50, 30], [70, 40], [70, 20]]]]],
  "clip": [[]],
  "union": [[[[[0, 0], [0, 80], [90, 80], [90, 0]], [[50, 30], [10, 10], [80, 10], [80, 50], [10, 50]], [[50, 70], [50, 60], [60, 60], [60, 70]]], [[[50, 30], [70, 40], [70, 20]]]]],
  "intersect": [[]],
  "difference": [[[[[0, 0], [0, 80], [90, 80], [90, 0]], [[50, 30], [10, 10], [80, 10], [80, 50], [10, 50]], [[50, 70], [50, 60], [60, 60], [60, 70]]], [[[50, 30], [70, 40], [70, 20]]]]],
  "inverseDifference": [[]],
  "xor": [[[[[0, 0], [0, 80], [90, 80], [90, 0]], [[50, 30], [10, 10], [80, 10], [80, 50], [10, 50]], [[50, 70], [50, 60], [60, 60], [60, 70]]], [[[50, 30], [70, 40], [70, 20]]]]]
}