Fix CSG commands to be included in the artifact graph (#6391)

* Fix CSG commands to be included in the artifact graph

* Update output
This commit is contained in:
Jonathan Tran
2025-04-18 18:35:17 -04:00
committed by GitHub
parent fbc3251c3f
commit e4fe8a4440
5 changed files with 19 additions and 3 deletions

View File

@ -1122,32 +1122,36 @@ fn artifacts_to_update(
let mut new_solid_ids = vec![id];
// Make sure we don't ever create a duplicate ID since merge_ids
// can't handle it.
let not_cmd_id = move |solid_id: &ArtifactId| *solid_id != id;
match response {
OkModelingCmdResponse::BooleanIntersection(intersection) => intersection
.extra_solid_ids
.iter()
.copied()
.map(ArtifactId::new)
.filter(not_cmd_id)
.for_each(|id| new_solid_ids.push(id)),
OkModelingCmdResponse::BooleanSubtract(subtract) => subtract
.extra_solid_ids
.iter()
.copied()
.map(ArtifactId::new)
.filter(not_cmd_id)
.for_each(|id| new_solid_ids.push(id)),
OkModelingCmdResponse::BooleanUnion(union) => union
.extra_solid_ids
.iter()
.copied()
.map(ArtifactId::new)
.filter(not_cmd_id)
.for_each(|id| new_solid_ids.push(id)),
_ => {}
}
let return_arr = new_solid_ids
.into_iter()
// Extra solid IDs may include the command's ID. Make sure we
// don't create a duplicate.
.filter(|solid_id| *solid_id != id)
.map(|solid_id| {
Artifact::CompositeSolid(CompositeSolid {
id: solid_id,

View File

@ -48,6 +48,7 @@ flowchart LR
42["SweepEdge Adjacent"]
43["SweepEdge Opposite"]
44["SweepEdge Adjacent"]
45["CompositeSolid Intersect<br>[448, 477, 0]"]
1 --- 2
2 --- 3
2 --- 4
@ -114,4 +115,6 @@ flowchart LR
30 --- 42
30 --- 43
30 --- 44
2 <--x 45
24 <--x 45
```

View File

@ -36,6 +36,7 @@ flowchart LR
30["Cap End"]
31["SweepEdge Opposite"]
32["SweepEdge Adjacent"]
33["CompositeSolid Subtract<br>[461, 497, 0]"]
1 --- 2
2 --- 3
2 --- 4
@ -81,4 +82,6 @@ flowchart LR
27 --- 30
27 --- 31
27 --- 32
2 <--x 33
24 <--x 33
```

View File

@ -48,6 +48,7 @@ flowchart LR
42["SweepEdge Adjacent"]
43["SweepEdge Opposite"]
44["SweepEdge Adjacent"]
45["CompositeSolid Subtract<br>[445, 479, 0]"]
1 --- 2
2 --- 3
2 --- 4
@ -114,4 +115,6 @@ flowchart LR
30 --- 42
30 --- 43
30 --- 44
2 <--x 45
24 <--x 45
```

View File

@ -48,6 +48,7 @@ flowchart LR
42["SweepEdge Adjacent"]
43["SweepEdge Opposite"]
44["SweepEdge Adjacent"]
45["CompositeSolid Union<br>[448, 473, 0]"]
1 --- 2
2 --- 3
2 --- 4
@ -114,4 +115,6 @@ flowchart LR
30 --- 42
30 --- 43
30 --- 44
2 <--x 45
24 <--x 45
```