From 78d9aa01534f0a7d467326e97fe73ac721c5f74c Mon Sep 17 00:00:00 2001 From: bherbruck Date: Tue, 13 Oct 2026 21:54:09 -0400 Subject: [PATCH] Booleans: small tools in large bodies are traced at their own scale (#559) (#946) A through-all hole's tool is twice the largest body long, and the boolean's tolerances followed that length: a 6 mm hole through a 920 mm part was traced at nearly 1 mm, wider than the hole, and the cut came out empty or failed. When every other strategy has failed, the boolean is now asked again (unshifted, then once shifted) at tolerances scaled to where the bodies meet: the overlap of their boxes and the thinner operand's thickness. Its result is checked as the others are and held to the retry guard. It runs last, so whatever an earlier strategy answered is kept as it was, and only for single-shell operands (bodies in several pieces are retried a piece at a time, each with this pass of its own). The sampled shortcut also gave up on a slender tool lying across its box (a long hole drilled at an angle fills little of it): it now samples past the first 2000 points until enough land inside, so a tool that misses a body leaves that body as it is. Bodies that had enough samples in the first 2000 are sampled exactly as before. Baseline: the 90 actions that newly pass, rechecked one by one with the final build. Co-Authored-By: Claude Opus 5.5 --- apps/solidcraft-cli/tests/action_matrix.rs | 12 ++ crates/kernel/src/ops.rs | 70 +++++++- tests/action_matrix/baseline.json | 176 ++++++++++----------- 3 files changed, 169 insertions(+), 89 deletions(-) diff --git a/apps/solidcraft-cli/tests/action_matrix.rs b/apps/solidcraft-cli/tests/action_matrix.rs index dbb1d94c..5ae35869 100644 --- a/apps/solidcraft-cli/tests/action_matrix.rs +++ b/apps/solidcraft-cli/tests/action_matrix.rs @@ -1051,6 +1051,18 @@ fn a_through_hole_into_a_shelled_box_rim() { ); } +/// #559: a 6 mm hole drilled at an angle through a 920 mm prism, its through-all tool nearly +/// 1.9 m long beside a thin bar it misses. The bar's cut came out empty: the tool filled too +/// little of its own box for the sampled shortcut, and the boolean's tolerances (from the +/// tool's length) were wider than the hole. +#[test] +fn an_oblique_through_hole_beside_a_thin_bar() { + reproduces( + Some("examples/regressions/oblique_cut_of_cylinder.json"), + json!([{"command": "solid.hole", "params": {"diameter": 6.0, "position": [296.66666666666663, -458.66666666666663, 848.7633333333333]}}]), + ); +} + #[test] fn a_hole_through_a_sheet_metal_base() { let mut c: Vec = rectangle(json!("XY"), [0., 0.], [60., 40.]).into(); diff --git a/crates/kernel/src/ops.rs b/crates/kernel/src/ops.rs index eb6016c4..635413e8 100644 --- a/crates/kernel/src/ops.rs +++ b/crates/kernel/src/ops.rs @@ -101,7 +101,12 @@ fn overlap( let bx = inner.bounds(); let s = bx.size(); let (mut n, mut hit) = (0usize, 0usize); - for i in 1..=2000 { + // A slender body lying across its box (a long hole tool drilled at an angle) fills + // little of it: the samples go on past the first 2000 until enough land inside. + for i in 1..=64_000 { + if i > 2000 && n >= 50 { + break; + } let p = bx.min + Vec3::new(s.x * halton(i, 2), s.y * halton(i, 3), s.z * halton(i, 5)); if !inner_i.contains(p) { continue; @@ -648,6 +653,61 @@ fn boolean_whole(a: &Body, b: &Body, op: BoolOp) -> Result> { let mut empty_votes = 0; let mut empty_diagnostics = crate::BooleanDiagnostics::default(); let keep: Vec> = a.split_keep().iter().chain(b.split_keep()).cloned().collect(); + // The tolerances below follow the larger body. Where the bodies meet in a region much + // smaller than that (a hole a few millimetres across drilled through a long part, whose tool + // is longer still), they are as coarse as the tool itself: its intersection curves are + // traced at a step wider than the hole, and the cut comes out empty or fails. When those + // tries fail, the same boolean is asked again at tolerances (and shifts) scaled to where the + // bodies meet. Its result is checked as the others are, and held to the retry guard. + // Bodies in several shells are retried a piece at a time (see [`boolean`]), where each + // piece gets this pass of its own. + let fine_tols: Vec = match &meshes { + (Some(ma), Some(mb)) if a.solid.boundaries().len() == 1 && b.solid.boundaries().len() == 1 => { + let (ba, bb) = (ma.bounds(), mb.bounds()); + let s = solidcraft_geom::Aabb3 { min: ba.min.max(bb.min), max: ba.max.min(bb.max) }.size(); + // The thinner operand's thickness (twice its volume over its area: a plate's + // thickness, a rod's radius) bounds what the tolerance must resolve as well. + let thickness = |m: &solidcraft_geom::Mesh| { + let x = m.measure(); + if x.area > 0.0 { 2.0 * x.volume.abs() / x.area } else { f64::INFINITY } + }; + let feature = s.x.min(s.y).min(s.z).min(thickness(ma)).min(thickness(mb)).max(size * 1e-4); + if feature > 0.0 && feature * 2e-3 < size * 2.5e-4 { vec![(feature * 2e-3).max(1e-6), (feature * 5e-4).max(1e-6)] } else { Vec::new() } + } + _ => Vec::new(), + }; + let fine = |last: &mut String| -> Option { + let feature = fine_tols.first().map(|t| t / 2e-3)?; + // Unshifted, then once shifted: each try at these tolerances costs many coarser ones. + for (attempt, j) in JITTER.iter().enumerate().take(2) { + let shift = mt::Vector3::new(j[0], j[1], j[2]) * (feature * 0.01); + for &tol in &fine_tols { + match truck_boolean(a, b, op, if attempt > 0 { Some(shift) } else { None }, tol) { + Ok((s, _)) if s.boundaries().is_empty() || s.face_iter().next().is_none() => *last = "empty result".into(), + Ok((s, h)) => match guard("boolean result", || recorded::truck_result(s, h, size, &keep, &counts)) { + Ok(body) => { + let (ok, v) = check(&body); + if ok { + let mut event = BooleanFallback::new(if attempt > 0 { + BooleanStrategy::ShiftedOperands + } else { + BooleanStrategy::RefinedTolerance + }); + event.translation_mm = Vec3::new(j[0], j[1], j[2]).len() * (feature * 0.01); + event.tolerance_mm = tol; + record(event); + return Some(body); + } + *last = format!("implausible result volume {v:.4}"); + } + Err(e) => *last = e.to_string(), + }, + Err(e) => *last = e.to_string(), + } + } + } + None + }; for (attempt, j) in JITTER.iter().enumerate() { let shift = mt::Vector3::new(j[0], j[1], j[2]) * (size * 0.01); for k in [2e-3, 5e-4] { @@ -693,6 +753,9 @@ fn boolean_whole(a: &Body, b: &Body, op: BoolOp) -> Result> { } } if empty_votes >= 2 && op != BoolOp::Union { + if let Some(body) = fine(&mut last) { + return Ok(Some(body)); + } merge(empty_diagnostics); return Ok(None); } @@ -750,6 +813,11 @@ fn boolean_whole(a: &Body, b: &Body, op: BoolOp) -> Result> { Err(e) => last = format!("{last}; nudged: {e}"), } } + // The tries at the meeting region's scale come last, after every strategy that answered + // before them, so a result any of those gave is kept as it was. + if let Some(body) = fine(&mut last) { + return Ok(Some(body)); + } match doubted { Some(r) => { let mut event = BooleanFallback::new(BooleanStrategy::UnverifiedShortcut); diff --git a/tests/action_matrix/baseline.json b/tests/action_matrix/baseline.json index a4728f80..6422fa7b 100644 --- a/tests/action_matrix/baseline.json +++ b/tests/action_matrix/baseline.json @@ -200,7 +200,7 @@ "Lid/F10:+x|F10:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+x|F10:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+x|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F10:+y": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", + "Lid/F10:+y": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F10:+y|F10:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+y|F1:+z#[F10:+y,F11:-y,F4:side:l6,F5:-x]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+y|F4:side:l6#[F10:+y,F11:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -209,7 +209,7 @@ "Lid/F10:+z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F10:+z|F10:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+z|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F10:-y": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", + "Lid/F10:-y": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F10:-y|F1:+z#[F10:-y,F4:side:l5,F4:side:l6,F4:side:l8,F5:+x,F5:+y,F5:-x,F8:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:-y|F4:side:l6#[F10:-y,F4:side:l5]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:-y|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -219,7 +219,7 @@ "Lid/F11:+x|F11:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+x|F11:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+x|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F11:+y": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", + "Lid/F11:+y": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F11:+y|F11:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+y|F1:+z#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+y|F4:side:l6#[F11:+y,F4:side:l7]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -228,7 +228,7 @@ "Lid/F11:+z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F11:+z|F11:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+z|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F11:-y": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", + "Lid/F11:-y": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F11:-y|F1:+z#[F10:+y,F11:-y,F4:side:l6,F5:-x]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:-y|F4:side:l6#[F10:+y,F11:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:-y|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -387,15 +387,15 @@ "Lid/F6:-y": "face.angle_plane !face.draft_neutral !face.extrude face.hole !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F7:+x": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F7:-x": "face.angle_plane !face.draft_neutral !face.extrude face.hole !face.offset_plane !face.press_pull face.shell !face.sketch", - "Lid/F8:+y": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", + "Lid/F8:+y": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F8:+y|F8:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F8:+y|F9:+z#[F8:+y,F8:-x,F8:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F8:-x": "face.angle_plane !face.draft_neutral !face.extrude face.hole !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F8:-x|F8:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F8:-x|F9:+z#[F8:+y,F8:-x,F8:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F8:-y": "face.angle_plane !face.draft_neutral !face.extrude !face.hole !face.offset_plane !face.press_pull face.shell !face.sketch", + "Lid/F8:-y": "face.angle_plane !face.draft_neutral !face.extrude face.hole !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F8:-y|F9:+z#[F8:+y,F8:-x,F8:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F9:+y": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", + "Lid/F9:+y": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F9:+y|F9:+z#[F9:+y,F9:-x,F9:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F9:+y|F9:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F9:+z#[F8:+y,F8:-x,F8:-y]": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", @@ -404,7 +404,7 @@ "Lid/F9:+z#[F9:+y,F9:-x,F9:-y]|F9:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F9:-x": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/F9:-x|F9:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F9:-y": "face.angle_plane !face.draft_neutral !face.extrude !face.hole !face.offset_plane !face.press_pull face.shell !face.sketch", + "Lid/F9:-y": "face.angle_plane !face.draft_neutral !face.extrude face.hole !face.offset_plane !face.press_pull face.shell !face.sketch", "Lid/body": "body.copy body.mirror body.move body.pattern", "Lid/v[F10:+x & F10:+y & F10:+z]": "vertex.plane_three_points vertex.point", "Lid/v[F10:+x & F10:+y & F4:top]": "vertex.plane_three_points vertex.point", @@ -718,7 +718,7 @@ "Body2/F3:-z|F4:side#2": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body2/F4:side#1": "curved.axis curved.tangent_plane", "Body2/F4:side#2": "curved.axis curved.tangent_plane", - "Body2/F6:blend:F3:+z|F3:-x": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body2/F6:blend:F3:+z|F3:-x": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body2/body": "body.copy body.mirror body.move body.pattern", "Body2/v[F3:+x & F3:+y & F3:+z]": "vertex.plane_three_points vertex.point", "Body2/v[F3:+x & F3:+y & F3:-z]": "vertex.plane_three_points vertex.point", @@ -846,7 +846,7 @@ "Body1/F1:+y|F1:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F1:+y|F1:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F1:+y|F1:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F1:+z": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F1:+z": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F1:+z|F1:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F1:+z|F1:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F1:+z|F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -891,20 +891,20 @@ "Body1/F2:inner:F1:-z#[F5:rest:side:4,F5:rest:side:5,F5:rest:side:6,F5:rest:side:7]|F5:rest:side:5": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:inner:F1:-z#[F5:rest:side:4,F5:rest:side:5,F5:rest:side:6,F5:rest:side:7]|F5:rest:side:6": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:inner:F1:-z#[F5:rest:side:4,F5:rest:side:5,F5:rest:side:6,F5:rest:side:7]|F5:rest:side:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]|F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]|F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]|F3:inner:F1:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]|F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]|F3:inner:F1:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]|F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]|F3:inner:F1:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]|F3:inner:F1:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:inner:F1:+z": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", - "Body1/F4:hole:base": "face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:inner:F1:+z": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F4:hole:base": "face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:hole:base|F4:hole:side:0": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:hole:base|F4:hole:side:1": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:hole:side:0": "curved.axis curved.tangent_plane", @@ -915,7 +915,7 @@ "Body1/F4:post:side:0|F4:post:top": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:post:side:1": "curved.axis curved.tangent_plane", "Body1/F4:post:side:1|F4:post:top": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F4:post:top": "face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:post:top": "face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F5:rest:side:0": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F5:rest:side:0|F5:rest:side:1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F5:rest:side:0|F5:rest:side:3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -923,7 +923,7 @@ "Body1/F5:rest:side:1": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F5:rest:side:1|F5:rest:side:2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F5:rest:side:1|F5:rest:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F5:rest:side:2": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F5:rest:side:2": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F5:rest:side:2|F5:rest:side:3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F5:rest:side:2|F5:rest:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F5:rest:side:3": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", @@ -940,8 +940,8 @@ "Body1/F5:rest:side:6|F5:rest:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F5:rest:side:7": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F5:rest:side:7|F5:rest:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F5:rest:top": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", - "Body1/F6:arm:base": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F5:rest:top": "face.angle_plane face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F6:arm:base": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F6:arm:base|F6:arm:side:1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:arm:base|F6:arm:side:2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:arm:base|F6:arm:side:3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -950,18 +950,18 @@ "Body1/F6:arm:side:1": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F6:arm:side:1|F6:arm:side:2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:arm:side:1|F6:arm:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F6:arm:side:2": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F6:arm:side:2": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F6:arm:side:2|F6:arm:side:3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:arm:side:2|F6:arm:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:arm:side:3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F6:arm:side:3|F6:arm:side:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:arm:side:3|F6:arm:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F6:arm:side:4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F6:arm:side:4": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F6:arm:side:4|F6:arm:side:5": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:arm:side:4|F6:arm:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:arm:side:5": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F6:arm:side:5|F6:arm:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F6:arm:top": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F6:arm:top": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/body": "body.copy body.mirror body.move body.pattern", "Body1/v[F1:+x & F1:+y & F1:+z]": "vertex.plane_three_points vertex.point", "Body1/v[F1:+x & F1:+y & F1:-z]": "vertex.plane_three_points vertex.point", @@ -1297,7 +1297,7 @@ "Body1/F2:top#[F2:side:l3,F4:side:l3]|F4:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:top#[F2:side:l3,F4:side:l3]|F6:blend:F2:side:l3|F2:top#[F2:side:l3,F4:side:l3]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:side:l3": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F6:blend:F2:side:l3|F2:top#[F2:side:l3,F4:side:l3]": "face.angle_plane face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F6:blend:F2:side:l3|F2:top#[F2:side:l3,F4:side:l3]": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/body": "body.copy body.mirror body.move body.pattern", "Body1/v[F2:side:l2#[F2:side:l3,F4:side:l3] & F2:side:l3 & F2:start#[F2:side:l3,F4:side:l3]]": "vertex.plane_three_points vertex.point", "Body1/v[F2:side:l2#[F2:side:l3,F4:side:l3] & F2:side:l3 & F6:blend:F2:side:l3|F2:top#[F2:side:l3,F4:side:l3]]": "vertex.plane_three_points vertex.point", @@ -1498,11 +1498,11 @@ "Enclosure/F6:side:l1": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Enclosure/F6:side:l1|F6:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.normal_plane+edit edge.project", "Enclosure/F6:side:l1|F6:side:l4": "edge.axis edge.chamfer edge.fillet edge.fillet+edit edge.normal_plane edge.project", - "Enclosure/F6:side:l2": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Enclosure/F6:side:l2": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Enclosure/F6:side:l2|F6:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Enclosure/F6:side:l3": "face.angle_plane !face.draft_neutral face.extrude face.extrude+edit face.hole face.offset_plane face.press_pull face.shell face.sketch", "Enclosure/F6:side:l3|F6:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.normal_plane+edit edge.project", - "Enclosure/F6:side:l4": "face.angle_plane face.angle_plane+edit !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Enclosure/F6:side:l4": "face.angle_plane face.angle_plane+edit !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Enclosure/F7:hole:base": "face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Enclosure/F7:hole:base|F7:hole:side:0": "edge.chamfer edge.fillet edge.normal_plane edge.project edge.project+edit", "Enclosure/F7:hole:base|F7:hole:side:1": "edge.chamfer edge.fillet edge.normal_plane edge.normal_plane+edit edge.project", @@ -1668,7 +1668,7 @@ "Body1/F11:side:l5|F11:side:l8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F11:side:l5|F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project edge.project+edit", "Body1/F11:side:l5|F4:inner:F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F11:side:l6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F11:side:l6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F11:side:l6|F11:side:l7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F11:side:l6|F2:side:l2~1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F11:side:l6|F2:side:l2~2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -1678,7 +1678,7 @@ "Body1/F11:side:l7|F11:side:l8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F11:side:l7|F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project edge.project+edit", "Body1/F11:side:l7|F4:inner:F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F11:side:l8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F11:side:l8": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F11:side:l8|F2:side:l2~1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.normal_plane+edit edge.project", "Body1/F11:side:l8|F2:side:l2~2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.normal_plane+edit edge.project", "Body1/F11:side:l8|F4:inner:F2:side:l2~1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -2654,7 +2654,7 @@ "Case/F11:side:bs_hole#[F4:inner:F2:start]#1|F4:inner:F2:start#[F11:side:bs_hole]": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Case/F11:side:bs_hole#[F4:inner:F2:start]#2": "curved.axis curved.tangent_plane", "Case/F11:side:bs_hole#[F4:inner:F2:start]#2|F4:inner:F2:start#[F11:side:bs_hole]": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Case/F11:top": "!face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", + "Case/F11:top": "!face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Case/F12:face:103": "curved.axis curved.tangent_plane", "Case/F12:face:103|F12:face:147": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Case/F12:face:104": "curved.axis curved.tangent_plane", @@ -2679,7 +2679,7 @@ "Case/F12:face:113|F12:face:149": "edge.chamfer edge.fillet edge.normal_plane edge.project edge.project+edit", "Case/F12:face:114": "curved.axis curved.tangent_plane", "Case/F12:face:114|F12:face:149": "edge.chamfer edge.fillet edge.normal_plane edge.normal_plane+edit edge.project", - "Case/F12:face:147": "!face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", + "Case/F12:face:147": "!face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Case/F12:face:148": "!face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch", "Case/F12:face:149": "!face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull face.shell face.shell+edit !face.sketch", "Case/F12:face:28": "curved.axis curved.tangent_plane curved.tangent_plane+edit", @@ -4888,7 +4888,7 @@ "Box/F3:inner:F2:side:l4|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4": "edge.axis edge.normal_plane edge.project", "Box/F3:inner:F2:side:l4|F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4": "edge.axis edge.normal_plane edge.project", "Box/F3:inner:F2:side:l4|F6:blend:F3:inner:F2:side:l4|F3:inner:F2:start": "edge.axis edge.normal_plane edge.project", - "Box/F3:inner:F2:start": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Box/F3:inner:F2:start": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Box/F3:inner:F2:start|F6:blend:F3:inner:F2:side:l1|F3:inner:F2:start": "edge.axis edge.normal_plane edge.project", "Box/F3:inner:F2:start|F6:blend:F3:inner:F2:side:l2|F3:inner:F2:start": "edge.axis edge.normal_plane edge.project", "Box/F3:inner:F2:start|F6:blend:F3:inner:F2:side:l3|F3:inner:F2:start": "edge.axis edge.normal_plane edge.project", @@ -5542,7 +5542,7 @@ "Tee/F4:side:c1#1|F4:top": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Tee/F4:side:c1#2": "curved.axis curved.tangent_plane", "Tee/F4:side:c1#2|F4:top": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Tee/F4:top": "face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Tee/F4:top": "face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Tee/F4:top|F8:side:c1#1": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Tee/F4:top|F8:side:c1#2": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Tee/F6:side:c1#1": "curved.axis curved.tangent_plane", @@ -9529,7 +9529,7 @@ "Slat/F2:side:a1|F2:side:l3": "edge.axis edge.normal_plane edge.project", "Slat/F2:side:a1|F2:start": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Slat/F2:side:a1|F2:top": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Slat/F2:side:l1": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Slat/F2:side:l1": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Slat/F2:side:l1|F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Slat/F2:side:l1|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Slat/F2:side:l1|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -9539,11 +9539,11 @@ "Slat/F2:side:l2|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Slat/F2:side:l2|F4:side:c1#1": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Slat/F2:side:l2|F4:side:c1#2": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Slat/F2:side:l3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Slat/F2:side:l3": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Slat/F2:side:l3|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Slat/F2:side:l3|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Slat/F2:start": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", - "Slat/F2:top": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Slat/F2:top": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Slat/F4:side:c1#1": "curved.axis curved.tangent_plane", "Slat/F4:side:c1#1|F4:top": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Slat/F4:side:c1#2": "curved.axis curved.tangent_plane", @@ -9709,7 +9709,7 @@ "Lid/F10:+x|F10:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+x|F10:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+x|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F10:+y": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Lid/F10:+y": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F10:+y|F10:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+y|F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:+y,F11:-y,F4:side:l6,F5:-x]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+y|F4:side:l6#[F10:+y,F4:side:l7]#[F10:+y,F11:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -9718,7 +9718,7 @@ "Lid/F10:+z": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F10:+z|F10:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:+z|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F10:-y": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Lid/F10:-y": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F10:-y|F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:-y,F4:side:l5,F4:side:l6,F4:side:l8,F5:+x,F5:+y,F5:-x,F8:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:-y|F4:side:l6#[F10:-y,F4:side:l5]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F10:-y|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -9728,7 +9728,7 @@ "Lid/F11:+x|F11:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+x|F11:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+x|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F11:+y": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Lid/F11:+y": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F11:+y|F11:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+y|F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+y|F4:side:l6#[F10:+y,F4:side:l7]#[F11:+y,F4:side:l7]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -9737,7 +9737,7 @@ "Lid/F11:+z": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F11:+z|F11:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:+z|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F11:-y": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Lid/F11:-y": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F11:-y|F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:+y,F11:-y,F4:side:l6,F5:-x]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:-y|F4:side:l6#[F10:+y,F4:side:l7]#[F10:+y,F11:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F11:-y|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -9896,15 +9896,15 @@ "Lid/F6:-y": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Lid/F7:+x": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F7:-x": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", - "Lid/F8:+y": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Lid/F8:+y": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F8:+y|F8:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F8:+y|F9:+z#[F8:+y,F8:-x,F8:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F8:-x": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Lid/F8:-x|F8:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F8:-x|F9:+z#[F8:+y,F8:-x,F8:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F8:-y": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Lid/F8:-y": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Lid/F8:-y|F9:+z#[F8:+y,F8:-x,F8:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F9:+y": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Lid/F9:+y": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F9:+y|F9:+z#[F9:+y,F9:-x,F9:-y]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F9:+y|F9:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F9:+z#[F8:+y,F8:-x,F8:-y]": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", @@ -9913,7 +9913,7 @@ "Lid/F9:+z#[F9:+y,F9:-x,F9:-y]|F9:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Lid/F9:-x": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Lid/F9:-x|F9:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Lid/F9:-y": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Lid/F9:-y": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Lid/body": "body.copy body.mirror body.move body.pattern", "Lid/v[F10:+x & F10:+y & F10:+z]": "vertex.plane_three_points vertex.point", "Lid/v[F10:+x & F10:+y & F4:top]": "vertex.plane_three_points vertex.point", @@ -10022,31 +10022,31 @@ "design": "load" }, "regressions/loft_cut_beside_round_hole": { - "Body1/F2:side:l1": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:side:l1": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:side:l1|F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l1|F2:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l1|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l1|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:side:l2": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:side:l2": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:side:l2|F2:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l2|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l2|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:side:l3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:side:l3": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:side:l3|F2:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l3|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l3|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:side:l4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:side:l4": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:side:l4|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l4|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:start": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F2:top": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:start": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:top": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:top|F4:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:top|F4:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:top|F4:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:top|F4:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:top|F6:side:c1#1": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:top|F6:side:c1#2": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F4:bottom": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:bottom": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:bottom|F4:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:bottom|F4:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:bottom|F4:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -10055,32 +10055,32 @@ "Body1/F4:bottom|F9:side:l2": "edge.axis edge.normal_plane edge.project", "Body1/F4:bottom|F9:side:l3": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F4:bottom|F9:side:l4": "edge.axis edge.normal_plane edge.project", - "Body1/F4:side:l1": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:side:l1": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:side:l1|F4:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:side:l1|F4:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F4:side:l2": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:side:l2": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:side:l2|F4:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F4:side:l3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:side:l3": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:side:l3|F4:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F4:side:l4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F6:bottom": "face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:side:l4": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F6:bottom": "face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F6:bottom|F6:side:c1#1": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:bottom|F6:side:c1#2": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:side:c1#1": "curved.axis curved.tangent_plane", "Body1/F6:side:c1#2": "curved.axis curved.tangent_plane", - "Body1/F9:end": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F9:end": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F9:end|F9:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F9:end|F9:side:l2": "edge.axis edge.normal_plane edge.project", "Body1/F9:end|F9:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F9:end|F9:side:l4": "edge.axis edge.normal_plane edge.project", - "Body1/F9:side:l1": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F9:side:l1": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F9:side:l1|F9:side:l2": "edge.axis !edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F9:side:l1|F9:side:l4": "edge.axis !edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F9:side:l2": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F9:side:l2": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F9:side:l2|F9:side:l3": "edge.axis !edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F9:side:l3": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F9:side:l3": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F9:side:l3|F9:side:l4": "edge.axis !edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F9:side:l4": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F9:side:l4": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/body": "body.copy body.mirror body.move body.pattern", "Body1/v[F2:side:l1 & F2:side:l2 & F2:start]": "vertex.plane_three_points vertex.point", "Body1/v[F2:side:l1 & F2:side:l2 & F2:top]": "vertex.plane_three_points vertex.point", @@ -10118,17 +10118,17 @@ "ClipBody/F4:bottom|F4:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:bottom|F4:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:bottom|F4:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "ClipBody/F4:side:l1": "face.angle_plane face.draft_neutral !face.extrude !face.hole face.offset_plane !face.press_pull face.shell face.sketch", + "ClipBody/F4:side:l1": "face.angle_plane face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch", "ClipBody/F4:side:l1|F4:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:side:l1|F4:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:side:l1|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "ClipBody/F4:side:l2": "face.angle_plane face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "ClipBody/F4:side:l2": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "ClipBody/F4:side:l2|F4:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:side:l2|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:side:l3": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "ClipBody/F4:side:l3|F4:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:side:l3|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "ClipBody/F4:side:l4": "face.angle_plane face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "ClipBody/F4:side:l4": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "ClipBody/F4:side:l4|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:top": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "ClipBody/body": "body.copy body.mirror body.move body.pattern", @@ -10187,11 +10187,11 @@ "ClipBody/F4:bottom|F4:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:bottom|F4:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:bottom|F4:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "ClipBody/F4:side:l1": "face.angle_plane face.draft_neutral !face.extrude !face.hole face.offset_plane !face.press_pull face.shell face.sketch", + "ClipBody/F4:side:l1": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "ClipBody/F4:side:l1|F4:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:side:l1|F4:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:side:l1|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "ClipBody/F4:side:l2": "face.angle_plane face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "ClipBody/F4:side:l2": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "ClipBody/F4:side:l2|F4:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:side:l2|F4:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "ClipBody/F4:side:l3": "face.angle_plane face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", @@ -10223,7 +10223,7 @@ "Tool/F2:side:l1|F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Tool/F2:side:l1|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Tool/F2:side:l1|F4:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Tool/F2:side:l2": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Tool/F2:side:l2": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Tool/F2:side:l2|F2:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Tool/F2:side:l2|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Tool/F2:side:l3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", @@ -10234,7 +10234,7 @@ "Tool/F2:side:l4|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Tool/F2:side:l4|F4:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Tool/F2:top": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", - "Tool/F4:side:l1": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.offset_plane !face.press_pull !face.shell face.sketch", + "Tool/F4:side:l1": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull !face.shell face.sketch", "Tool/body": "body.copy body.mirror body.move body.pattern", "Tool/v[F2:bottom & F2:side:l1 & F2:side:l2]": "vertex.plane_three_points vertex.point", "Tool/v[F2:bottom & F2:side:l1 & F4:side:l1]": "vertex.plane_three_points vertex.point", @@ -10500,31 +10500,31 @@ "design": "load" }, "regressions/shallow_loft_cut_from_top_face": { - "Body1/F2:side:l1": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:side:l1": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:side:l1|F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l1|F2:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l1|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l1|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:side:l2": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:side:l2": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:side:l2|F2:side:l3~1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l2|F2:side:l3~2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l2|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l2|F2:top~1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l2|F2:top~2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:side:l3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:side:l3": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:side:l3|F2:side:l4~1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l3|F2:side:l4~2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l3|F2:side:l4~3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l3|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l3|F2:top~1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l3|F2:top~2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:side:l4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:side:l4": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:side:l4|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l4|F2:top~1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l4|F2:top~2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:side:l4|F2:top~3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:start": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F2:top": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:start": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:top": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:top|F5:side:l1~1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:top|F5:side:l1~2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:top|F5:side:l1~3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -10535,19 +10535,19 @@ "Body1/F2:top|F5:side:l3~2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:top|F5:side:l4~1": "edge.axis edge.normal_plane edge.project", "Body1/F2:top|F5:side:l4~2": "edge.axis edge.normal_plane edge.project", - "Body1/F5:end": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F5:end": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F5:end|F5:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F5:end|F5:side:l2": "edge.axis edge.normal_plane edge.project", "Body1/F5:end|F5:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F5:end|F5:side:l4": "edge.axis edge.normal_plane edge.project", - "Body1/F5:side:l1": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F5:side:l1": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F5:side:l1|F5:side:l2": "edge.axis !edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F5:side:l1|F5:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F5:side:l2": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F5:side:l2": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F5:side:l2|F5:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F5:side:l3": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F5:side:l3": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F5:side:l3|F5:side:l4": "edge.axis !edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F5:side:l4": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F5:side:l4": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/body": "body.copy body.mirror body.move body.pattern", "Body1/v[F2:side:l1 & F2:side:l2 & F2:start]": "vertex.plane_three_points vertex.point", "Body1/v[F2:side:l1 & F2:side:l2 & F2:top]": "vertex.plane_three_points vertex.point", @@ -10770,20 +10770,20 @@ "Body1/F3:bore:side:1@F4.5": "curved.axis curved.tangent_plane", "Body1/F3:bore:side:1@F4.5|F3:cbore:base@F4.5": "edge.chamfer edge.fillet edge.fillet+edit edge.normal_plane edge.project", "Body1/F3:bore:side:1|F3:cbore:base": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:cbore:base": "face.extrude face.extrude+edit !face.hole face.midplane face.offset_plane face.press_pull face.press_pull+edit face.shell face.sketch", - "Body1/F3:cbore:base@F4.1": "face.extrude !face.hole face.midplane face.midplane+edit face.offset_plane face.press_pull face.shell face.shell+edit face.sketch", + "Body1/F3:cbore:base": "face.extrude face.extrude+edit face.hole face.midplane face.offset_plane face.press_pull face.press_pull+edit face.shell face.sketch", + "Body1/F3:cbore:base@F4.1": "face.extrude face.hole face.midplane face.midplane+edit face.offset_plane face.press_pull face.shell face.shell+edit face.sketch", "Body1/F3:cbore:base@F4.1|F3:cbore:side:0@F4.1": "edge.chamfer edge.chamfer+edit edge.fillet edge.normal_plane edge.project", "Body1/F3:cbore:base@F4.1|F3:cbore:side:1@F4.1": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:cbore:base@F4.2": "face.extrude face.extrude+edit !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:cbore:base@F4.2": "face.extrude face.extrude+edit face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:cbore:base@F4.2|F3:cbore:side:0@F4.2": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:cbore:base@F4.2|F3:cbore:side:1@F4.2": "edge.chamfer edge.fillet edge.normal_plane edge.project edge.project+edit", - "Body1/F3:cbore:base@F4.3": "face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch face.sketch+edit", + "Body1/F3:cbore:base@F4.3": "face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch face.sketch+edit", "Body1/F3:cbore:base@F4.3|F3:cbore:side:0@F4.3": "edge.chamfer edge.chamfer+edit edge.fillet edge.fillet+edit edge.normal_plane edge.project", "Body1/F3:cbore:base@F4.3|F3:cbore:side:1@F4.3": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:cbore:base@F4.4": "face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:cbore:base@F4.4": "face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:cbore:base@F4.4|F3:cbore:side:0@F4.4": "edge.chamfer edge.chamfer+edit edge.fillet edge.normal_plane edge.project", "Body1/F3:cbore:base@F4.4|F3:cbore:side:1@F4.4": "edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:cbore:base@F4.5": "face.extrude !face.hole face.offset_plane face.offset_plane+edit face.press_pull face.shell face.sketch", + "Body1/F3:cbore:base@F4.5": "face.extrude face.hole face.offset_plane face.offset_plane+edit face.press_pull face.shell face.sketch", "Body1/F3:cbore:base@F4.5|F3:cbore:side:0@F4.5": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:cbore:base@F4.5|F3:cbore:side:1@F4.5": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:cbore:base|F3:cbore:side:0": "edge.chamfer edge.chamfer+edit edge.fillet edge.normal_plane edge.project", @@ -10800,14 +10800,14 @@ "Body1/F3:cbore:side:1@F4.3": "curved.axis curved.axis+edit curved.tangent_plane", "Body1/F3:cbore:side:1@F4.4": "curved.axis curved.tangent_plane curved.tangent_plane+edit", "Body1/F3:cbore:side:1@F4.5": "curved.axis curved.tangent_plane", - "Body1/F5:blend:F2:side:l1|F2:top": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.press_pull+edit face.shell face.sketch", + "Body1/F5:blend:F2:side:l1|F2:top": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.press_pull+edit face.shell face.sketch", "Body1/F5:blend:F2:side:l1|F2:top|F5:blend:F2:side:l2|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F5:blend:F2:side:l1|F2:top|F5:blend:F2:side:l4|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F5:blend:F2:side:l2|F2:top": "face.angle_plane face.angle_plane+edit face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F5:blend:F2:side:l2|F2:top": "face.angle_plane face.angle_plane+edit face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F5:blend:F2:side:l2|F2:top|F5:blend:F2:side:l3|F2:top": "edge.axis edge.axis+edit edge.chamfer edge.fillet edge.normal_plane edge.project edge.project+edit", - "Body1/F5:blend:F2:side:l3|F2:top": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F5:blend:F2:side:l3|F2:top": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F5:blend:F2:side:l3|F2:top|F5:blend:F2:side:l4|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project edge.project+edit", - "Body1/F5:blend:F2:side:l4|F2:top": "face.angle_plane face.extrude !face.hole face.offset_plane face.offset_plane+edit face.press_pull face.shell face.sketch", + "Body1/F5:blend:F2:side:l4|F2:top": "face.angle_plane face.extrude face.hole face.offset_plane face.offset_plane+edit face.press_pull face.shell face.sketch", "Body1/body": "body.copy body.mirror body.move body.move+edit body.pattern", "Body1/v[F2:side:l1 & F2:side:l2 & F2:start]": "vertex.plane_three_points vertex.point", "Body1/v[F2:side:l1 & F2:side:l2 & F5:blend:F2:side:l1|F2:top & F5:blend:F2:side:l2|F2:top]": "vertex.plane_three_points vertex.point",