mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-04 14:20:58 +00:00
Compare commits
17
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6140110f2 | ||
|
|
7b0e2f3ce5 | ||
|
|
d80c69341c | ||
|
|
4a63a7d916 | ||
|
|
de1dfd0611 | ||
|
|
11a5971cef | ||
|
|
82f37ddb3a | ||
|
|
fb03d1a1cb | ||
|
|
2b4bdead73 | ||
|
|
b1f0d6c6f6 | ||
|
|
14751a8b06 | ||
|
|
9a86d79038 | ||
|
|
d905f1a39b | ||
|
|
84ec518f26 | ||
|
|
1fc153308f | ||
|
|
3167c3665a | ||
|
|
6d34d83e78 |
@@ -62,6 +62,23 @@ Clipper2 behaves differently by default, the wrapper adjusts it.
|
||||
clip do not leave slivers.
|
||||
- Open polylines are clipped with the non-zero rule and keep their direction.
|
||||
|
||||
### Tiled booleans
|
||||
|
||||
The sweep slows down with the number of edges crossing a scan line, so a layer
|
||||
cut into thousands of pieces makes every whole-layer boolean expensive.
|
||||
`diff_ex_by_piece()` and `intersection_ex_by_piece()` take a subject of
|
||||
non-overlapping `ExPolygons`, group them into tiles with
|
||||
`ClipperUtils::tile_expolygons()`, and run each tile in parallel against only
|
||||
the clip polygons near it, cut to the tile's box. Below 128 pieces there is a
|
||||
single tile, and they are the plain `diff_ex()` / `intersection_ex()`.
|
||||
|
||||
The result covers the same area as the plain call. Without the safety offset
|
||||
the rings are the same. With it, each tile unites only the clip polygons near
|
||||
it, so a clip edge that the whole-layer union splits where it crosses a distant
|
||||
clip polygon stays whole, and a crossing with the subject can round 1 unit
|
||||
differently. The tiles' results are concatenated in tile order, so the order of
|
||||
the output `ExPolygons` differs from the plain call.
|
||||
|
||||
### Offsets
|
||||
|
||||
- Before offsetting, input vertices closer than
|
||||
|
||||
+1830
-1830
File diff suppressed because it is too large
Load Diff
+1189
-1189
File diff suppressed because it is too large
Load Diff
+2943
-2943
File diff suppressed because it is too large
Load Diff
+1338
-1338
File diff suppressed because it is too large
Load Diff
+2014
-2014
File diff suppressed because it is too large
Load Diff
+321
-321
@@ -1,323 +1,323 @@
|
||||
{
|
||||
"result": 0,
|
||||
"t": 1765968095,
|
||||
"ver": 202511162200,
|
||||
"data": [
|
||||
{
|
||||
"ecode": "03008041",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "03008060",
|
||||
"image": "",
|
||||
"actions": [
|
||||
22
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "12008010",
|
||||
"image": "c31daf51b36e446698f14c6df879ea21.png",
|
||||
"actions": [
|
||||
6,
|
||||
4
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "12FF8010",
|
||||
"image": "f87557495f2f2163a44bde8f4ddd9b8c.png",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "18008016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "07008016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "07018016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "03002E0000030001",
|
||||
"image": "",
|
||||
"actions": [
|
||||
52
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "03004016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "03008019",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0502C026",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004003",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004040",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004042",
|
||||
"image": "",
|
||||
"actions": [
|
||||
36,
|
||||
37
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008000",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0C00402D",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004037",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004015",
|
||||
"image": "",
|
||||
"actions": [
|
||||
14
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004007",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0502C014",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0300800C",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004004",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0500402E",
|
||||
"image": "",
|
||||
"actions": [
|
||||
14
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05024001",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0502C012",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0502C010",
|
||||
"image": "",
|
||||
"actions": [
|
||||
35
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05008092",
|
||||
"image": "",
|
||||
"actions": [
|
||||
27,
|
||||
5
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004014",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0300800D",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2,
|
||||
6
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0500402F",
|
||||
"image": "",
|
||||
"actions": [
|
||||
14
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004041",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0500400E",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004043",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0C00402C",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008017",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008013",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008007",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2,
|
||||
5
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"device": "default"
|
||||
}
|
||||
]
|
||||
"result": 0,
|
||||
"t": 1765968095,
|
||||
"ver": 202511162200,
|
||||
"data": [
|
||||
{
|
||||
"ecode": "03008041",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "03008060",
|
||||
"image": "",
|
||||
"actions": [
|
||||
22
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "12008010",
|
||||
"image": "c31daf51b36e446698f14c6df879ea21.png",
|
||||
"actions": [
|
||||
6,
|
||||
4
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "12FF8010",
|
||||
"image": "f87557495f2f2163a44bde8f4ddd9b8c.png",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "18008016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "07008016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "07018016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "03002E0000030001",
|
||||
"image": "",
|
||||
"actions": [
|
||||
52
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "03004016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
6
|
||||
],
|
||||
"device": "26A"
|
||||
},
|
||||
{
|
||||
"ecode": "03008019",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0502C026",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004003",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004040",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004042",
|
||||
"image": "",
|
||||
"actions": [
|
||||
36,
|
||||
37
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008000",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0C00402D",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004037",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004015",
|
||||
"image": "",
|
||||
"actions": [
|
||||
14
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004007",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0502C014",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0300800C",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004004",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0500402E",
|
||||
"image": "",
|
||||
"actions": [
|
||||
14
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05024001",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0502C012",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0502C010",
|
||||
"image": "",
|
||||
"actions": [
|
||||
35
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05008092",
|
||||
"image": "",
|
||||
"actions": [
|
||||
27,
|
||||
5
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004014",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0300800D",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2,
|
||||
6
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0500402F",
|
||||
"image": "",
|
||||
"actions": [
|
||||
14
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004041",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0500400E",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "05004043",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "0C00402C",
|
||||
"image": "",
|
||||
"actions": [
|
||||
11
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008017",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008013",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008007",
|
||||
"image": "",
|
||||
"actions": [
|
||||
2,
|
||||
5
|
||||
],
|
||||
"device": "default"
|
||||
},
|
||||
{
|
||||
"ecode": "03008016",
|
||||
"image": "",
|
||||
"actions": [
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"device": "default"
|
||||
}
|
||||
]
|
||||
}
|
||||
+2847
-2847
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+19555
-19555
File diff suppressed because it is too large
Load Diff
+23351
-23351
File diff suppressed because it is too large
Load Diff
+20903
-20903
File diff suppressed because it is too large
Load Diff
+20315
-20315
File diff suppressed because it is too large
Load Diff
+22215
-22215
File diff suppressed because it is too large
Load Diff
+20215
-20215
File diff suppressed because it is too large
Load Diff
+21799
-21799
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user