fix: a lip swept flush around a rounded rim joins the body it sits on (#1164)
fix: a lip swept flush around a rounded rim joins the body it sits on.
This commit is contained in:
10 files changed
+699
-5
No files matched your search
@@ -662,6 +662,11 @@ fn boolean_whole(a: &Body, b: &Body, op: BoolOp) -> Result<Option<Body>> {
|
||||
// to the retry guard's checks all the same).
|
||||
if op == BoolOp::Union && crate::coplanar::faces_touch(a, b) {
|
||||
let accept = |body: &Body| check(body).0 && !unfused(body) && crate::boolean_guard::check_retry(a, b, op, Some(body)).is_ok();
|
||||
// Imprinted along the contact's own outline (faces there bounded by lines and arcs), then
|
||||
// along the sides' surfaces.
|
||||
if let Some(body) = crate::outline::outline_union(a, b, &accept) {
|
||||
return Ok(Some(body));
|
||||
}
|
||||
if let Some(body) = crate::coplanar::imprint_union(a, b, &accept) {
|
||||
return Ok(Some(body));
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user