From 6cb3025b726a954e62f11c499af2353d5b462ace Mon Sep 17 00:00:00 2001 From: bherbruck Date: Wed, 14 Oct 2026 02:31:19 -0400 Subject: [PATCH] Sheet metal: a hole drilled into a rim is a bore its panel keeps (#560) (#955) A hole drilled along a panel, into its rim, has no place in the flat pattern as a cut-out, so every such hole was refused. It is now kept as a bore of that panel, in flat coordinates, and cut only from that panel's material when the folded part and its flat pattern are built, so the sheet still unfolds and folds back with it. A hole that would run into a bend, or cross a panel at an angle, is still refused. The flat pattern lists the bores. The action matrix worker takes ACTION_MATRIX_ONLY (just these actions) and ACTION_MATRIX_UNFOLD (unfold and refold every sheet after each action) for rechecking one group by hand. Co-authored-by: Claude Opus 5.5 --- apps/solidcraft-cli/tests/action_matrix.rs | 43 ++++++ crates/doc/src/eval.rs | 14 +- crates/doc/src/eval_more.rs | 39 +++++ crates/doc/src/sheet.rs | 139 ++++++++++++++++- crates/engine/src/cmd/sheet.rs | 14 +- crates/engine/src/cmd/sheet_tests.rs | 79 ++++++++++ docs/action-matrix.md | 5 + tests/action_matrix/baseline.json | 170 ++++++++++----------- 8 files changed, 413 insertions(+), 90 deletions(-) diff --git a/apps/solidcraft-cli/tests/action_matrix.rs b/apps/solidcraft-cli/tests/action_matrix.rs index 047d5076..55301884 100644 --- a/apps/solidcraft-cli/tests/action_matrix.rs +++ b/apps/solidcraft-cli/tests/action_matrix.rs @@ -668,6 +668,26 @@ fn action_matrix_worker() { Act::Project { plane, edge } => json!({"command": "sketch.project", "params": {"refs": [edge]}, "sketch_plane": plane}), }; emit(line); + // With ACTION_MATRIX_UNFOLD, sheet metal must still unfold and fold back after the action. + if r.is_ok() && std::env::var_os("ACTION_MATRIX_UNFOLD").is_some() { + let t = Instant::now(); + let sheets: Vec = scratch.model.state().sheets.iter().map(|sh| sh.body.clone()).collect(); + let mut r = Ok(()); + for body in &sheets { + for id in ["sheet.unfold", "sheet.refold"] { + if r.is_ok() { + r = scratch + .execute(id, &json!({"body": body})) + .map(|_| ()) + .map_err(|e| (command_kind(&e).to_string(), format!("{body}: {e}"))); + } + } + } + if !sheets.is_empty() { + let unfold: &'static str = Box::leak(format!("{}+unfold", a.action).into_boxed_str()); + emit(outcome(&design, &a.entity, unfold, &r, t.elapsed().as_millis())); + } + } // The edit round: a driving parameter changes; the new feature still resolves. if r.is_ok() && let Some((name, expr)) = &edit @@ -1085,6 +1105,29 @@ fn a_hole_through_a_sheet_metal_base() { reproduces(None, Value::Array(c)); } +/// `face.hole` on a rim of the sheet metal corpus (#560): drilled along the panel, the hole is a +/// bore of that panel, and the part still unfolds and folds back. +#[test] +fn a_hole_drilled_into_a_sheet_metal_rim() { + // What the matrix sends: the face's point, the hole square into it. + for (design, at, diameter) in [ + // The base's end rim of the L bracket, through to the other end. + ("typical/sheet-metal-bracket", [60.0, 7.777777777777779, 0.8333333333333333], 0.667), + // The end rim of a tray's wall, beside the corner. + ("oracle/69-sm-tray", [99.58333333333333, 4.267766952966369, 15.0], 0.333), + ] { + let Some((_, path)) = designs().into_iter().find(|(n, _)| n == design) else { panic!("no design {design}") }; + let mut s = load(&path).unwrap(); + let before = errors(&s); + let start = s.doc.features.len(); + s.execute("solid.hole", &json!({"position": at, "diameter": diameter})).unwrap_or_else(|e| panic!("{design}: {e}")); + check(&s, start, &before).unwrap_or_else(|(kind, e)| panic!("{design}: {kind}: {e}")); + for id in ["sheet.unfold", "sheet.refold"] { + s.execute(id, &json!({})).unwrap_or_else(|e| panic!("{design} {id}: {e}")); + } + } +} + #[test] fn sketches_on_loft_and_sweep_faces() { let mut loft: Vec = rectangle(json!("XY"), [-20., -20.], [20., 20.]).into(); diff --git a/crates/doc/src/eval.rs b/crates/doc/src/eval.rs index d4240c7d..28582b53 100644 --- a/crates/doc/src/eval.rs +++ b/crates/doc/src/eval.rs @@ -2174,9 +2174,21 @@ fn sheet_hole_cut(st: &mut ModelState, f: &Feature, tools: &[(Traced, Option more::sheet_primitive_cut(f, st, tool, *prism, Operation::Cut, true)?, + Some(prism) => match more::sheet_primitive_cut(f, st, tool, *prism, Operation::Cut, true) { + Ok(done) => done, + // Drilled along a panel (into a rim) the hole is no flat cut-out: a bore of + // that panel, when it stays inside it. + Err(e) => match more::sheet_bore_cut(f, st, *prism)? { + Some(done) => done, + None => return Err(e), + }, + }, None => Vec::new(), }; + let done = match (done.is_empty(), prism) { + (true, Some(prism)) => more::sheet_bore_cut(f, st, *prism)?.unwrap_or_default(), + _ => done, + }; if done.is_empty() { let mut meets = false; for sheet in &st.sheets { diff --git a/crates/doc/src/eval_more.rs b/crates/doc/src/eval_more.rs index f15d5d1a..26e78bde 100644 --- a/crates/doc/src/eval_more.rs +++ b/crates/doc/src/eval_more.rs @@ -771,6 +771,45 @@ pub(super) fn sheet_primitive_cut( sheet_prism_cut(f, st, &plane, std::slice::from_ref(®ion), operation, &tools, &[], None, false) } +/// A hole's straight drill along a panel of a sheet (into its rim), kept as a bore of each +/// panel it meets (see [`crate::sheet::SheetBore`]), so the sheet still unfolds. Returns the +/// sheet bodies it machined; None, with the model as it was, when the drill is not a plain +/// cylinder or a sheet it meets can't keep it that way (it runs into a bend, or crosses a +/// panel at an angle). +pub(super) fn sheet_bore_cut(f: &Feature, st: &mut ModelState, prism: PrimitivePrism) -> Result>> { + let PrimitivePrism::Cylinder { base, axis, radius, height } = prism else { return Ok(None) }; + let mut plans = Vec::new(); + for original in &st.sheets { + if !sheet_eligible(f, st, &[], original) { + continue; + } + let mut sh = original.clone(); + match sh.add_bore(base, axis, radius, height) { + Ok(true) => {} + Ok(false) => continue, + // Refused here, the hole keeps the message of the machining it was first tried as. + Err(DocError::Invalid(_)) => return Ok(None), + Err(e) => return Err(e), + } + let body = sh.solid()?; + plans.push((sh, body)); + } + if plans.is_empty() { + return Ok(None); + } + let mut handled = Vec::new(); + for (sh, body) in plans { + if let Some(mb) = st.bodies.iter_mut().find(|b| b.name == sh.body) { + replace_sheet_body(mb, body); + } + handled.push(sh.body.clone()); + if let Some(slot) = st.sheets.iter_mut().find(|s| s.body == sh.body) { + *slot = sh; + } + } + Ok(Some(handled)) +} + /// A primitive tool's exact geometry, for [`sheet_primitive_cut`]. #[derive(Clone, Copy, Debug)] pub(super) enum PrimitivePrism { diff --git a/crates/doc/src/sheet.rs b/crates/doc/src/sheet.rs index 251729d3..e29fe513 100644 --- a/crates/doc/src/sheet.rs +++ b/crates/doc/src/sheet.rs @@ -37,6 +37,9 @@ const MAX_FLAT_WORK: usize = 500_000_000; const FOLD_TABS_REJOIN: &str = "not supported yet: folding tabs that join again beyond the bend"; pub const FOLD_FIXED_OFF_SHEET: &str = "the fold's fixed point is not on the sheet"; +/// The most bores one sheet keeps. +const MAX_BORES: usize = 1000; + fn flat_budget_error() -> DocError { DocError::Invalid("sheet metal flat geometry exceeds the bounded processing budget".into()) } @@ -474,6 +477,11 @@ pub struct SheetBody { /// Derived from feature history; these records are not a document schema change. #[serde(skip_serializing_if = "Vec::is_empty")] pub pockets: Vec, + /// Straight bores drilled into a panel along its plane (a hole into a rim), in flat + /// coordinates, each kept inside its own panel's material so the folded part and its flat + /// pattern both carry it (#560). Derived from feature history, like `pockets`. + #[serde(skip_serializing_if = "Vec::is_empty")] + pub bores: Vec, /// Unfolded. pub flat: bool, /// Gap between flanges that meet at a corner. @@ -490,6 +498,17 @@ pub struct SheetBody { pub base_curves: Vec<(String, Vec2, Vec2)>, } +/// A straight round bore of one panel (None = the base), in flat coordinates: a cylinder from +/// `base` along the unit `axis` for `height`, cut only from that panel's material. +#[derive(Clone, Copy, Debug, PartialEq, Serialize)] +pub struct SheetBore { + pub panel: Option, + pub base: Vec3, + pub axis: Vec3, + pub radius: f64, + pub height: f64, +} + #[derive(Clone, Debug, PartialEq, Serialize)] pub struct SheetPocket { pub region: Region2, @@ -1200,6 +1219,7 @@ impl SheetBody { local.frame = Plane::XY; let body = kernel::sew(&local.faces(&cells, 0.0, self.t, &mut work)?)?; let body = local.machine_pockets(body, &mut work)?; + let body = local.machine_bores(body, &mut work)?; self.place_local_solid(body) } @@ -1215,7 +1235,9 @@ impl SheetBody { local.frame = Plane::XY; local.flat = true; let body = kernel::extrude_planar_regions(&Plane::XY, ®ions, 0.0, self.t)?; - let body = local.machine_pockets(body, &mut FlatWork::new())?; + let mut work = FlatWork::new(); + let body = local.machine_pockets(body, &mut work)?; + let body = local.machine_bores(body, &mut work)?; self.place_local_solid(body) } @@ -1284,6 +1306,119 @@ impl SheetBody { } /// Replay exact planar machining after forming the full-thickness material. + /// Cut the bores (see [`SheetBore`]) from a solid built in the sheet's local frame. + fn machine_bores(&self, mut body: Body, work: &mut FlatWork) -> Result { + if self.bores.is_empty() { + return Ok(body); + } + if self.bores.len() > MAX_BORES { + return Err(flat_budget_error()); + } + let panels = self.material_panels(None, work)?; + for bore in &self.bores { + let cells = panels.iter().filter(|(pi, _)| *pi == bore.panel).map(|(_, r)| fitted_region(r)).collect::>>()?; + if cells.is_empty() { + continue; + } + // BRep replay is costlier than planar clipping; share the command budget. + work.charge(100_000)?; + // The bore's own panel, flat: the bore never reaches a bend or another panel, in + // the folded part or in its flat pattern. + let slab = kernel::extrude_planar_regions(&Plane::XY, &cells, 0.0, self.t)?; + let drill = kernel::cylinder(bore.base, bore.axis, bore.radius, bore.height)?; + let Some(inside) = kernel::boolean(&drill, &slab, kernel::BoolOp::Intersect)? else { continue }; + // Cut with the drill clipped to the panel. Where its ends, flush with the panel's + // rims, leave coincident faces the cut can't resolve, cut with the drill as long as + // the panel's material along it and a hair past it instead (the same material). + let place = |tool: Body| if self.flat { Ok(tool) } else { kernel::transform_matrix(&tool, self.world(bore.panel)) }; + let mut last = None; + for longer in [false, true] { + let tool = if longer { + let axis = bore.axis.normalized().ok_or_else(|| DocError::Invalid("invalid sheet bore".into()))?; + let mesh = inside.tessellate((bore.radius * 0.1).max(1e-4))?; + let (lo, hi) = + mesh.positions.iter().map(|p| (*p - bore.base).dot(axis)).fold((f64::MAX, f64::MIN), |(lo, hi), d| (lo.min(d), hi.max(d))); + if !(lo <= hi) { + break; + } + let past = (bore.radius * 0.05).max(1e-3); + kernel::cylinder(bore.base + axis * (lo - past), axis, bore.radius, hi - lo + 2.0 * past)? + } else { + inside.clone() + }; + match kernel::boolean(&body, &place(tool)?, kernel::BoolOp::Cut) { + Ok(Some(cut)) => { + body = cut; + last = None; + break; + } + Ok(None) => last = Some(DocError::Invalid("a sheet bore removes all sheet material".into())), + Err(e) => last = Some(e.into()), + } + } + if let Some(e) = last { + return Err(e); + } + } + Ok(body) + } + + /// Record a round bore drilled along the sheet (a hole into a rim): the world cylinder from + /// `base` along `axis`, one record per panel whose material it meets. Ok(false) when it + /// meets no material; an error when it meets a bend, or crosses a panel other than along + /// its plane (that machining has no exact place in the flat pattern). + pub(crate) fn add_bore(&mut self, base: Vec3, axis: Vec3, radius: f64, height: f64) -> Result { + let axis = axis.normalized().ok_or_else(|| DocError::Invalid("bore axis".into()))?; + if ![base.x, base.y, base.z, radius, height].iter().all(|v| v.is_finite()) || !(radius > 0.0) || height == 0.0 { + return Err(DocError::Invalid("invalid sheet bore".into())); + } + if self.bores.len() >= MAX_BORES { + return Err(flat_budget_error()); + } + let mut work = FlatWork::new(); + let drill = kernel::cylinder(base, axis, radius, height)?; + let mut found = Vec::new(); + for cell in self.cells_with_work(&mut work)? { + work.charge(100_000)?; + let solid = if self.flat { + let region = fitted_region(&Region2 { + outer: Loop2 { segs: cell.outer.clone() }, + holes: cell.holes.iter().map(|h| Loop2 { segs: h.clone() }).collect(), + })?; + kernel::extrude_planar_regions(&self.frame, &[region], 0.0, self.t)? + } else { + kernel::sew(&self.faces(std::slice::from_ref(&cell), 0.0, self.t, &mut work)?)? + }; + if kernel::boolean(&solid, &drill, kernel::BoolOp::Intersect)?.is_none() { + continue; + } + let Piece::Panel(pi) = cell.piece else { + return Err(DocError::Invalid( + "this hole runs into a bend; drill it into a flat panel, or unfold the sheet before machining that material".into(), + )); + }; + let w = self.world(if self.flat { None } else { pi }); + if apply_vector(&w, Vec3::Z).dot(axis).abs() > 1e-6 { + return Err(DocError::Invalid( + "this hole crosses a sheet panel at an angle; drill it square to the panel, or along it into a rim".into(), + )); + } + let inv = mat_inverse(&w).ok_or_else(|| DocError::Invalid("invalid sheet panel frame".into()))?; + let bore = SheetBore { panel: pi, base: apply_point(&inv, base), axis: apply_vector(&inv, axis), radius, height }; + if !found.contains(&bore) { + found.push(bore); + } + } + if found.is_empty() { + return Ok(false); + } + if self.bores.len().saturating_add(found.len()) > MAX_BORES { + return Err(flat_budget_error()); + } + self.bores.extend(found); + Ok(true) + } + fn machine_pockets(&self, mut body: Body, work: &mut FlatWork) -> Result { if self.pockets.len() > 1000 { return Err(flat_budget_error()); @@ -3671,6 +3806,7 @@ pub fn base_flange(body: &str, rule: &str, rv: &RuleValues, plane: Plane, region flanges: Vec::new(), holes, pockets: Vec::new(), + bores: Vec::new(), flat: false, gap: rv.gap, relief: rv.corner_relief_shape, @@ -3726,6 +3862,7 @@ pub fn contour_flange(body: &str, rule: &str, rv: &RuleValues, plane: &Plane, pt flanges: Vec::new(), holes: Vec::new(), pockets: Vec::new(), + bores: Vec::new(), flat: false, gap: rv.gap, relief: rv.corner_relief_shape, diff --git a/crates/engine/src/cmd/sheet.rs b/crates/engine/src/cmd/sheet.rs index 61302170..2d98d423 100644 --- a/crates/engine/src/cmd/sheet.rs +++ b/crates/engine/src/cmd/sheet.rs @@ -436,9 +436,17 @@ fn flat_json(sh: &SheetBody) -> Result { "side": side, "depth_mm": p.z1-p.z0, "z0_mm": p.z0, "z1_mm": p.z1}) }) .collect(); - Ok( - json!({"body": sh.body, "rule": sh.rule, "thickness": sh.t, "k_factor": sh.k, "flat_size_mm": [w, h, sh.t], "outline": outline, "cutouts": holes, "cutout_shapes": hole_shapes, "pockets": pockets, "bends": bends, "unfolded": sh.flat}), - ) + // Holes drilled along a panel into its rim: drilled after cutting, not in the outline. + let bores: Vec = sh + .bores + .iter() + .map(|b| json!({"start": [b.base.x, b.base.y, b.base.z], "axis": [b.axis.x, b.axis.y, b.axis.z], "diameter": b.radius * 2.0, "length": b.height.abs()})) + .collect(); + let mut out = json!({"body": sh.body, "rule": sh.rule, "thickness": sh.t, "k_factor": sh.k, "flat_size_mm": [w, h, sh.t], "outline": outline, "cutouts": holes, "cutout_shapes": hole_shapes, "pockets": pockets, "bends": bends, "unfolded": sh.flat}); + if !bores.is_empty() { + out["bores"] = Value::Array(bores); + } + Ok(out) } fn flat_pattern(s: &mut Session, p: &Value) -> Result { diff --git a/crates/engine/src/cmd/sheet_tests.rs b/crates/engine/src/cmd/sheet_tests.rs index cd010861..30fb915f 100644 --- a/crates/engine/src/cmd/sheet_tests.rs +++ b/crates/engine/src/cmd/sheet_tests.rs @@ -3618,6 +3618,85 @@ fn every_flat_face_of_a_sheet_takes_an_attached_sketch() { assert_eq!(f["cutouts"].as_array().map(Vec::len), Some(1), "{f}"); } +/// A 60 x 40 base with a 30 mm flange up its far long edge (y = 40); its thickness. +fn l_bracket(s: &mut Session) -> f64 { + base(s, 60.0, 40.0); + run(s, "sheet.flange", json!({"type": "edge", "edges": [[30, 40, 0]], "height": 30})); + flat(s)["thickness"].as_f64().unwrap() +} + +#[test] +fn a_hole_drilled_into_a_rim_is_a_bore_the_sheet_keeps_when_it_unfolds() { + let mut s = Session::default(); + let t = l_bracket(&mut s); + let before = volume(&mut s); + let flat_before = unfolded_volume(&mut s); + let (d, y) = (t * 0.6, 20.0); + // Into the base's end rim (x = 60) along the base, through all: out at x = 0. + run(&mut s, "solid.hole", json!({"position": [60, y, t / 2.0], "direction": [-1, 0, 0], "diameter": d})); + let removed = PI * (d / 2.0).powi(2) * 60.0; + let folded = volume(&mut s); + assert!(rel(before - folded, removed) < 0.02, "removed {} of {removed}", before - folded); + let f = flat(&mut s); + assert_eq!(f["bores"].as_array().map(Vec::len), Some(1), "{f}"); + assert_eq!(f["cutouts"], json!([])); + let inside = |s: &Session, p: [f64; 3]| s.model.state().bodies[0].body.contains(solidcraft_geom::Vec3::new(p[0], p[1], p[2])); + // The flat pattern loses the same bore (the bends unroll to their own length). + let flat_after = unfolded_volume(&mut s); + assert!(rel(flat_before - flat_after, removed) < 0.02, "flat: removed {} of {removed}", flat_before - flat_after); + assert!(rel(volume(&mut s), folded) < 1e-6); + // Folded again: the bore is where it was drilled, the material beside it stays. + assert!(!inside(&s, [30.0, y, t / 2.0])); + assert!(inside(&s, [30.0, y + d, t / 2.0])); + let mut reopened = Session::new(solidcraft_doc::Document::from_json(&s.doc.to_json()).unwrap()); + assert!(rel(volume(&mut reopened), folded) < 1e-3); + assert!(rel(unfolded_volume(&mut reopened), flat_after) < 1e-6); +} + +/// The volume of the sheet unfolded; it is folded back after. +fn unfolded_volume(s: &mut Session) -> f64 { + run(s, "sheet.unfold", json!({})); + let v = volume(s); + run(s, "sheet.refold", json!({})); + v +} + +#[test] +fn a_rim_hole_in_a_flange_follows_it_into_the_flat_pattern() { + let mut s = Session::default(); + let t = l_bracket(&mut s); + let before = volume(&mut s); + let flat_before = unfolded_volume(&mut s); + let inside = |s: &Session, p: [f64; 3]| s.model.state().bodies[0].body.contains(solidcraft_geom::Vec3::new(p[0], p[1], p[2])); + // Halfway up the flange, in the middle of its thickness (whichever way the rule put it). + let mid = [[40.0 - t / 2.0, 15.0], [40.0 - t / 2.0, -15.0], [40.0 + t / 2.0, 15.0], [40.0 + t / 2.0, -15.0]] + .into_iter() + .find(|[y, z]| inside(&s, [30.0, *y, *z])) + .expect("the flange's material"); + let d = t * 0.5; + // Into the flange's end rim (x = 60), through all. + run(&mut s, "solid.hole", json!({"position": [60.0, mid[0], mid[1]], "direction": [-1, 0, 0], "diameter": d})); + let folded = volume(&mut s); + assert!(rel(before - folded, PI * (d / 2.0).powi(2) * 60.0) < 0.02, "{before} -> {folded}"); + assert!(!inside(&s, [30.0, mid[0], mid[1]])); + let flat_after = unfolded_volume(&mut s); + assert!(rel(flat_before - flat_after, before - folded) < 0.02, "flat: {flat_before} -> {flat_after}"); + assert!(rel(volume(&mut s), folded) < 1e-6); + assert!(!inside(&s, [30.0, mid[0], mid[1]])); +} + +#[test] +fn a_rim_hole_that_would_run_into_a_bend_is_refused_and_changes_nothing() { + let mut s = Session::default(); + let t = l_bracket(&mut s); + let before = volume(&mut s); + // Into the near rim (y = 0) toward the bend at y = 40. + let r = s.execute("solid.hole", &json!({"position": [30, 0, t / 2.0], "direction": [0, 1, 0], "diameter": t * 0.6})); + assert!(r.is_err(), "{r:?}"); + assert!(rel(volume(&mut s), before) < 1e-9); + assert!(flat(&mut s).get("bores").is_none()); +} + /// #732: a perforated panel. A 400 x 470 x 0.8 sheet with Ø1 holes on a 1.5 mm 60° staggered grid (DIN 24041 /// Rv 1.0-1.5), cut in two sketches of 500 holes; 0.8.0 refuses the second cut ("sheet metal flat geometry exceeds /// the bounded processing budget"). A real mesh panel needs ~94 000 such holes; 1000 is the first step. diff --git a/docs/action-matrix.md b/docs/action-matrix.md index 2e6dda52..b7bfbcbf 100644 --- a/docs/action-matrix.md +++ b/docs/action-matrix.md @@ -21,6 +21,11 @@ The test is [`apps/solidcraft-cli/tests/action_matrix.rs`](../apps/solidcraft-cl For a quick local look, `ACTION_MATRIX_ACTIONS=edge.fillet,edge.chamfer` tries only those actions (never bless such a run) and `ACTION_MATRIX_VALIDITY=1` adds each passing action's body check (`Body::validity`) to the results. + `ACTION_MATRIX_UNFOLD=1` also unfolds and refolds every sheet metal body after each action that + passed, recorded as `+unfold`. To recheck one design on its own: + `ACTION_MATRIX_DESIGN=oracle/69-sm-tray ACTION_MATRIX_OUT=out.jsonl ACTION_MATRIX_ACTIONS=face.hole + cargo test --profile ci -p solidcraft-cli --test action_matrix action_matrix_worker -- --exact --ignored` + (from `apps/solidcraft-cli`). Each design runs in its own process, so an action that hangs (90 s without a result) or aborts is recorded as `timeout` or `crash` and the rest of the design still runs. Loading a design, before diff --git a/tests/action_matrix/baseline.json b/tests/action_matrix/baseline.json index 97f21fc9..6483585b 100644 --- a/tests/action_matrix/baseline.json +++ b/tests/action_matrix/baseline.json @@ -1037,14 +1037,14 @@ "Body1/F2:face:10|F2:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:10|F2:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:10|F2:face:19": "edge.axis edge.normal_plane edge.project", - "Body1/F2:face:11": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:11": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:11|F2:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:11|F2:face:20": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:11|F2:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:12": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:12|F2:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:12|F2:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:13": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:13": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:13|F2:face:21": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:13|F2:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:14": "curved.axis curved.tangent_plane", @@ -1074,23 +1074,23 @@ "Body1/F2:face:1|F2:face:2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:1|F2:face:3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:1|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:2": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:2": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:20": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:20|F2:face:7": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:21": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:21|F2:face:8": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:2|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:3": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:3|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F2:face:5": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:5": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:5|F2:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:5|F2:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:6|F2:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:6|F2:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:7": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F2:face:8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:7": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:8": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:9": "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:face:0 & F2:face:14 & F2:face:16 & F2:face:2]": "vertex.plane_three_points vertex.point", @@ -8627,14 +8627,14 @@ "Body1/F2:face:1|F2:face:3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:1|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:1|F2:face:5": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:2": "face.angle_plane face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:2": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:2|F2:face:3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:2|F2:face:5": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:3": "face.angle_plane face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:3": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:3|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:4": "face.angle_plane face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:4": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:4|F2:face:5": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:5": "face.angle_plane face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:5": "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:face:0 & F2:face:2 & F2:face:3]": "vertex.plane_three_points vertex.point", "Body1/v[F2:face:0 & F2:face:2 & F2:face:5]": "vertex.plane_three_points vertex.point", @@ -8676,19 +8676,19 @@ "Body1/F3:face:10|F3:face:5": "edge.axis edge.normal_plane edge.project", "Body1/F3:face:11": "curved.axis curved.tangent_plane", "Body1/F3:face:11|F3:face:6": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:5|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:6|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:7|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:8|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/body": "body.copy body.mirror body.move body.pattern", "Body1/v[F2:face:0 & F2:face:3#[F2:face:0,F2:face:1,F2:face:4] & F2:face:3#[F3:face:10,F3:face:11,F3:face:9] & F3:face:10]": "vertex.plane_three_points vertex.point", "Body1/v[F2:face:0 & F2:face:3#[F2:face:0,F2:face:1,F2:face:4] & F2:face:4]": "vertex.plane_three_points vertex.point", @@ -8719,21 +8719,21 @@ "Body1/F2:face:1|F3:face:35": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:1|F3:face:39": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:1|F3:face:43": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:10": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:10": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:10|F3:face:11": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:10|F3:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:10|F3:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:10|F3:face:14": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:10|F3:face:15": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:10|F3:face:35": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:11": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:11": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:11|F3:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:11|F3:face:15": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:11|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:12": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:12|F3:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:12|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:13": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:13": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:13|F3:face:14": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:13|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:14": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch", @@ -8742,52 +8742,52 @@ "Body1/F3:face:15": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch", "Body1/F3:face:15|F3:face:36": "edge.axis edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:15|F3:face:9": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:16": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:16": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:16|F3:face:18": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:16|F3:face:19": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:16|F3:face:20": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:16|F3:face:21": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:16|F3:face:22": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:16|F3:face:38": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:17": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:17": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:17|F3:face:18": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:17|F3:face:19": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:17|F3:face:20": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:17|F3:face:21": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:17|F3:face:22": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:17|F3:face:39": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:18": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:18": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:18|F3:face:19": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:18|F3:face:22": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:19": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:19|F3:face:20": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:2": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", - "Body1/F3:face:20": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:2": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:20": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:20|F3:face:21": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:21": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch", "Body1/F3:face:21|F3:face:41": "edge.axis edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:22": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch", "Body1/F3:face:22|F3:face:40": "edge.axis edge.chamfer !edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:23": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:23": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:23|F3:face:25": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:23|F3:face:26": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:23|F3:face:27": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:23|F3:face:28": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:23|F3:face:29": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:23|F3:face:42": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:24": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:24": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:24|F3:face:25": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:24|F3:face:26": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:24|F3:face:27": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:24|F3:face:28": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:24|F3:face:29": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:24|F3:face:43": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:25": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:25": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:25|F3:face:26": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:25|F3:face:29": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:26": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:26|F3:face:27": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:27": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:27": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:27|F3:face:28": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:28": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch", "Body1/F3:face:28|F3:face:45": "edge.axis edge.chamfer !edge.fillet edge.normal_plane edge.project", @@ -8799,7 +8799,7 @@ "Body1/F3:face:2|F3:face:6": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:2|F3:face:7": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:2|F3:face:8": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:3": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:30": "curved.axis curved.tangent_plane", "Body1/F3:face:30|F3:face:32": "!edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:30|F3:face:33": "!edge.chamfer !edge.fillet edge.normal_plane edge.project", @@ -8834,7 +8834,7 @@ "Body1/F3:face:3|F3:face:6": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:3|F3:face:7": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:3|F3:face:8": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:4": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:40": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:40|F3:face:45": "edge.axis edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F3:face:41": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", @@ -8850,11 +8850,11 @@ "Body1/F3:face:4|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:5|F3:face:6": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:6|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:7": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch", "Body1/F3:face:8": "face.angle_plane !face.draft_neutral !face.extrude !face.hole !face.offset_plane !face.press_pull !face.shell !face.sketch", - "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:9": "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:face:0 & F3:face:30 & F3:face:32 & F3:face:34 & F3:face:37]": "vertex.plane_three_points vertex.point", "Body1/v[F2:face:0 & F3:face:30 & F3:face:33 & F3:face:42 & F3:face:44]": "vertex.plane_three_points vertex.point", @@ -8925,7 +8925,7 @@ "Body1/F2:face:1|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:1|F2:face:5#[F2:face:0,F2:face:1,F2:face:4]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:1|F3:face:11": "edge.axis edge.normal_plane edge.project", - "Body1/F2:face:3#[F2:face:0,F2:face:1,F2:face:4]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:3#[F2:face:0,F2:face:1,F2:face:4]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:3#[F2:face:0,F2:face:1,F2:face:4]|F2:face:3#[F3:face:10,F3:face:11,F3:face:9]": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:3#[F2:face:0,F2:face:1,F2:face:4]|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:3#[F3:face:10,F3:face:11,F3:face:9]": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", @@ -8934,7 +8934,7 @@ "Body1/F2:face:3#[F3:face:10,F3:face:11,F3:face:9]|F3:face:9": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:4|F2:face:5#[F2:face:0,F2:face:1,F2:face:4]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:5#[F2:face:0,F2:face:1,F2:face:4]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:5#[F2:face:0,F2:face:1,F2:face:4]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:5#[F2:face:0,F2:face:1,F2:face:4]|F2:face:5#[F3:face:10,F3:face:11,F3:face:7]": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:5#[F3:face:10,F3:face:11,F3:face:7]": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:5#[F3:face:10,F3:face:11,F3:face:7]|F3:face:10": "edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -8944,19 +8944,19 @@ "Body1/F3:face:10|F3:face:5": "edge.axis edge.normal_plane edge.project", "Body1/F3:face:11": "curved.axis curved.tangent_plane", "Body1/F3:face:11|F3:face:6": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:5|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:6|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:7|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:8|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/body": "body.copy body.mirror body.move body.pattern", "Body1/v[F2:face:0 & F2:face:3#[F2:face:0,F2:face:1,F2:face:4] & F2:face:3#[F3:face:10,F3:face:11,F3:face:9] & F3:face:10]": "vertex.plane_three_points vertex.point", "Body1/v[F2:face:0 & F2:face:3#[F2:face:0,F2:face:1,F2:face:4] & F2:face:4]": "vertex.plane_three_points vertex.point", @@ -9001,19 +9001,19 @@ "Body1/F2:face:5#[F3:face:14,F3:face:15,F3:face:8]|F3:face:14": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:5#[F3:face:14,F3:face:15,F3:face:8]|F3:face:15": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:5#[F3:face:14,F3:face:15,F3:face:8]|F3:face:8": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:10": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:10": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:10|F3:face:11": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:10|F3:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:10|F3:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:10|F3:face:19": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:11": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:11": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:11|F3:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:11|F3:face:20": "edge.axis edge.normal_plane edge.project", "Body1/F3:face:11|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:12": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:12|F3:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:12|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:13": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:13": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:13|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:14": "curved.axis curved.tangent_plane", "Body1/F3:face:14|F3:face:16": "edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -9029,20 +9029,20 @@ "Body1/F3:face:19": "curved.axis curved.tangent_plane", "Body1/F3:face:19|F3:face:20": "edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:20": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F3:face:4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:4": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:4|F3:face:6": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:4|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:4|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:5|F3:face:6": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:6|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:7|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:8": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:9": "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:face:0 & F2:face:3#[F2:face:0,F2:face:1,F3:face:16] & F2:face:3#[F3:face:13,F3:face:18,F3:face:19] & F3:face:18]": "vertex.plane_three_points vertex.point", "Body1/v[F2:face:0 & F2:face:3#[F2:face:0,F2:face:1,F3:face:16] & F3:face:14 & F3:face:16]": "vertex.plane_three_points vertex.point", @@ -9082,14 +9082,14 @@ "Body1/F2:face:10|F2:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:10|F2:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:10|F2:face:19": "edge.axis edge.normal_plane edge.project", - "Body1/F2:face:11": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:11": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:11|F2:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:11|F2:face:20": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:11|F2:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:12": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:12|F2:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:12|F2:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:13": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:13": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:13|F2:face:21": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:13|F2:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:14": "curved.axis curved.tangent_plane", @@ -9119,23 +9119,23 @@ "Body1/F2:face:1|F2:face:2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:1|F2:face:3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:1|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:2": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:2": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:20": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:20|F2:face:7": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:21": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:21|F2:face:8": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:2|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:3": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:3|F2:face:4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F2:face:5": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:5": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:5|F2:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:5|F2:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:6|F2:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:6|F2:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:7": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", - "Body1/F2:face:8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:7": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:8": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:9": "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:face:0 & F2:face:14 & F2:face:16 & F2:face:2]": "vertex.plane_three_points vertex.point", @@ -9202,23 +9202,23 @@ "Body1/F3:face:6|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F4:face:19": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:7|F4:face:20": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:9|F4:face:21": "edge.axis edge.normal_plane edge.project", - "Body1/F4:face:10": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:face:10": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:face:10|F4:face:11": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:10|F4:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:10|F4:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:10|F4:face:19": "edge.axis edge.normal_plane edge.project", - "Body1/F4:face:11": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:face:11": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:face:11|F4:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:11|F4:face:20": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:11|F4:face:9": "edge.axis edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F4:face:12": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:face:12|F4:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:12|F4:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F4:face:13": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:face:13": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:face:13|F4:face:21": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:13|F4:face:9": "edge.axis edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F4:face:18": "curved.axis curved.tangent_plane", @@ -9281,7 +9281,7 @@ "Body1/F2:face:5#[F4:face:0,F4:face:13]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:5#[F4:face:0,F4:face:13]|F4:face:0#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:21,F7:face:25,F7:face:29]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:5#[F4:face:0,F4:face:13]|F4:face:13#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:20,F7:face:24,F7:face:28]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:11": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:11": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:11|F3:face:12": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:11|F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:11|F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -9289,10 +9289,10 @@ "Body1/F3:face:12|F3:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:12|F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:12|F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:13": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:13": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:13|F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:13|F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:6|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F4:face:0#[F3:face:6,F3:face:7,F3:face:8,F7:face:21]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F4:face:13#[F3:face:6,F3:face:7,F3:face:8,F7:face:20]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -9301,7 +9301,7 @@ "Body1/F3:face:7|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:7|F4:face:0#[F3:face:6,F3:face:7,F3:face:8,F7:face:21]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:7|F4:face:13#[F3:face:6,F3:face:7,F3:face:8,F7:face:20]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:8": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:8|F4:face:0#[F3:face:6,F3:face:7,F3:face:8,F7:face:21]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:8|F4:face:13#[F3:face:6,F3:face:7,F3:face:8,F7:face:20]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:0#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:21,F7:face:25,F7:face:29]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", @@ -9311,13 +9311,13 @@ "Body1/F4:face:0#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:21,F7:face:25,F7:face:29]|F7:face:21": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:0#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:21,F7:face:25,F7:face:29]|F7:face:25": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:0#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:21,F7:face:25,F7:face:29]|F7:face:29": "edge.axis edge.normal_plane edge.project", - "Body1/F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]|F6:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]|F6:side:l2#[F4:face:0,F4:face:13,F6:side:l1]": "edge.axis !edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]|F6:side:l4#[F4:face:0,F4:face:13,F6:side:l1]": "edge.axis !edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]|F7:face:25": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:0#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:25,F7:face:29]|F7:face:29": "edge.axis edge.normal_plane edge.project", - "Body1/F4:face:0#[F3:face:6,F3:face:7,F3:face:8,F7:face:21]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:face:0#[F3:face:6,F3:face:7,F3:face:8,F7:face:21]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:face:0#[F3:face:6,F3:face:7,F3:face:8,F7:face:21]|F7:face:21": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:13#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:20,F7:face:24,F7:face:28]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:face:13#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:20,F7:face:24,F7:face:28]|F6:side:l2#[F4:face:0,F4:face:13,F6:side:l3]": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", @@ -9326,15 +9326,15 @@ "Body1/F4:face:13#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:20,F7:face:24,F7:face:28]|F7:face:20": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:13#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:20,F7:face:24,F7:face:28]|F7:face:24": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:13#[F2:face:3,F2:face:5,F6:side:l2,F6:side:l3,F6:side:l4,F7:face:20,F7:face:24,F7:face:28]|F7:face:28": "edge.axis edge.normal_plane edge.project", - "Body1/F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]|F6:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]|F6:side:l2#[F4:face:0,F4:face:13,F6:side:l1]": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]|F6:side:l4#[F4:face:0,F4:face:13,F6:side:l1]": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]|F7:face:24": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:13#[F3:face:11,F3:face:12,F3:face:13,F6:side:l1,F6:side:l2,F6:side:l4,F7:face:24,F7:face:28]|F7:face:28": "edge.axis edge.normal_plane edge.project", - "Body1/F4:face:13#[F3:face:6,F3:face:7,F3:face:8,F7:face:20]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F4:face:13#[F3:face:6,F3:face:7,F3:face:8,F7:face:20]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F4:face:13#[F3:face:6,F3:face:7,F3:face:8,F7:face:20]|F7:face:20": "edge.axis edge.normal_plane edge.project", - "Body1/F6:side:l1": "face.angle_plane !face.draft_neutral !face.extrude !face.hole !face.offset_plane !face.press_pull face.shell !face.sketch", + "Body1/F6:side:l1": "face.angle_plane !face.draft_neutral !face.extrude face.hole !face.offset_plane !face.press_pull face.shell !face.sketch", "Body1/F6:side:l1|F6:side:l2#[F4:face:0,F4:face:13,F6:side:l1]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:side:l1|F6:side:l4#[F4:face:0,F4:face:13,F6:side:l1]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F6:side:l2#[F4:face:0,F4:face:13,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", @@ -9444,33 +9444,33 @@ "Body1/F3:face:11": "curved.axis curved.tangent_plane", "Body1/F3:face:11|F3:face:6": "edge.axis edge.normal_plane edge.project", "Body1/F3:face:11|F4:face:18": "!edge.chamfer !edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:5|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F4:face:9": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:6|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F4:face:9": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:7|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:8|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:9|F4:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F4:face:10": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F4:face:10": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F4:face:10|F4:face:12": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F4:face:10|F4:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:10|F4:face:14": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:10|F4:face:19": "edge.axis edge.normal_plane edge.project", - "Body1/F4:face:11": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F4:face:11": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F4:face:11|F4:face:12": "edge.axis edge.chamfer !edge.fillet edge.normal_plane edge.project", "Body1/F4:face:11|F4:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:11|F4:face:14": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:11|F4:face:20": "edge.axis edge.normal_plane edge.project", - "Body1/F4:face:12": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F4:face:12": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F4:face:12|F4:face:13": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F4:face:12|F4:face:21": "edge.axis edge.normal_plane edge.project", "Body1/F4:face:13": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", @@ -9546,7 +9546,7 @@ "Body1/F2:face:3#[F3:face:10,F3:face:11,F3:face:9]|F3:face:9": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:4": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:4|F2:face:5#[F2:face:0,F2:face:1,F2:face:4]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F2:face:5#[F2:face:0,F2:face:1,F2:face:4]": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F2:face:5#[F2:face:0,F2:face:1,F2:face:4]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:5#[F2:face:0,F2:face:1,F2:face:4]|F2:face:5#[F3:face:10,F3:face:11,F3:face:7]": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:5#[F3:face:10,F3:face:11,F3:face:7]": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:5#[F3:face:10,F3:face:11,F3:face:7]|F3:face:10": "edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -9556,19 +9556,19 @@ "Body1/F3:face:10|F3:face:5": "edge.axis edge.normal_plane edge.project", "Body1/F3:face:11": "curved.axis curved.tangent_plane", "Body1/F3:face:11|F3:face:6": "edge.axis edge.normal_plane edge.project", - "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:5": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:5|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:6|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:7": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:7|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:8|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", + "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/body": "body.copy body.mirror body.move body.pattern", "Body1/v[F2:face:0 & F2:face:3#[F2:face:0,F2:face:1,F2:face:4] & F2:face:3#[F3:face:10,F3:face:11,F3:face:9] & F3:face:10]": "vertex.plane_three_points vertex.point", "Body1/v[F2:face:0 & F2:face:3#[F2:face:0,F2:face:1,F2:face:4] & F2:face:4]": "vertex.plane_three_points vertex.point", @@ -11145,7 +11145,7 @@ "Body1/F2:face:2|F2:face:5#[F2:face:0,F2:face:1,F2:face:2]": "edge.axis edge.axis+edit edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F2:face:3": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F2:face:3|F3:face:12": "edge.axis edge.normal_plane edge.normal_plane+edit edge.project", - "Body1/F2:face:5#[F2:face:0,F2:face:1,F2:face:2]": "face.angle_plane face.angle_plane+edit !face.draft_neutral face.extrude !face.hole face.midplane face.midplane+edit face.offset_plane face.offset_plane+edit face.press_pull face.shell face.shell+edit face.sketch", + "Body1/F2:face:5#[F2:face:0,F2:face:1,F2:face:2]": "face.angle_plane face.angle_plane+edit !face.draft_neutral face.extrude face.hole face.midplane face.midplane+edit face.offset_plane face.offset_plane+edit face.press_pull face.shell face.shell+edit face.sketch", "Body1/F2:face:5#[F2:face:0,F2:face:1,F2:face:2]|F2:face:5#[F3:face:10,F3:face:11,F3:face:9]": "edge.axis edge.normal_plane edge.project", "Body1/F2:face:5#[F3:face:10,F3:face:11,F3:face:9]": "face.angle_plane face.extrude !face.hole face.midplane face.midplane+edit face.offset_plane face.offset_plane+edit face.press_pull face.shell face.sketch", "Body1/F2:face:5#[F3:face:10,F3:face:11,F3:face:9]|F3:face:10": "edge.chamfer edge.fillet edge.normal_plane edge.project", @@ -11159,19 +11159,19 @@ "Body1/F3:face:11|F3:face:6": "edge.axis edge.normal_plane edge.project", "Body1/F3:face:12": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch face.sketch+edit", "Body1/F3:face:12|F3:face:7": "edge.axis edge.axis+edit edge.normal_plane edge.project edge.project+edit", - "Body1/F3:face:5": "face.angle_plane face.angle_plane+edit !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", + "Body1/F3:face:5": "face.angle_plane face.angle_plane+edit !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch", "Body1/F3:face:5|F3:face:7": "edge.axis edge.axis+edit edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:5|F3:face:9": "edge.axis edge.axis+edit edge.chamfer edge.fillet edge.normal_plane edge.project", - "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.press_pull+edit face.shell face.sketch", + "Body1/F3:face:6": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.press_pull+edit face.shell face.sketch", "Body1/F3:face:6|F3:face:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project", "Body1/F3:face:6|F3:face:9": "edge.axis edge.chamfer edge.chamfer+edit edge.fillet edge.fillet+edit edge.normal_plane edge.normal_plane+edit edge.project", - "Body1/F3:face:7": "face.angle_plane face.angle_plane+edit !face.draft_neutral face.extrude !face.hole face.midplane face.midplane+edit face.offset_plane face.press_pull face.shell face.shell+edit face.sketch", + "Body1/F3:face:7": "face.angle_plane face.angle_plane+edit !face.draft_neutral face.extrude face.hole face.midplane face.midplane+edit face.offset_plane face.press_pull face.shell face.shell+edit face.sketch", "Body1/F3:face:7|F3:face:8": "edge.axis edge.chamfer edge.fillet edge.fillet+edit edge.normal_plane edge.project", "Body1/F3:face:8": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch", "Body1/F3:face:8|F3:face:9": "edge.axis edge.chamfer edge.fillet edge.fillet+edit edge.normal_plane edge.normal_plane+edit edge.project", - "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.shell+edit face.sketch", + "Body1/F3:face:9": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.shell+edit face.sketch", "Body1/F5:side:c1#1": "curved.axis curved.tangent_plane curved.tangent_plane+edit", "Body1/F5:side:c1#2": "curved.axis curved.tangent_plane curved.tangent_plane+edit", "Body1/F5:side:c2#1": "curved.axis curved.tangent_plane",