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",