Action matrix regressions of #1255: knuckle rounds, thin holes, a 45° flange hole, an axis after an edit (#1280)

* Action matrix regressions of #1255: knuckle rounds, thin holes, a 45° flange hole, an axis after an edit

- Curve blends: past the end of a curved edge the run of sections along the end
  tangent wrapped round the ring of centres; it is shortened while it still
  crosses the end face (the hinge knuckle's cap rounds at 0.728 mm).
- Boolean retry guard: each body's volume is measured finer than its smallest
  radius, and a volume out of bounds is measured again ten times finer before
  it refuses (a 0.133 mm drill measured -30272 mm³; a plastic part's coarse
  mesh was off by more than the slack).
- Sheet metal: a drill cap's certificate allows the evaluation noise its fitted
  tilt shows (a hole square to a 45° flange).
- Construction geometry on a named face uses the face found by name, not a
  second pick at its nearest point (an axis through a corner round after a
  parameter moved it).

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* Retry guard: measure the target, tool and result at one tolerance

Measured at different tolerances, the chords' error on the faces they share
didn't cancel: a blind hole in a long D-profile bar measured 20 mm³ more than
the bar.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* Action matrix baseline from this branch's full run: 37 actions pass again, none fewer

Blessed with cargo xtask action-matrix --from DIR --bless from the 16 shards of
run 38673859774.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
This commit is contained in:
bherbruckandClaude Opus 5.5 authored and GitHub committed 2026-10-15 00:24:27 -04:00
1 parent 464a6dfad4
commit 5c2fa3e9ca
7 files changed
+858 -174

No files matched your search

+100
View File
@@ -1292,6 +1292,106 @@ fn a_fillet_or_chamfer_on_one_edge_ending_at_a_cylinder() {
}
}
// #1255: a round on a knuckle's cap circle (oracle/63's hinge), 0.73 wide on a ring of radius
// 4. The run past each end of the circle followed the end tangent so far that its sections
// wrapped round the ring and the blend was refused; it is shortened now while it still
// crosses the end face. Before #1101 a 0.13 mm station on the leaf's top edge kept the
// matrix's radius at 0.013, which never got that far.
#[test]
fn a_round_on_a_knuckle_cap_circle() {
for (cmd, size, removed) in [("solid.fillet", "radius", (2.4, 2.8)), ("solid.chamfer", "distance", (5.6, 6.3))] {
let mut s = load(&root().join("tests/oracle/63-hinge-knuckle/recipe.json")).unwrap();
let volume = |s: &Session| s.model.state().bodies.iter().map(|b| b.body.tessellate(0.001).unwrap().measure().volume).sum::<f64>();
let before = volume(&s);
s.execute(cmd, &json!({"edges": [[40.0, 29.837_722, 6.449_490]], size: 0.728})).unwrap_or_else(|e| panic!("{cmd}: {e}"));
check(&s, 0, &BTreeMap::new()).unwrap_or_else(|(kind, e)| panic!("{cmd}: {kind}: {e}"));
let st = s.model.state();
let body = &st.bodies.first().unwrap().body;
assert!(body.validity().is_empty(), "{cmd}: {:?}", body.validity());
let gone = before - volume(&s);
assert!(gone > removed.0 && gone < removed.1, "{cmd} took {gone} mm³");
}
}
// #1255: a hole 0.133 mm across on the 0.5 mm ledge a loft cut leaves in a pocket floor of a
// 900 mm slab. The Boolean needed a retry, and its guard meshed the drill as coarsely as the
// slab's size allows (0.4 mm, three times the drill's width): the mesh had no inside, the drill
// measured −30272 mm³ and the right cut was refused. Volumes are measured finer than each
// body's smallest radius now.
#[test]
fn a_hair_thin_hole_on_a_ledge_beside_a_loft_cut() {
let mut s = load(&root().join("examples/regressions/loft_cut_beside_round_hole.json")).unwrap();
let volume = |s: &Session| s.model.state().bodies.iter().map(|b| b.body.tessellate_with(0.005, true).unwrap().measure().volume).sum::<f64>();
let before = volume(&s);
s.execute("solid.hole", &json!({"diameter": 0.133, "position": [357.22, -150.993_333, 730.0]})).unwrap();
check(&s, 0, &BTreeMap::new()).unwrap_or_else(|(kind, e)| panic!("{kind}: {e}"));
// The drill goes through the 4 mm ledge and on through the slab below: 690 to 730.
let gone = before - volume(&s);
let expected = std::f64::consts::PI * 0.0665 * 0.0665 * 40.0;
assert!((gone - expected).abs() < 0.2, "the hole took {gone} mm³, not {expected}");
}
// #1255: a 0.8 mm hole through the side wall of the plastic part's rest. Meshed at the
// tolerance the 200 mm drill sets, the part with its rounds, bosses and draft measured 6.8 mm³
// more after the cut than before; ten times finer it is 1.44 mm³ less, the drill's volume
// through the 2.9 mm wall. A volume out of bounds is measured again finer before it refuses.
#[test]
fn a_small_hole_through_the_wall_of_a_plastic_rest() {
let mut s = load(&root().join("apps/solidcraft-cli/tests/corpus/modern-plastic.solidcraft")).unwrap();
let volume = |s: &Session| s.model.state().bodies.iter().map(|b| b.body.tessellate_with(0.002, true).unwrap().measure().volume).sum::<f64>();
let before = volume(&s);
s.execute("solid.hole", &json!({"diameter": 0.8, "position": [63.069_841_5, 28.333_333, 4.0]})).unwrap();
check(&s, 0, &BTreeMap::new()).unwrap_or_else(|(kind, e)| panic!("{kind}: {e}"));
let gone = before - volume(&s);
assert!(gone > 1.2 && gone < 1.7, "the hole took {gone} mm³");
}
// #1255: a hole square to a flange bent at 45°. The drill's cap, evaluated at that angle, lay
// 2.9e-11 mm off the plane it was made on against a bound of 2.2e-11, so the sheet didn't take
// the hole as a cut-out of its flat pattern and the cut was refused. The sheet keeps the hole
// and still unfolds and folds back.
#[test]
fn a_hole_square_to_a_45_degree_flange() {
let mut s = load(&root().join("tests/oracle/70-sm-flange-45/recipe.json")).unwrap();
let volume = |s: &Session| s.model.state().bodies.iter().map(|b| b.body.tessellate_with(0.002, true).unwrap().measure().volume).sum::<f64>();
let before = volume(&s);
s.execute("solid.hole", &json!({"diameter": 3.448, "position": [66.666_667, -4.511_845, 4.511_845]})).unwrap();
check(&s, 0, &BTreeMap::new()).unwrap_or_else(|(kind, e)| panic!("{kind}: {e}"));
// Through the 2.5 mm flange.
let gone = before - volume(&s);
let expected = std::f64::consts::PI * 1.724 * 1.724 * 2.5;
assert!((gone - expected).abs() < 0.1, "the hole took {gone} mm³, not {expected}");
let sheets: Vec<String> = s.model.state().sheets.iter().map(|sh| sh.body.clone()).collect();
assert!(!sheets.is_empty());
for body in sheets {
for id in ["sheet.unfold", "sheet.refold"] {
s.execute(id, &json!({"body": body})).unwrap_or_else(|e| panic!("{id}: {e}"));
}
}
}
// #1255: an axis through a corner round of the sensor enclosure's lid, then a parameter that
// widens the lid. The round is found again by name, but its point nearest the old pick is the
// end of its arc, on the edge it shares with the flat side, and picking again by that point
// took the side: "the face is not a cylinder". The named face is used as found now.
#[test]
fn an_axis_through_a_corner_round_that_a_parameter_moves() {
let mut s = load(&root().join("examples/acceptance/sensor_enclosure.json")).unwrap();
s.execute("construct.axis.through_cylinder", &json!({"face": {"face": [36.242_617, 29.977_740, 27.0]}})).unwrap();
let start = s.doc.features.len();
s.execute("parameters.change", &json!({"name": "board_w", "expression": "(60 mm) * 1.1"})).unwrap();
check(&s, start, &BTreeMap::new()).unwrap_or_else(|(kind, e)| panic!("{kind}: {e}"));
let st = s.model.state();
let axis = st.construct.iter().find_map(|c| match &c.geom {
solidcraft_engine::doc::construct::ConstructGeom::Axis { origin, dir } => Some((*origin, *dir)),
_ => None,
});
let (origin, dir) = axis.expect("the axis");
// The round's axis moved with the lid's corner, from x = 36 to 39.
let off = origin - Vec3::new(39.0, 26.0, 0.0);
assert!((off - dir * off.dot(dir)).len() < 1e-6, "the axis passes {origin:?} along {dir:?}");
}
#[test]
fn a_sketch_on_a_patterned_boss_top() {
let mut c: Vec<Value> = rectangle(json!("XY"), [0., 0.], [60., 20.]).into();
+9 -4
View File
@@ -125,10 +125,15 @@ fn construct<'a>(st: &'a ModelState, name: &str) -> Result<&'a ConstructGeom> {
/// The face picked: (body, face index, point on it).
fn face_of<'a>(st: &'a ModelState, at: Vec3, name: &Option<String>) -> Result<(&'a ModelBody, usize, Vec3)> {
let at = match name.as_deref().and_then(|n| crate::naming::point_on_face(st, n, at)) {
Some((q, _)) => q,
None => at,
};
// The named face itself: its nearest point to the old pick can lie on an edge it shares
// (a corner round that a parameter moved away from the pick), where picking again by the
// point finds the flat face beside it (#1255).
if let Some(hit) = name.as_deref().and_then(|n| crate::name_lookup::locate_face(st, n, at))
&& let Some(b) = st.bodies.get(hit.body).filter(|b| !b.body.is_mesh())
&& hit.face < b.body.face_count()
{
return Ok((b, hit.face, hit.point));
}
for b in bodies(st) {
if let Some(fi) = crate::appearance::face_index_at(b, at) {
return Ok((b, fi, at));
+5 -1
View File
@@ -729,7 +729,11 @@ fn sheet_tool_span(body: &Body, source: &Plane) -> Option<(f64, f64, f64, Option
}
// Bound floating point projection separately from model geometry tolerance.
let roundoff = 128.0 * f64::EPSILON * (plane.origin.len() + current.origin.len() + source.origin.len()).max(1.0);
if roundoff > 1e-7 || (current.origin - plane.origin).dot(n).abs() > roundoff {
// The cap's current point lies off the recorded plane by the noise of evaluating
// its edges, which its fitted tilt shows across the distance between the two points
// (8e-12 over 2.4 mm on a 45° flange's drill, #1255; none on axis-aligned caps).
let noise = current.normal().cross(n).len() * (current.origin - plane.origin).len();
if roundoff > 1e-7 || (current.origin - plane.origin).dot(n).abs() > roundoff + noise {
return None;
}
projection_roundoff = projection_roundoff.max(roundoff);
+43 -8
View File
@@ -107,6 +107,19 @@ fn stray_point(from: &Mesh, onto: &Near, region: &Aabb3) -> Option<Vec3> {
})
}
/// The smallest radius of a body's cylinders, spheres and tori (their tubes).
fn smallest_radius(body: &Body) -> Option<f64> {
use crate::surface_kind::{FaceSurface, face_surface};
(0..body.face_count())
.filter_map(|i| match face_surface(body, i)? {
FaceSurface::Cylinder { radius, .. } | FaceSurface::Sphere { radius, .. } => Some(radius),
FaceSurface::Torus { minor, .. } => Some(minor),
_ => None,
})
.filter(|r| r.is_finite() && *r > 0.0)
.min_by(f64::total_cmp)
}
fn bad(op: BoolOp, what: String) -> KernelError {
let verb = match op {
BoolOp::Union => "join",
@@ -148,14 +161,36 @@ pub(crate) fn check_retry(a: &Body, b: &Body, op: BoolOp, result: Option<&Body>)
let (Ok(ma), Ok(mb), Ok(mr)) = (a.tessellate_with(t, true), b.tessellate_with(t, true), r.tessellate_with(t, true)) else {
return Err(bad(op, "the result could not be checked".into()));
};
let (va, vb, vr) = (ma.measure().volume, mb.measure().volume, mr.measure().volume);
let slack = 2e-4 * (va.abs() + vb.abs()) + 1e-9;
let volume_ok = vr.is_finite()
&& match op {
BoolOp::Union => vr >= va.max(vb) - slack && vr <= va + vb + slack,
BoolOp::Cut => vr <= va + slack && vr >= va - vb - slack,
BoolOp::Intersect => true,
};
// A mesh as coarse as `t` on a round smaller than it has no inside to speak of (a through
// hole 0.13 mm across in a 900 mm slab measured −30272 mm³, #1255): the volumes are measured
// at a tenth of the bodies' smallest radius, where that is finer. All three at the same
// tolerance, so the chords' error on the faces they share cancels. `scale` refines it all.
let finest = [a, b, r].iter().filter_map(|x| smallest_radius(x)).fold(f64::INFINITY, f64::min);
let fine = if finest * 0.1 < t { (finest * 0.1).max(t * 1e-2) } else { t };
let volume = |body: &Body, mesh: &Mesh, scale: f64| -> Result<f64> {
if fine == t && scale == 1.0 {
return Ok(mesh.measure().volume);
}
body.tessellate_with(fine * scale, true).map(|m| m.measure().volume).map_err(|_| bad(op, "the result could not be checked".into()))
};
let judge = |scale: f64| -> Result<(bool, f64, f64, f64)> {
let (va, vb, vr) = (volume(a, &ma, scale)?, volume(b, &mb, scale)?, volume(r, &mr, scale)?);
let slack = 2e-4 * (va.abs() + vb.abs()) + 1e-9;
let ok = vr.is_finite()
&& match op {
BoolOp::Union => vr >= va.max(vb) - slack && vr <= va + vb + slack,
BoolOp::Cut => vr <= va + slack && vr >= va - vb - slack,
BoolOp::Intersect => true,
};
Ok((ok, va, vb, vr))
};
// A volume out of bounds is measured again ten times finer before it refuses the result:
// the coarse meshes of a part with many rounds can be off by more than the slack (a 0.8 mm
// hole through a plastic part's wall measured 6.8 mm³ more than the part, #1255).
let (mut volume_ok, mut va, mut vb, mut vr) = judge(1.0)?;
if !volume_ok {
(volume_ok, va, vb, vr) = judge(0.1)?;
}
if !volume_ok {
let what = match op {
BoolOp::Union => format!("the joined body's volume would be {vr:.4} mm³ (the target is {va:.4} mm³, the tool {vb:.4} mm³)"),
+39 -10
View File
@@ -31,8 +31,13 @@ const EXTENSION: usize = 8;
const KNIFE: f64 = 1e-4;
/// An end face this close to square-on-to-its-sides' normal counts as tangent to a side.
const TANGENT_END: f64 = 1e-6;
/// Times the run past a tangent end is halved when the ball does not fit along it.
/// Times the run past a tangent end is halved when the ball does not fit along it (and the run
/// past a curved end is shortened when its sections wrap round).
const TANGENT_RETRIES: usize = 8;
/// The longest step between the centres of neighbouring sections past an open chain's end, as a
/// multiple of the step along the end tangent: longer, and the sections have wrapped round a
/// curved edge's ring of centres.
const MAX_STEP_STRETCH: f64 = 3.0;
/// Slides of the ball's centre along a knife edge's faces, each 1.6 times the last.
const KNIFE_STEPS: usize = 40;
@@ -1170,20 +1175,44 @@ fn curve_blend_with_limit(solid: &Solid, ids: &[mt::EdgeID], size: f64, r: f64,
// the ball no longer fits, the run is shortened (it only gives the fit its context).
let mut list = Vec::with_capacity(EXTENSION);
let mut reach = reach;
for attempt in 0..(if tangent.is_some() { TANGENT_RETRIES } else { 1 }) {
// Past the end of a curved edge the planes square to its end tangent cut the ring of
// centres further and further round it, until a step jumps across the ring (#1255: a
// knuckle's cap circle with a round as wide as 0.7 of its radius). The run is shortened
// then, as long as one of its sections still lies wholly past the end face.
let ng_out = if ng.dot(out) < 0.0 { -ng } else { ng };
let past = |sec: &Section| [sec.c, sec.q1, sec.q2].iter().all(|x| (*x - *p).dot(ng_out) > tol);
let mut fallback: Option<Vec<Section>> = None;
for attempt in 0..TANGENT_RETRIES {
list.clear();
let step = reach / EXTENSION as f64;
let sections = (1..=EXTENSION).map(|j| {
let anchor = *p + out * (reach * j as f64 / EXTENSION as f64);
let anchor = *p + out * (step * j as f64);
solve(&e1, &e2, anchor, *t, r, sigma, cusp, None, tol * 100.0)
});
if let Some(all) = sections.collect::<Option<Vec<_>>>() {
list = all;
break;
match sections.collect::<Option<Vec<_>>>() {
Some(all) => {
let smooth = tangent.is_some()
|| std::iter::once(at.c).chain(all.iter().map(|s| s.c)).collect::<Vec<_>>().windows(2).all(|w| match w {
[a, b] => a.dist(*b) <= MAX_STEP_STRETCH * step,
_ => true,
});
if smooth {
// A shortened run must still cross the end face; else the first,
// full-length run stands.
if fallback.is_none() || all.iter().any(past) {
list = all;
}
break;
}
fallback.get_or_insert(all);
}
None if tangent.is_none() || fallback.is_some() || attempt + 1 == TANGENT_RETRIES => break,
None => {}
}
if attempt + 1 == TANGENT_RETRIES || tangent.is_none() {
return Err(unsupported("the ball doesn't fit past the end of the edge"));
}
reach *= 0.5;
reach *= if tangent.is_some() { 0.5 } else { 0.75 };
}
if list.is_empty() {
list = fallback.ok_or_else(|| unsupported("the ball doesn't fit past the end of the edge"))?;
}
if *k == 0 {
list.reverse();
+541 -33
View File
@@ -254,7 +254,7 @@
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:-y,F4:side:l5,F4:side:l6,F4:side:l8,F5:+x,F5:+y,F5:-x,F8:-y]|F5:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:-y,F4:side:l5,F4:side:l6,F4:side:l8,F5:+x,F5:+y,F5:-x,F8:-y]|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:-y,F4:side:l5,F4:side:l6,F4:side:l8,F5:+x,F5:+y,F5:-x,F8:-y]|F8:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]|F1:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]|F1:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]|F2:blend:F1:+x|F1:+y": "edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -545,7 +545,7 @@
"Body2/F4:bottom|F4:side#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body2/F4:side#1": "curved.axis curved.axis+edit curved.tangent_plane",
"Body2/F4:side#1|F4:top": "edge.chamfer edge.fillet edge.fillet+edit edge.normal_plane edge.project",
"Body2/F4:side#2": "!curved.axis curved.tangent_plane",
"Body2/F4:side#2": "curved.axis curved.axis+edit curved.tangent_plane",
"Body2/F4:side#2|F4:top": "edge.chamfer edge.fillet edge.fillet+edit edge.normal_plane edge.project",
"Body2/F4:top": "!face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"Body2/body": "body.copy body.mirror body.move body.pattern body.pattern+edit",
@@ -938,7 +938,7 @@
"Body1/F5:rest:side:6": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F5:rest:side:6|F5:rest:side:7": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F5:rest:side:6|F5:rest:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F5:rest:side:7": "face.angle_plane face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F5:rest:side:7": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F5:rest:side:7|F5:rest:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F5:rest:top": "face.angle_plane face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F6:arm:base": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
@@ -2417,7 +2417,7 @@
"Body1/F17:side:l60|F4:inner:F2:start#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1]#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:[email protected],F7:side:[email protected],F7:side:[email protected]]#[F14:side:l5,F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:l6,F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:l7,F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:l8,F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l65,F17:side:l66,F17:side:l67,F17:side:l68,F17:side:l69,F17:side:l70,F17:side:l71,F17:side:l72,F17:side:l76,F17:side:l77,F17:side:l78,F17:side:l79,F17:side:l80,F17:side:l81,F17:side:l82,F17:side:l83,F17:side:l84,F17:side:l85,F17:side:l86,F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:[email protected],F7:side:[email protected],F7:side:[email protected]]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.normal_plane+edit edge.project",
"Body1/F17:side:l61": "face.angle_plane !face.draft_neutral face.extrude face.extrude+edit face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F17:side:l61|F4:inner:F2:start#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1]#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:[email protected],F7:side:[email protected],F7:side:[email protected]]#[F14:side:l5,F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:l6,F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:l7,F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:l8,F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F14:side:[email protected],F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l65,F17:side:l66,F17:side:l67,F17:side:l68,F17:side:l69,F17:side:l70,F17:side:l71,F17:side:l72,F17:side:l76,F17:side:l77,F17:side:l78,F17:side:l79,F17:side:l80,F17:side:l81,F17:side:l82,F17:side:l83,F17:side:l84,F17:side:l85,F17:side:l86,F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:[email protected],F7:side:[email protected],F7:side:[email protected]]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project edge.project+edit",
"Body1/F17:side:l62": "face.angle_plane !face.draft_neutral face.extrude face.hole !face.hole+edit face.midplane face.midplane+edit face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F17:side:l62": "face.angle_plane !face.draft_neutral face.extrude face.hole face.hole+edit face.midplane face.midplane+edit face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F17:side:l62|F17:side:l63": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.normal_plane+edit edge.project",
"Body1/F17:side:l62|F17:side:l64": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F17:side:l62|F4:inner:F2:start#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1]#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:[email protected],F7:side:[email protected],F7:side:[email protected]]#[F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:l62,F17:side:l63,F17:side:l64]": "edge.axis edge.axis+edit edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -2456,7 +2456,7 @@
"Body1/F17:side:l74": "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/F17:side:l74|F17:side:l75": "edge.axis edge.chamfer edge.chamfer+edit edge.fillet edge.fillet+edit edge.normal_plane edge.normal_plane+edit edge.project",
"Body1/F17:side:l74|F4:inner:F2:start#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1]#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:[email protected],F7:side:[email protected],F7:side:[email protected]]#[F17:side:l73,F17:side:l74,F17:side:l75]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F17:side:l75": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F17:side:l75": "face.angle_plane !face.draft_neutral face.extrude face.hole face.hole+edit face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F17:side:l75|F4:inner:F2:start#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1]#[F4:inner:F2:side:l1,F4:inner:F2:side:l2,F4:inner:F2:side:l3,F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:[email protected],F7:side:[email protected],F7:side:[email protected]]#[F17:side:l73,F17:side:l74,F17:side:l75]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F17:side:l76": "face.angle_plane !face.draft_neutral face.extrude face.extrude+edit face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F17:side:l76|F17:side:l77": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -2723,6 +2723,386 @@
"Bracket/v[F2:side:e & F2:side:f & F2:start]": "vertex.plane_three_points vertex.point",
"design": "load"
},
"examples/render-opaque-studio": {
"Metal rough/F4:face:0": "curved.tangent_plane",
"Metal rough/F4:face:1": "curved.tangent_plane",
"Metal rough/F4:face:2": "curved.tangent_plane",
"Metal rough/F4:face:3": "curved.tangent_plane",
"Metal rough/F4:face:4": "curved.tangent_plane",
"Metal rough/F4:face:5": "curved.tangent_plane",
"Metal rough/body": "body.copy body.mirror body.move body.pattern",
"Metal smooth/F3:face:0": "curved.tangent_plane",
"Metal smooth/F3:face:1": "curved.tangent_plane",
"Metal smooth/F3:face:2": "curved.tangent_plane",
"Metal smooth/F3:face:3": "curved.tangent_plane",
"Metal smooth/F3:face:4": "curved.tangent_plane",
"Metal smooth/F3:face:5": "curved.tangent_plane",
"Metal smooth/body": "body.copy body.mirror body.move body.pattern",
"Nonmetal rough/F2:face:0": "curved.tangent_plane",
"Nonmetal rough/F2:face:1": "curved.tangent_plane",
"Nonmetal rough/F2:face:2": "curved.tangent_plane",
"Nonmetal rough/F2:face:3": "curved.tangent_plane",
"Nonmetal rough/F2:face:4": "curved.tangent_plane",
"Nonmetal rough/F2:face:5": "curved.tangent_plane",
"Nonmetal rough/body": "body.copy body.mirror body.move body.pattern",
"Nonmetal smooth/F1:face:0": "curved.tangent_plane",
"Nonmetal smooth/F1:face:1": "curved.tangent_plane",
"Nonmetal smooth/F1:face:2": "curved.tangent_plane",
"Nonmetal smooth/F1:face:3": "curved.tangent_plane",
"Nonmetal smooth/F1:face:4": "curved.tangent_plane",
"Nonmetal smooth/F1:face:5": "curved.tangent_plane",
"Nonmetal smooth/body": "body.copy body.mirror body.move body.pattern",
"Study base/F5:+x": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Study base/F5:+x|F5:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:+x|F5:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:+x|F5:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:+x|F5:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:+y": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Study base/F5:+y|F5:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:+y|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:+y|F5:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:+z": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Study base/F5:+z|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:+z|F5:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:-x": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Study base/F5:-x|F5:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:-x|F5:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:-y": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Study base/F5:-y|F5:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Study base/F5:-z": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Study base/body": "body.copy body.mirror body.move body.pattern",
"Study base/v[F5:+x & F5:+y & F5:+z]": "vertex.plane_three_points vertex.point",
"Study base/v[F5:+x & F5:+y & F5:-z]": "vertex.plane_three_points vertex.point",
"Study base/v[F5:+x & F5:+z & F5:-y]": "vertex.plane_three_points vertex.point",
"Study base/v[F5:+x & F5:-y & F5:-z]": "vertex.plane_three_points vertex.point",
"Study base/v[F5:+y & F5:+z & F5:-x]": "vertex.plane_three_points vertex.point",
"Study base/v[F5:+y & F5:-x & F5:-z]": "vertex.plane_three_points vertex.point",
"Study base/v[F5:+z & F5:-x & F5:-y]": "vertex.plane_three_points vertex.point",
"Study base/v[F5:-x & F5:-y & F5:-z]": "vertex.plane_three_points vertex.point",
"design": "load"
},
"examples/render-studio": {
"BackWall/F7:+x": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"BackWall/F7:+x|F7:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:+x|F7:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:+x|F7:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:+x|F7:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:+y": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"BackWall/F7:+y|F7:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:+y|F7:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:+y|F7:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:+z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"BackWall/F7:+z|F7:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:+z|F7:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:-x": "face.angle_plane face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"BackWall/F7:-x|F7:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:-x|F7:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:-y": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"BackWall/F7:-y|F7:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"BackWall/F7:-z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"BackWall/body": "body.copy body.mirror body.move body.pattern",
"BackWall/v[F7:+x & F7:+y & F7:+z]": "vertex.plane_three_points vertex.point",
"BackWall/v[F7:+x & F7:+y & F7:-z]": "vertex.plane_three_points vertex.point",
"BackWall/v[F7:+x & F7:+z & F7:-y]": "vertex.plane_three_points vertex.point",
"BackWall/v[F7:+x & F7:-y & F7:-z]": "vertex.plane_three_points vertex.point",
"BackWall/v[F7:+y & F7:+z & F7:-x]": "vertex.plane_three_points vertex.point",
"BackWall/v[F7:+y & F7:-x & F7:-z]": "vertex.plane_three_points vertex.point",
"BackWall/v[F7:+z & F7:-x & F7:-y]": "vertex.plane_three_points vertex.point",
"BackWall/v[F7:-x & F7:-y & F7:-z]": "vertex.plane_three_points vertex.point",
"Base/F3:+x": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Base/F3:+x|F3:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:+x|F3:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:+x|F3:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:+x|F3:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:+y": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Base/F3:+y|F3:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:+y|F3:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:+y|F3:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:+z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Base/F3:+z|F3:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:+z|F3:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:-x": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Base/F3:-x|F3:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:-x|F3:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:-y": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Base/F3:-y|F3:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Base/F3:-z": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Base/body": "body.copy body.mirror body.move body.pattern",
"Base/v[F3:+x & F3:+y & F3:+z]": "vertex.plane_three_points vertex.point",
"Base/v[F3:+x & F3:+y & F3:-z]": "vertex.plane_three_points vertex.point",
"Base/v[F3:+x & F3:+z & F3:-y]": "vertex.plane_three_points vertex.point",
"Base/v[F3:+x & F3:-y & F3:-z]": "vertex.plane_three_points vertex.point",
"Base/v[F3:+y & F3:+z & F3:-x]": "vertex.plane_three_points vertex.point",
"Base/v[F3:+y & F3:-x & F3:-z]": "vertex.plane_three_points vertex.point",
"Base/v[F3:+z & F3:-x & F3:-y]": "vertex.plane_three_points vertex.point",
"Base/v[F3:-x & F3:-y & F3:-z]": "vertex.plane_three_points vertex.point",
"ClearLid/F25:+x": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"ClearLid/F25:+x|F25:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:+x|F25:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:+x|F25:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:+x|F25:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:+y": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"ClearLid/F25:+y|F25:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:+y|F25:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:+y|F25:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:+z": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"ClearLid/F25:+z|F25:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:+z|F25:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:-x": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"ClearLid/F25:-x|F25:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:-x|F25:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:-y": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"ClearLid/F25:-y|F25:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"ClearLid/F25:-z": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"ClearLid/body": "body.copy body.mirror body.move body.pattern",
"ClearLid/v[F25:+x & F25:+y & F25:+z]": "vertex.plane_three_points vertex.point",
"ClearLid/v[F25:+x & F25:+y & F25:-z]": "vertex.plane_three_points vertex.point",
"ClearLid/v[F25:+x & F25:+z & F25:-y]": "vertex.plane_three_points vertex.point",
"ClearLid/v[F25:+x & F25:-y & F25:-z]": "vertex.plane_three_points vertex.point",
"ClearLid/v[F25:+y & F25:+z & F25:-x]": "vertex.plane_three_points vertex.point",
"ClearLid/v[F25:+y & F25:-x & F25:-z]": "vertex.plane_three_points vertex.point",
"ClearLid/v[F25:+z & F25:-x & F25:-y]": "vertex.plane_three_points vertex.point",
"ClearLid/v[F25:-x & F25:-y & F25:-z]": "vertex.plane_three_points vertex.point",
"FrontWall/F6:+x": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"FrontWall/F6:+x|F6:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:+x|F6:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:+x|F6:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:+x|F6:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:+y": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"FrontWall/F6:+y|F6:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:+y|F6:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:+y|F6:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:+z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"FrontWall/F6:+z|F6:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:+z|F6:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:-x": "face.angle_plane face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"FrontWall/F6:-x|F6:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:-x|F6:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:-y": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"FrontWall/F6:-y|F6:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"FrontWall/F6:-z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"FrontWall/body": "body.copy body.mirror body.move body.pattern",
"FrontWall/v[F6:+x & F6:+y & F6:+z]": "vertex.plane_three_points vertex.point",
"FrontWall/v[F6:+x & F6:+y & F6:-z]": "vertex.plane_three_points vertex.point",
"FrontWall/v[F6:+x & F6:+z & F6:-y]": "vertex.plane_three_points vertex.point",
"FrontWall/v[F6:+x & F6:-y & F6:-z]": "vertex.plane_three_points vertex.point",
"FrontWall/v[F6:+y & F6:+z & F6:-x]": "vertex.plane_three_points vertex.point",
"FrontWall/v[F6:+y & F6:-x & F6:-z]": "vertex.plane_three_points vertex.point",
"FrontWall/v[F6:+z & F6:-x & F6:-y]": "vertex.plane_three_points vertex.point",
"FrontWall/v[F6:-x & F6:-y & F6:-z]": "vertex.plane_three_points vertex.point",
"Insert/F10:+x": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Insert/F10:+x|F10:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:+x|F10:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:+x|F10:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:+x|F10:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:+y": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Insert/F10:+y|F10:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:+y|F10:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:+y|F10:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:+z": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Insert/F10:+z|F10:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:+z|F10:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:-x": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Insert/F10:-x|F10:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:-x|F10:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:-y": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Insert/F10:-y|F10:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Insert/F10:-z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"Insert/body": "body.copy body.mirror body.move body.pattern",
"Insert/v[F10:+x & F10:+y & F10:+z]": "vertex.plane_three_points vertex.point",
"Insert/v[F10:+x & F10:+y & F10:-z]": "vertex.plane_three_points vertex.point",
"Insert/v[F10:+x & F10:+z & F10:-y]": "vertex.plane_three_points vertex.point",
"Insert/v[F10:+x & F10:-y & F10:-z]": "vertex.plane_three_points vertex.point",
"Insert/v[F10:+y & F10:+z & F10:-x]": "vertex.plane_three_points vertex.point",
"Insert/v[F10:+y & F10:-x & F10:-z]": "vertex.plane_three_points vertex.point",
"Insert/v[F10:+z & F10:-x & F10:-y]": "vertex.plane_three_points vertex.point",
"Insert/v[F10:-x & F10:-y & F10:-z]": "vertex.plane_three_points vertex.point",
"LeftWall/F4:+x": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"LeftWall/F4:+x|F4:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:+x|F4:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:+x|F4:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:+x|F4:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:+y": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"LeftWall/F4:+y|F4:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:+y|F4:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:+y|F4:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:+z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"LeftWall/F4:+z|F4:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:+z|F4:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:-x": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"LeftWall/F4:-x|F4:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:-x|F4:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:-y": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"LeftWall/F4:-y|F4:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"LeftWall/F4:-z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"LeftWall/body": "body.copy body.mirror body.move body.pattern",
"LeftWall/v[F4:+x & F4:+y & F4:+z]": "vertex.plane_three_points vertex.point",
"LeftWall/v[F4:+x & F4:+y & F4:-z]": "vertex.plane_three_points vertex.point",
"LeftWall/v[F4:+x & F4:+z & F4:-y]": "vertex.plane_three_points vertex.point",
"LeftWall/v[F4:+x & F4:-y & F4:-z]": "vertex.plane_three_points vertex.point",
"LeftWall/v[F4:+y & F4:+z & F4:-x]": "vertex.plane_three_points vertex.point",
"LeftWall/v[F4:+y & F4:-x & F4:-z]": "vertex.plane_three_points vertex.point",
"LeftWall/v[F4:+z & F4:-x & F4:-y]": "vertex.plane_three_points vertex.point",
"LeftWall/v[F4:-x & F4:-y & F4:-z]": "vertex.plane_three_points vertex.point",
"Pad1/F11:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Pad1/F11:bottom|F11:side#1": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad1/F11:bottom|F11:side#2": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad1/F11:side#1": "curved.axis curved.tangent_plane",
"Pad1/F11:side#1|F11:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad1/F11:side#2": "curved.axis curved.tangent_plane",
"Pad1/F11:side#2|F11:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad1/F11:top": "face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Pad1/body": "body.copy body.mirror body.move body.pattern",
"Pad1/v[F11:bottom & F11:side#1 & F11:side#2]": "vertex.point",
"Pad1/v[F11:bottom & F11:side#1 & F11:side#2] (2)": "vertex.point",
"Pad1/v[F11:side#1 & F11:side#2 & F11:top]": "vertex.point",
"Pad1/v[F11:side#1 & F11:side#2 & F11:top] (2)": "vertex.point",
"Pad2/F12:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Pad2/F12:bottom|F12:side#1": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad2/F12:bottom|F12:side#2": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad2/F12:side#1": "curved.axis curved.tangent_plane",
"Pad2/F12:side#1|F12:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad2/F12:side#2": "curved.axis curved.tangent_plane",
"Pad2/F12:side#2|F12:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad2/F12:top": "face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Pad2/body": "body.copy body.mirror body.move body.pattern",
"Pad2/v[F12:bottom & F12:side#1 & F12:side#2]": "vertex.point",
"Pad2/v[F12:bottom & F12:side#1 & F12:side#2] (2)": "vertex.point",
"Pad2/v[F12:side#1 & F12:side#2 & F12:top]": "vertex.point",
"Pad2/v[F12:side#1 & F12:side#2 & F12:top] (2)": "vertex.point",
"Pad3/F13:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Pad3/F13:bottom|F13:side#1": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad3/F13:bottom|F13:side#2": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad3/F13:side#1": "curved.axis curved.tangent_plane",
"Pad3/F13:side#1|F13:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad3/F13:side#2": "curved.axis curved.tangent_plane",
"Pad3/F13:side#2|F13:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad3/F13:top": "face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Pad3/body": "body.copy body.mirror body.move body.pattern",
"Pad3/v[F13:bottom & F13:side#1 & F13:side#2]": "vertex.point",
"Pad3/v[F13:bottom & F13:side#1 & F13:side#2] (2)": "vertex.point",
"Pad3/v[F13:side#1 & F13:side#2 & F13:top]": "vertex.point",
"Pad3/v[F13:side#1 & F13:side#2 & F13:top] (2)": "vertex.point",
"Pad4/F14:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Pad4/F14:bottom|F14:side#1": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad4/F14:bottom|F14:side#2": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad4/F14:side#1": "curved.axis curved.tangent_plane",
"Pad4/F14:side#1|F14:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad4/F14:side#2": "curved.axis curved.tangent_plane",
"Pad4/F14:side#2|F14:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad4/F14:top": "face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Pad4/body": "body.copy body.mirror body.move body.pattern",
"Pad4/v[F14:bottom & F14:side#1 & F14:side#2]": "vertex.point",
"Pad4/v[F14:bottom & F14:side#1 & F14:side#2] (2)": "vertex.point",
"Pad4/v[F14:side#1 & F14:side#2 & F14:top]": "vertex.point",
"Pad4/v[F14:side#1 & F14:side#2 & F14:top] (2)": "vertex.point",
"Pad5/F15:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Pad5/F15:bottom|F15:side#1": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad5/F15:bottom|F15:side#2": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad5/F15:side#1": "curved.axis curved.tangent_plane",
"Pad5/F15:side#1|F15:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad5/F15:side#2": "curved.axis curved.tangent_plane",
"Pad5/F15:side#2|F15:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad5/F15:top": "face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Pad5/body": "body.copy body.mirror body.move body.pattern",
"Pad5/v[F15:bottom & F15:side#1 & F15:side#2]": "vertex.point",
"Pad5/v[F15:bottom & F15:side#1 & F15:side#2] (2)": "vertex.point",
"Pad5/v[F15:side#1 & F15:side#2 & F15:top]": "vertex.point",
"Pad5/v[F15:side#1 & F15:side#2 & F15:top] (2)": "vertex.point",
"Pad6/F16:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Pad6/F16:bottom|F16:side#1": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad6/F16:bottom|F16:side#2": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad6/F16:side#1": "curved.axis curved.tangent_plane",
"Pad6/F16:side#1|F16:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad6/F16:side#2": "curved.axis curved.tangent_plane",
"Pad6/F16:side#2|F16:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Pad6/F16:top": "face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Pad6/body": "body.copy body.mirror body.move body.pattern",
"Pad6/v[F16:bottom & F16:side#1 & F16:side#2]": "vertex.point",
"Pad6/v[F16:bottom & F16:side#1 & F16:side#2] (2)": "vertex.point",
"Pad6/v[F16:side#1 & F16:side#2 & F16:top]": "vertex.point",
"Pad6/v[F16:side#1 & F16:side#2 & F16:top] (2)": "vertex.point",
"Post1/F19:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Post1/F19:bottom|F19:side#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post1/F19:bottom|F19:side#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post1/F19:side#1": "curved.axis curved.tangent_plane",
"Post1/F19:side#1|F19:top": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post1/F19:side#2": "curved.axis curved.tangent_plane",
"Post1/F19:side#2|F19:top": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post1/F19:top": "!face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"Post1/body": "body.copy body.mirror body.move body.pattern",
"Post1/v[F19:bottom & F19:side#1 & F19:side#2]": "vertex.point",
"Post1/v[F19:bottom & F19:side#1 & F19:side#2] (2)": "vertex.point",
"Post1/v[F19:side#1 & F19:side#2 & F19:top]": "vertex.point",
"Post1/v[F19:side#1 & F19:side#2 & F19:top] (2)": "vertex.point",
"Post2/F20:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Post2/F20:bottom|F20:side#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post2/F20:bottom|F20:side#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post2/F20:side#1": "curved.axis curved.tangent_plane",
"Post2/F20:side#1|F20:top": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post2/F20:side#2": "curved.axis curved.tangent_plane",
"Post2/F20:side#2|F20:top": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post2/F20:top": "!face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"Post2/body": "body.copy body.mirror body.move body.pattern",
"Post2/v[F20:bottom & F20:side#1 & F20:side#2]": "vertex.point",
"Post2/v[F20:bottom & F20:side#1 & F20:side#2] (2)": "vertex.point",
"Post2/v[F20:side#1 & F20:side#2 & F20:top]": "vertex.point",
"Post2/v[F20:side#1 & F20:side#2 & F20:top] (2)": "vertex.point",
"Post3/F21:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Post3/F21:bottom|F21:side#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post3/F21:bottom|F21:side#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post3/F21:side#1": "curved.axis curved.tangent_plane",
"Post3/F21:side#1|F21:top": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post3/F21:side#2": "curved.axis curved.tangent_plane",
"Post3/F21:side#2|F21:top": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post3/F21:top": "!face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"Post3/body": "body.copy body.mirror body.move body.pattern",
"Post3/v[F21:bottom & F21:side#1 & F21:side#2]": "vertex.point",
"Post3/v[F21:bottom & F21:side#1 & F21:side#2] (2)": "vertex.point",
"Post3/v[F21:side#1 & F21:side#2 & F21:top]": "vertex.point",
"Post3/v[F21:side#1 & F21:side#2 & F21:top] (2)": "vertex.point",
"Post4/F22:bottom": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Post4/F22:bottom|F22:side#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post4/F22:bottom|F22:side#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post4/F22:side#1": "curved.axis curved.tangent_plane",
"Post4/F22:side#1|F22:top": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post4/F22:side#2": "curved.axis curved.tangent_plane",
"Post4/F22:side#2|F22:top": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Post4/F22:top": "!face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"Post4/body": "body.copy body.mirror body.move body.pattern",
"Post4/v[F22:bottom & F22:side#1 & F22:side#2]": "vertex.point",
"Post4/v[F22:bottom & F22:side#1 & F22:side#2] (2)": "vertex.point",
"Post4/v[F22:side#1 & F22:side#2 & F22:top]": "vertex.point",
"Post4/v[F22:side#1 & F22:side#2 & F22:top] (2)": "vertex.point",
"RightWall/F5:+x": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"RightWall/F5:+x|F5:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:+x|F5:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:+x|F5:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:+x|F5:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:+y": "face.angle_plane face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"RightWall/F5:+y|F5:+z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:+y|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:+y|F5:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:+z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"RightWall/F5:+z|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:+z|F5:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:-x": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"RightWall/F5:-x|F5:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:-x|F5:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:-y": "face.angle_plane face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull face.shell face.sketch",
"RightWall/F5:-y|F5:-z": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"RightWall/F5:-z": "face.angle_plane face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch",
"RightWall/body": "body.copy body.mirror body.move body.pattern",
"RightWall/v[F5:+x & F5:+y & F5:+z]": "vertex.plane_three_points vertex.point",
"RightWall/v[F5:+x & F5:+y & F5:-z]": "vertex.plane_three_points vertex.point",
"RightWall/v[F5:+x & F5:+z & F5:-y]": "vertex.plane_three_points vertex.point",
"RightWall/v[F5:+x & F5:-y & F5:-z]": "vertex.plane_three_points vertex.point",
"RightWall/v[F5:+y & F5:+z & F5:-x]": "vertex.plane_three_points vertex.point",
"RightWall/v[F5:+y & F5:-x & F5:-z]": "vertex.plane_three_points vertex.point",
"RightWall/v[F5:+z & F5:-x & F5:-y]": "vertex.plane_three_points vertex.point",
"RightWall/v[F5:-x & F5:-y & F5:-z]": "vertex.plane_three_points vertex.point",
"design": "load"
},
"examples/sensor_enclosure": {
"Case/F11:side:bs#1": "curved.axis curved.axis+edit curved.tangent_plane",
"Case/F11:side:bs#2": "curved.axis curved.axis+edit curved.tangent_plane",
@@ -3015,7 +3395,7 @@
"Case/F4:inner:F2:start#[F11:side:bs_hole]": "face.extrude face.hole face.midplane face.midplane+edit face.offset_plane face.offset_plane+edit face.press_pull face.shell face.sketch face.sketch+edit",
"Case/F4:inner:F2:start#[F12:face:34,F12:face:35]": "face.extrude face.hole face.hole+edit face.midplane face.offset_plane face.offset_plane+edit face.press_pull face.shell face.sketch",
"Case/F4:inner:F2:start#[F12:face:38,F12:face:39]": "face.extrude face.hole face.hole+edit face.midplane face.midplane+edit face.offset_plane face.offset_plane+edit face.press_pull face.shell face.sketch",
"Case/F4:inner:F2:start#[F12:face:42,F12:face:43]": "face.extrude face.hole face.hole+edit face.midplane !face.midplane+edit face.offset_plane face.press_pull face.shell face.sketch",
"Case/F4:inner:F2:start#[F12:face:42,F12:face:43]": "face.extrude face.hole face.hole+edit face.midplane face.midplane+edit face.offset_plane face.press_pull face.shell face.sketch",
"Case/F4:inner:F2:start#[F6:side:[email protected]]": "face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Case/F4:inner:F2:start#[F6:side:[email protected]]|F6:side:[email protected]#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Case/F4:inner:F2:start#[F6:side:[email protected]]|F6:side:[email protected]#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -3181,12 +3561,12 @@
"Lid/F14:side:l2|F15:blend:F14:side:l1|F14:side:l2": "edge.axis edge.normal_plane edge.project edge.project+edit",
"Lid/F14:side:l2|F15:blend:F14:side:l2|F14:side:l3": "edge.axis edge.axis+edit edge.normal_plane edge.project edge.project+edit",
"Lid/F14:side:l2|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.normal_plane+edit edge.project",
"Lid/F14:side:l3": "face.angle_plane face.angle_plane+edit !face.draft_neutral !face.extrude face.hole face.hole+edit face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Lid/F14:side:l3": "face.angle_plane face.angle_plane+edit !face.draft_neutral face.extrude face.hole face.hole+edit face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Lid/F14:side:l3|F14:top": "edge.axis edge.chamfer edge.fillet edge.fillet+edit edge.normal_plane edge.normal_plane+edit edge.project",
"Lid/F14:side:l3|F15:blend:F14:side:l2|F14:side:l3": "edge.axis edge.normal_plane edge.project",
"Lid/F14:side:l3|F15:blend:F14:side:l3|F14:side:l4": "edge.axis edge.normal_plane edge.project",
"Lid/F14:side:l3|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F14:side:l4": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane face.offset_plane !face.press_pull face.shell face.sketch",
"Lid/F14:side:l4": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Lid/F14:side:l4|F14:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F14:side:l4|F15:blend:F14:side:l1|F14:side:l4": "edge.axis edge.axis+edit edge.normal_plane edge.project",
"Lid/F14:side:l4|F15:blend:F14:side:l3|F14:side:l4": "edge.axis edge.normal_plane edge.project",
@@ -3225,7 +3605,7 @@
"Lid/F15:blend:F14:side:l1|F14:side:l2|F2:top": "edge.chamfer edge.fillet edge.fillet+edit edge.normal_plane edge.project",
"Lid/F15:blend:F14:side:l1|F14:side:l4": "curved.axis curved.tangent_plane",
"Lid/F15:blend:F14:side:l1|F14:side:l4|F2:top": "edge.chamfer edge.chamfer+edit edge.fillet edge.fillet+edit edge.normal_plane edge.project",
"Lid/F15:blend:F14:side:l2|F14:side:l3": "curved.axis !curved.axis+edit curved.tangent_plane",
"Lid/F15:blend:F14:side:l2|F14:side:l3": "curved.axis curved.axis+edit curved.tangent_plane",
"Lid/F15:blend:F14:side:l2|F14:side:l3|F2:top": "edge.chamfer edge.fillet edge.fillet+edit edge.normal_plane edge.project",
"Lid/F15:blend:F14:side:l3|F14:side:l4": "curved.axis curved.tangent_plane",
"Lid/F15:blend:F14:side:l3|F14:side:l4|F2:top": "edge.chamfer edge.chamfer+edit edge.fillet edge.fillet+edit edge.normal_plane edge.project",
@@ -3286,14 +3666,14 @@
"Lid/F18:side:l20": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull !face.shell face.sketch",
"Lid/F18:side:l20|F18:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F18:top": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.press_pull+edit !face.shell face.sketch",
"Lid/F20:side:ls#1": "!curved.axis curved.tangent_plane",
"Lid/F20:side:ls#2": "!curved.axis curved.tangent_plane",
"Lid/F20:side:[email protected]#1": "!curved.axis curved.tangent_plane curved.tangent_plane+edit",
"Lid/F20:side:[email protected]#2": "!curved.axis curved.tangent_plane curved.tangent_plane+edit",
"Lid/F20:side:[email protected]#1": "!curved.axis curved.tangent_plane",
"Lid/F20:side:[email protected]#2": "!curved.axis curved.tangent_plane",
"Lid/F20:side:[email protected]#1": "!curved.axis curved.tangent_plane",
"Lid/F20:side:[email protected]#2": "!curved.axis curved.tangent_plane",
"Lid/F20:side:ls#1": "curved.axis curved.tangent_plane",
"Lid/F20:side:ls#2": "curved.axis curved.tangent_plane",
"Lid/F20:side:[email protected]#1": "curved.axis curved.tangent_plane curved.tangent_plane+edit",
"Lid/F20:side:[email protected]#2": "curved.axis curved.tangent_plane curved.tangent_plane+edit",
"Lid/F20:side:[email protected]#1": "curved.axis curved.tangent_plane",
"Lid/F20:side:[email protected]#2": "curved.axis curved.tangent_plane",
"Lid/F20:side:[email protected]#1": "curved.axis curved.tangent_plane",
"Lid/F20:side:[email protected]#2": "curved.axis curved.tangent_plane",
"Lid/F2:top": "face.angle_plane face.angle_plane+edit !face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull face.shell face.sketch face.sketch+edit",
"Lid/body": "body.copy body.mirror body.move body.pattern body.pattern+edit",
"Lid/v[F14:side:l1 & F14:top & F15:blend:F14:side:l1|F14:side:l2]": "vertex.plane_three_points vertex.point",
@@ -5759,7 +6139,7 @@
"Tube/F2:side:c_in#2|F4:side:[email protected]#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:[email protected]#3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:c2#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:c2#4": "!edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:c2#4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:[email protected]#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:[email protected]#4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:[email protected]#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -5768,7 +6148,7 @@
"Tube/F2:side:c_in#2|F4:side:c3#4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:[email protected]#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:[email protected]#3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:[email protected]#2": "!edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:[email protected]#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_in#2|F4:side:[email protected]#3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#1": "curved.axis curved.tangent_plane",
"Tube/F2:side:c_out#1|F2:start": "edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -5779,7 +6159,7 @@
"Tube/F2:side:c_out#1|F4:side:[email protected]#4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#1|F4:side:[email protected]#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#1|F4:side:[email protected]#3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#1|F4:side:c2#2": "!edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#1|F4:side:c2#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#1|F4:side:c2#4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#1|F4:side:[email protected]#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#1|F4:side:[email protected]#4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -5801,7 +6181,7 @@
"Tube/F2:side:c_out#2|F4:side:[email protected]#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:[email protected]#4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:c2#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:c2#3": "!edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:c2#3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:[email protected]#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:[email protected]#3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:[email protected]#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -5809,7 +6189,7 @@
"Tube/F2:side:c_out#2|F4:side:c3#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:c3#3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:[email protected]#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:[email protected]#4": "!edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:[email protected]#4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:[email protected]#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:side:c_out#2|F4:side:[email protected]#4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tube/F2:start": "!face.extrude face.hole face.midplane face.offset_plane !face.press_pull !face.shell !face.sketch",
@@ -8328,7 +8708,7 @@
"Hinge/F2:side:l2|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l2|F4:side:c1#[F2:side:l2,F8:side:l2]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l2|F4:side:c1#[F2:side:l3]#[F2:side:l2,F8:side:l2]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l2|F4:side:c1#[F2:top]#[F2:side:l2,F8:side:l2]": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l2|F4:side:c1#[F2:top]#[F2:side:l2,F8:side:l2]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l2|F6:side:c1#1#[F2:side:l2,F8:side:l2]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l2|F6:side:c1#2#[F2:side:l2,F8:side:l2]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l3#[F2:side:l2,F8:side:l2]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
@@ -8345,7 +8725,7 @@
"Hinge/F2:side:l4|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l4|F4:side:c1#[F2:side:l3]#[F2:side:l4,F8:side:l4]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l4|F4:side:c1#[F2:side:l4,F8:side:l4]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l4|F4:side:c1#[F2:top]#[F2:side:l4,F8:side:l4]": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l4|F4:side:c1#[F2:top]#[F2:side:l4,F8:side:l4]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l4|F6:side:c1#1#[F2:side:l4,F8:side:l4]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:side:l4|F6:side:c1#2#[F2:side:l4,F8:side:l4]": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Hinge/F2:start": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
@@ -8738,7 +9118,7 @@
"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": "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|F3:face:25": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -8920,7 +9300,7 @@
"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",
@@ -9166,7 +9546,7 @@
"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.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Body1/F3:face:12|F3:face:7": "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:9": "edge.axis edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Body1/F3:face:5|F4:face:18": "edge.axis edge.normal_plane edge.project",
@@ -9202,7 +9582,7 @@
"Body1/F4:face:19|F4:face:21": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F4:face:20": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Body1/F4:face:21": "face.angle_plane face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Body1/F4:face:9": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull face.shell face.sketch",
"Body1/F4: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,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",
@@ -10028,7 +10408,7 @@
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:-y,F4:side:l5,F4:side:l6,F4:side:l8,F5:+x,F5:+y,F5:-x,F8:-y]|F5:+y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:-y,F4:side:l5,F4:side:l6,F4:side:l8,F5:+x,F5:+y,F5:-x,F8:-y]|F5:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:-y,F4:side:l5,F4:side:l6,F4:side:l8,F5:+x,F5:+y,F5:-x,F8:-y]|F8:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull face.shell !face.sketch",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]|F1:-x": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]|F1:-y": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Lid/F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y]|F2:blend:F1:+x|F1:+y": "edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -10286,6 +10666,130 @@
"Lid/v[F9:+z#[F9:+y,F9:-x,F9:-y] & F9:-x & F9:-y]": "vertex.plane_three_points vertex.point",
"design": "load"
},
"regressions/lip_swept_flush_round_corner": {
"Block/F2:side:a1": "curved.axis curved.tangent_plane",
"Block/F2:side:a1|F2:side:l1": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:a1|F2:side:l2": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:a1|F2:start": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:a2": "curved.axis curved.tangent_plane",
"Block/F2:side:a2|F2:side:l2": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:a2|F2:side:l3": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:a2|F2:start": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:a3": "curved.axis curved.tangent_plane",
"Block/F2:side:a3|F2:side:l3": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:a3|F2:side:l4": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:a3|F2:start": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:a3|F2:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Block/F2:side:a4": "curved.axis curved.tangent_plane",
"Block/F2:side:a4|F2:side:l1": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:a4|F2:side:l4": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:a4|F2:start": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:a4|F2:top": "!edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l1": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Block/F2:side:l1|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l1|F5:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l1|F5:side:l4": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:l1|F5:start#[F2:side:l1]": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l2": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Block/F2:side:l2|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l2|F5:side:l2#[F2:side:a1,F2:side:l2,F5:side:l4]": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:l2|F5:side:l2#[F2:side:a2,F2:side:l2]": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:l2|F5:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l3": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Block/F2:side:l3|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l3|F5:side:l2#[F2:side:a2,F2:side:l3]": "edge.axis edge.normal_plane edge.project",
"Block/F2:side:l3|F5:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l3|F5:start#[F2:side:l3]": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l4": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Block/F2:side:l4|F2:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:side:l4|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:start": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Block/F2:top": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch",
"Block/F2:top|F5:end": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:top|F5:side:l2#[F2:top,F5:end]#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:top|F5:side:l2#[F2:top,F5:end]#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:top|F5:side:l2#[F2:top,F5:start]#1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:top|F5:side:l2#[F2:top,F5:start]#2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:top|F5:side:l2#[F2:top]#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:top|F5:side:l2#[F2:top]#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F2:top|F5:start#[F2:side:l1]": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Block/F2:top|F5:start#[F2:side:l3]": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Block/F5:end": "face.angle_plane !face.draft_neutral !face.extrude face.hole !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Block/F5:end|F5:side:l2#[F2:top,F5:end]#1": "edge.axis edge.normal_plane edge.project",
"Block/F5:end|F5:side:l2#[F2:top,F5:end]#2": "edge.axis edge.normal_plane edge.project",
"Block/F5:end|F5:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:side:a1,F2:side:l2,F5:side:l4]": "curved.axis curved.tangent_plane",
"Block/F5:side:l2#[F2:side:a1,F2:side:l2,F5:side:l4]|F5:side:l3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:side:a2,F2:side:l2]": "curved.axis curved.tangent_plane",
"Block/F5:side:l2#[F2:side:a2,F2:side:l2]|F5:side:l3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:side:a2,F2:side:l3]": "curved.axis curved.tangent_plane",
"Block/F5:side:l2#[F2:side:a2,F2:side:l3]|F5:side:l3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top,F5:end]#1": "curved.axis curved.tangent_plane",
"Block/F5:side:l2#[F2:top,F5:end]#1|F5:side:l3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top,F5:end]#2": "curved.axis curved.tangent_plane",
"Block/F5:side:l2#[F2:top,F5:end]#2|F5:side:l3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top,F5:start]#1": "face.angle_plane !face.draft_neutral !face.extrude face.hole !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Block/F5:side:l2#[F2:top,F5:start]#1|F5:side:l2#[F2:top]#1": "edge.axis edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top,F5:start]#1|F5:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top,F5:start]#1|F5:start#[F2:side:l1]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top,F5:start]#2": "face.angle_plane !face.draft_neutral !face.extrude face.hole !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Block/F5:side:l2#[F2:top,F5:start]#2|F5:side:l2#[F2:top]#2": "edge.axis edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top,F5:start]#2|F5:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top,F5:start]#2|F5:start#[F2:side:l3]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top]#1": "curved.axis curved.tangent_plane",
"Block/F5:side:l2#[F2:top]#1|F5:side:l3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l2#[F2:top]#2": "curved.axis curved.tangent_plane",
"Block/F5:side:l2#[F2:top]#2|F5:side:l3": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l3": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Block/F5:side:l3|F5:side:l4": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l3|F5:start#[F2:side:l1]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l3|F5:start#[F2:side:l3]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Block/F5:side:l4": "curved.axis curved.tangent_plane",
"Block/F5:start#[F2:side:l1]": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Block/F5:start#[F2:side:l3]": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.midplane !face.offset_plane !face.press_pull !face.shell !face.sketch",
"Block/body": "body.copy body.mirror body.move body.pattern",
"Block/v[F2:side:a1 & F2:side:l1 & F2:start]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a1 & F2:side:l1 & F5:side:l4]": "vertex.point",
"Block/v[F2:side:a1 & F2:side:l2 & F2:start]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a1 & F2:side:l2 & F5:side:l2#[F2:side:a1,F2:side:l2,F5:side:l4]]": "vertex.point",
"Block/v[F2:side:a2 & F2:side:l2 & F2:start]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a2 & F2:side:l2 & F5:side:l2#[F2:side:a2,F2:side:l2]]": "vertex.point",
"Block/v[F2:side:a2 & F2:side:l3 & F2:start]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a2 & F2:side:l3 & F5:side:l2#[F2:side:a2,F2:side:l3]]": "vertex.point",
"Block/v[F2:side:a3 & F2:side:l3 & F2:start]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a3 & F2:side:l3 & F2:top & F5:start#[F2:side:l3]]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a3 & F2:side:l4 & F2:start]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a3 & F2:side:l4 & F2:top]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a4 & F2:side:l1 & F2:start]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a4 & F2:side:l1 & F2:top & F5:start#[F2:side:l1]]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a4 & F2:side:l4 & F2:start]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:a4 & F2:side:l4 & F2:top]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:l1 & F5:side:l3 & F5:side:l4]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:l1 & F5:side:l3 & F5:start#[F2:side:l1]]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:l2 & F5:side:l2#[F2:side:a1,F2:side:l2,F5:side:l4] & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:l2 & F5:side:l2#[F2:side:a2,F2:side:l2] & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:l3 & F5:side:l2#[F2:side:a2,F2:side:l3] & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F2:side:l3 & F5:side:l3 & F5:start#[F2:side:l3]]": "vertex.plane_three_points vertex.point",
"Block/v[F2:top & F5:end & F5:side:l2#[F2:top,F5:end]#1]": "vertex.plane_three_points vertex.point",
"Block/v[F2:top & F5:end & F5:side:l2#[F2:top,F5:end]#2]": "vertex.plane_three_points vertex.point",
"Block/v[F2:top & F5:side:l2#[F2:top,F5:end]#1 & F5:side:l2#[F2:top]#1]": "vertex.plane_three_points vertex.point",
"Block/v[F2:top & F5:side:l2#[F2:top,F5:end]#2 & F5:side:l2#[F2:top]#2]": "vertex.plane_three_points vertex.point",
"Block/v[F2:top & F5:side:l2#[F2:top,F5:start]#1 & F5:side:l2#[F2:top]#1]": "vertex.plane_three_points vertex.point",
"Block/v[F2:top & F5:side:l2#[F2:top,F5:start]#1 & F5:start#[F2:side:l1]]": "vertex.plane_three_points vertex.point",
"Block/v[F2:top & F5:side:l2#[F2:top,F5:start]#2 & F5:side:l2#[F2:top]#2]": "vertex.plane_three_points vertex.point",
"Block/v[F2:top & F5:side:l2#[F2:top,F5:start]#2 & F5:start#[F2:side:l3]]": "vertex.plane_three_points vertex.point",
"Block/v[F5:end & F5:side:l2#[F2:top,F5:end]#1 & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F5:end & F5:side:l2#[F2:top,F5:end]#2 & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F5:side:l2#[F2:side:a1,F2:side:l2,F5:side:l4] & F5:side:l3 & F5:side:l4]": "vertex.plane_three_points vertex.point",
"Block/v[F5:side:l2#[F2:side:a2,F2:side:l2] & F5:side:l2#[F2:side:a2,F2:side:l3] & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F5:side:l2#[F2:top,F5:end]#1 & F5:side:l2#[F2:top]#1 & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F5:side:l2#[F2:top,F5:end]#2 & F5:side:l2#[F2:top]#2 & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F5:side:l2#[F2:top,F5:start]#1 & F5:side:l2#[F2:top]#1 & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F5:side:l2#[F2:top,F5:start]#1 & F5:side:l3 & F5:start#[F2:side:l1]]": "vertex.plane_three_points vertex.point",
"Block/v[F5:side:l2#[F2:top,F5:start]#2 & F5:side:l2#[F2:top]#2 & F5:side:l3]": "vertex.plane_three_points vertex.point",
"Block/v[F5:side:l2#[F2:top,F5:start]#2 & F5:side:l3 & F5:start#[F2:side:l3]]": "vertex.plane_three_points vertex.point",
"design": "load"
},
"regressions/loft_cut_beside_round_hole": {
"Body1/F2:side:l1": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Body1/F2:side:l1|F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -10311,7 +10815,7 @@
"Body1/F2:top|F4:side:l4": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F2:top|F6:side:c1#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F2:top|F6:side:c1#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F4:bottom": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Body1/F4:bottom": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull face.shell face.sketch",
"Body1/F4:bottom|F4:side:l1": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Body1/F4:bottom|F4:side:l2": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project",
"Body1/F4:bottom|F4:side:l3": "edge.axis !edge.chamfer !edge.fillet edge.normal_plane edge.project",
@@ -10430,7 +10934,7 @@
"Tool/F2:side:l4|F2:top": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tool/F2:side:l4|F4:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tool/F2:top": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.offset_plane face.press_pull !face.shell face.sketch",
"Tool/F4:side:l1": "face.angle_plane !face.draft_neutral !face.extrude !face.hole face.offset_plane !face.press_pull !face.shell face.sketch",
"Tool/F4:side:l1": "face.angle_plane !face.draft_neutral !face.extrude face.hole face.offset_plane !face.press_pull !face.shell face.sketch",
"Tool/body": "body.copy body.mirror body.move body.pattern",
"Tool/v[F2:bottom & F2:side:l1 & F2:side:l2]": "vertex.plane_three_points vertex.point",
"Tool/v[F2:bottom & F2:side:l1 & F4:side:l1]": "vertex.plane_three_points vertex.point",
@@ -10474,7 +10978,7 @@
"ClipBody/v[F4:side:l1 & F4:side:l4 & F4:top]": "vertex.plane_three_points vertex.point",
"ClipBody/v[F4:side:l2 & F4:side:l3 & F4:top]": "vertex.plane_three_points vertex.point",
"ClipBody/v[F4:side:l3 & F4:side:l4 & F4:top]": "vertex.plane_three_points vertex.point",
"Tool/F2:bottom": "face.angle_plane !face.draft_neutral face.extrude !face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Tool/F2:bottom": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Tool/F2:bottom|F2:side:l1": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tool/F2:bottom|F2:side:l2": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Tool/F2:bottom|F2:side:l3": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -11392,10 +11896,12 @@
"Body1/F3:end|F3:side:l2#[F3:end]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:end|F3:side:l3#[F3:end]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:end|F3:side:l4#[F3:end]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:side:l1#1": "face.angle_plane face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F3:side:l1#1|F3:side:l1#2": "edge.axis edge.normal_plane edge.project",
"Body1/F3:side:l1#1|F3:side:l1#[F3:start]": "edge.axis edge.normal_plane edge.project",
"Body1/F3:side:l1#1|F3:side:l2#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:side:l1#1|F3:side:l4#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:side:l1#2": "face.angle_plane face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F3:side:l1#2|F3:side:l1#[F3:end]": "edge.axis edge.normal_plane edge.project",
"Body1/F3:side:l1#2|F3:side:l2#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:side:l1#2|F3:side:l4#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
@@ -11417,12 +11923,14 @@
"Body1/F3:side:l2#[F3:start]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F3:side:l2#[F3:start]|F3:side:l3#[F3:start]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:side:l2#[F3:start]|F3:start": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:side:l3#1": "face.angle_plane face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F3:side:l3#1|F3:side:l3#2": "edge.axis edge.normal_plane edge.project",
"Body1/F3:side:l3#1|F3:side:l3#[F3:start]": "edge.axis edge.normal_plane edge.project",
"Body1/F3:side:l3#1|F3:side:l4#1": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:side:l3#2": "face.angle_plane face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F3:side:l3#2|F3:side:l3#[F3:end]": "edge.axis edge.normal_plane edge.project",
"Body1/F3:side:l3#2|F3:side:l4#2": "edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:side:l3#[F3:end]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F3:side:l3#[F3:end]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F3:side:l3#[F3:end]|F3:side:l4#[F3:end]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
"Body1/F3:side:l3#[F3:start]": "face.angle_plane !face.draft_neutral face.extrude face.hole face.midplane face.offset_plane face.press_pull !face.shell face.sketch",
"Body1/F3:side:l3#[F3:start]|F3:side:l4#[F3:start]": "edge.axis edge.chamfer edge.fillet edge.normal_plane edge.project",
+121 -118
View File
@@ -1,124 +1,127 @@
{
"about": "What each action matrix design costs on a CI runner, in seconds (secs: the whole design, load: before its first action), for cutting the nightly shards (apps/solidcraft-cli/tests/action_matrix.rs, plan). Written with the baseline by cargo xtask action-matrix --bless --from DIR.",
"designs": {
"corpus/components-arm": {"secs": 48.0, "load": 0.3},
"corpus/issue-489-stacked-join": {"secs": 2.8, "load": 0.0},
"corpus/issue-616-lid-ribs": {"secs": 257.6, "load": 0.7},
"corpus/joints-hinge": {"secs": 23.4, "load": 0.0},
"corpus/m0-box-fillet-hole": {"secs": 25.2, "load": 0.1},
"corpus/m0-revolve-primitives": {"secs": 86.9, "load": 0.5},
"corpus/modern-path-pattern": {"secs": 73.6, "load": 0.4},
"corpus/modern-plastic": {"secs": 617.5, "load": 1.4},
"corpus/modern-sheet-metal": {"secs": 47.9, "load": 0.0},
"corpus/move-bodies": {"secs": 2.7, "load": 0.0},
"corpus/naming-split-pieces": {"secs": 15.6, "load": 0.1},
"corpus/split-body-pieces": {"secs": 12.4, "load": 0.1},
"demo/crazy-geom-cuts": {"secs": 21.4, "load": 0.1},
"demo/enclosure_steps": {"secs": 655.0, "load": 15.4},
"demo/logo-up-down-join": {"secs": 5.8, "load": 0.0},
"demo/pi-case": {"secs": 3753.2, "load": 5.2},
"demo/pi-case-0.8": {"secs": 13979.6, "load": 10.8},
"examples/bracket": {"secs": 14.2, "load": 0.1},
"examples/sensor_enclosure": {"secs": 8289.0, "load": 16.3},
"corpus/components-arm": {"secs": 58.8, "load": 0.5},
"corpus/issue-489-stacked-join": {"secs": 3.5, "load": 0.0},
"corpus/issue-616-lid-ribs": {"secs": 261.8, "load": 0.9},
"corpus/joints-hinge": {"secs": 16.4, "load": 0.0},
"corpus/m0-box-fillet-hole": {"secs": 32.0, "load": 0.3},
"corpus/m0-revolve-primitives": {"secs": 87.2, "load": 0.4},
"corpus/modern-path-pattern": {"secs": 85.2, "load": 0.5},
"corpus/modern-plastic": {"secs": 570.6, "load": 1.0},
"corpus/modern-sheet-metal": {"secs": 127.1, "load": 0.0},
"corpus/move-bodies": {"secs": 2.5, "load": 0.0},
"corpus/naming-split-pieces": {"secs": 16.9, "load": 0.1},
"corpus/split-body-pieces": {"secs": 9.4, "load": 0.0},
"demo/crazy-geom-cuts": {"secs": 22.0, "load": 0.1},
"demo/enclosure_steps": {"secs": 644.7, "load": 22.3},
"demo/logo-up-down-join": {"secs": 11.2, "load": 0.1},
"demo/pi-case": {"secs": 3288.3, "load": 7.0},
"demo/pi-case-0.8": {"secs": 14291.3, "load": 12.2},
"examples/bracket": {"secs": 19.8, "load": 0.2},
"examples/render-opaque-studio": {"secs": 53.1, "load": 0.2},
"examples/render-studio": {"secs": 98.3, "load": 0.0},
"examples/sensor_enclosure": {"secs": 10619.7, "load": 13.2},
"oracle/01-box": {"secs": 0.9, "load": 0.0},
"oracle/02-cylinder": {"secs": 1.4, "load": 0.0},
"oracle/03-box-through-hole": {"secs": 18.8, "load": 0.0},
"oracle/04-revolve-vase": {"secs": 8.0, "load": 0.0},
"oracle/05-taper-extrude": {"secs": 5.4, "load": 0.0},
"oracle/06-symmetric-extrude": {"secs": 0.9, "load": 0.0},
"oracle/07-fillet-all-edges": {"secs": 54.0, "load": 0.2},
"oracle/08-chamfer": {"secs": 9.4, "load": 0.1},
"oracle/09-shell": {"secs": 2.2, "load": 0.0},
"oracle/10-rect-pattern-holes": {"secs": 135.3, "load": 0.3},
"oracle/11-circular-pattern-flange": {"secs": 24.2, "load": 0.3},
"oracle/12-mirror-feature": {"secs": 30.5, "load": 0.2},
"oracle/13-combine-join": {"secs": 29.3, "load": 0.1},
"oracle/14-combine-cut": {"secs": 123.6, "load": 2.4},
"oracle/15-combine-intersect": {"secs": 41.4, "load": 12.3},
"oracle/16-sweep": {"secs": 29.7, "load": 0.0},
"oracle/17-loft": {"secs": 33.6, "load": 0.0},
"oracle/18-hole-features": {"secs": 63.5, "load": 1.8},
"oracle/19-l-bracket-constrained": {"secs": 1.6, "load": 0.0},
"oracle/20-slot-constrained": {"secs": 3.0, "load": 0.0},
"oracle/21-draft": {"secs": 5.4, "load": 0.0},
"oracle/22-split-body": {"secs": 392.0, "load": 4.4},
"oracle/23-bracket-multifeature": {"secs": 149.8, "load": 4.3},
"oracle/24-user-parameters": {"secs": 13.4, "load": 0.0},
"oracle/25-sketch-triangle": {"secs": 4.9, "load": 0.0},
"oracle/26-sketch-belt": {"secs": 9.3, "load": 0.0},
"oracle/27-sketch-trapezoid": {"secs": 32.9, "load": 0.0},
"oracle/28-blind-pocket-fillets": {"secs": 143.7, "load": 0.6},
"oracle/29-two-sided-and-partial-revolve": {"secs": 48.5, "load": 2.1},
"oracle/30-fillet-after-shell": {"secs": 151.5, "load": 1.0},
"oracle/31-fillet-l-all-edges": {"secs": 129.9, "load": 2.2},
"oracle/32-boss-plate-fillets": {"secs": 122.0, "load": 0.4},
"oracle/33-fillet-tangent-chain": {"secs": 86.5, "load": 0.3},
"oracle/34-chamfer-then-fillet": {"secs": 71.0, "load": 0.3},
"oracle/35-fillet-curved-curved": {"secs": 38.8, "load": 19.0},
"oracle/36-corner-blend-two-radii": {"secs": 27.5, "load": 0.1},
"oracle/37-pyramid-apex-blend": {"secs": 18.3, "load": 0.1},
"oracle/38-coincident-cylinders": {"secs": 3.2, "load": 1.2},
"oracle/39-tee-pipe": {"secs": 880.7, "load": 26.6},
"oracle/40-box-sphere-torus": {"secs": 352.8, "load": 9.4},
"oracle/41-tube-radial-holes": {"secs": 18429.5, "load": 134.7},
"oracle/42-overlapping-patterns": {"secs": 1466.4, "load": 2.4},
"oracle/43-cut-splits-body": {"secs": 3.3, "load": 0.0},
"oracle/44-shell-l-bracket": {"secs": 3.7, "load": 0.0},
"oracle/45-shell-boss-plate": {"secs": 83.9, "load": 0.8},
"oracle/46-shell-two-open-faces": {"secs": 2.1, "load": 0.0},
"oracle/47-draft-curved-pocket": {"secs": 30.7, "load": 0.1},
"oracle/48-pulley": {"secs": 138.2, "load": 0.1},
"oracle/49-helical-sweep": {"secs": 715.3, "load": 0.3},
"oracle/50-sweep-tight-bend": {"secs": 24.9, "load": 0.0},
"oracle/51-loft-rect-circle-offset": {"secs": 22.0, "load": 0.0},
"oracle/52-circular-pattern-fillet": {"secs": 143.8, "load": 8.3},
"oracle/53-path-pattern": {"secs": 50.3, "load": 0.3},
"oracle/54-mirror-body-fillets": {"secs": 17.6, "load": 0.1},
"oracle/55-tapped-hole-cosmetic": {"secs": 29.4, "load": 0.8},
"oracle/56-holes-on-curved-face": {"secs": 721.8, "load": 12.0},
"oracle/57-hole-pattern-sketch-points": {"secs": 168.2, "load": 1.5},
"oracle/58-phone-stand": {"secs": 45.6, "load": 0.5},
"oracle/59-enclosure-base": {"secs": 274.7, "load": 3.3},
"oracle/60-pipe-flange": {"secs": 213.4, "load": 13.6},
"oracle/61-shaft-keyway": {"secs": 1938.2, "load": 11.1},
"oracle/62-heat-sink": {"secs": 54.7, "load": 0.7},
"oracle/63-hinge-knuckle": {"secs": 107.9, "load": 0.4},
"oracle/64-sketch-tangent-arc-chain": {"secs": 36.5, "load": 0.0},
"oracle/65-sketch-gear-tooth": {"secs": 18.7, "load": 0.0},
"oracle/66-sketch-linkage": {"secs": 24.2, "load": 0.0},
"oracle/67-sm-base-flange": {"secs": 11.4, "load": 0.0},
"oracle/68-sm-edge-flange": {"secs": 261.8, "load": 0.0},
"oracle/69-sm-tray": {"secs": 1449.7, "load": 0.1},
"oracle/70-sm-flange-45": {"secs": 194.4, "load": 0.0},
"oracle/71-sm-custom-rule": {"secs": 200.7, "load": 0.0},
"oracle/72-sm-contour-flange": {"secs": 63.6, "load": 0.0},
"oracle/73-sm-hem": {"secs": 465.7, "load": 0.0},
"oracle/74-sm-unfold-refold": {"secs": 205.2, "load": 0.0},
"oracle/75-sm-bracket-holes": {"secs": 672.8, "load": 0.7},
"oracle/76-sm-thickness-variant": {"secs": 171.0, "load": 0.1},
"oracle/77-fillet-variable-linear": {"secs": 5.6, "load": 0.0},
"oracle/78-fillet-variable-to-zero": {"secs": 8.6, "load": 0.0},
"oracle/79-fillet-chord-length": {"secs": 5.7, "load": 0.0},
"oracle/80-fillet-taper-to-fit": {"secs": 25.5, "load": 0.0},
"oracle/81-fillet-spline-radius": {"secs": 82.2, "load": 0.0},
"oracle/82-thin-extrude-frame": {"secs": 4.2, "load": 0.0},
"regressions/blind_hole_in_long_d_profile": {"secs": 54.3, "load": 0.3},
"regressions/join_struts_on_bore_wall": {"secs": 333.4, "load": 0.7},
"regressions/lid_ribs_flush_with_window": {"secs": 234.8, "load": 0.7},
"regressions/loft_cut_beside_round_hole": {"secs": 79.4, "load": 0.3},
"regressions/oblique_cut_of_cylinder": {"secs": 162.2, "load": 0.1},
"regressions/oblique_cut_of_cylinder_hang": {"secs": 244.9, "load": 0.4},
"regressions/partial_face_contact_pattern": {"secs": 269.4, "load": 1.7},
"regressions/ring_cut_below_recess_thin_floor": {"secs": 7.4, "load": 0.1},
"regressions/shallow_loft_cut_from_top_face": {"secs": 40.8, "load": 1.3},
"typical/filleted-shelled-box": {"secs": 43.4, "load": 0.4},
"typical/holes-pattern-chamfer": {"secs": 525.7, "load": 3.1},
"typical/loft": {"secs": 69.9, "load": 0.3},
"typical/multi-body-join-cut": {"secs": 39.1, "load": 0.1},
"typical/revolved-part": {"secs": 12.1, "load": 0.0},
"typical/sheet-metal-bracket": {"secs": 140.1, "load": 0.8},
"typical/stacked-extrude": {"secs": 37.1, "load": 0.5},
"typical/sweep": {"secs": 57.9, "load": 0.0},
"typical/up-down-join": {"secs": 4.9, "load": 0.0}
"oracle/02-cylinder": {"secs": 2.8, "load": 0.0},
"oracle/03-box-through-hole": {"secs": 26.0, "load": 0.1},
"oracle/04-revolve-vase": {"secs": 8.3, "load": 0.0},
"oracle/05-taper-extrude": {"secs": 7.9, "load": 0.0},
"oracle/06-symmetric-extrude": {"secs": 1.0, "load": 0.0},
"oracle/07-fillet-all-edges": {"secs": 52.7, "load": 0.2},
"oracle/08-chamfer": {"secs": 8.0, "load": 0.0},
"oracle/09-shell": {"secs": 2.1, "load": 0.0},
"oracle/10-rect-pattern-holes": {"secs": 128.9, "load": 0.4},
"oracle/11-circular-pattern-flange": {"secs": 38.6, "load": 0.4},
"oracle/12-mirror-feature": {"secs": 31.0, "load": 0.2},
"oracle/13-combine-join": {"secs": 29.0, "load": 0.1},
"oracle/14-combine-cut": {"secs": 81.9, "load": 1.3},
"oracle/15-combine-intersect": {"secs": 32.4, "load": 8.5},
"oracle/16-sweep": {"secs": 40.2, "load": 0.1},
"oracle/17-loft": {"secs": 27.4, "load": 0.0},
"oracle/18-hole-features": {"secs": 123.5, "load": 2.3},
"oracle/19-l-bracket-constrained": {"secs": 1.9, "load": 0.0},
"oracle/20-slot-constrained": {"secs": 5.9, "load": 0.0},
"oracle/21-draft": {"secs": 6.0, "load": 0.0},
"oracle/22-split-body": {"secs": 471.5, "load": 5.4},
"oracle/23-bracket-multifeature": {"secs": 123.4, "load": 3.2},
"oracle/24-user-parameters": {"secs": 15.4, "load": 0.0},
"oracle/25-sketch-triangle": {"secs": 5.1, "load": 0.0},
"oracle/26-sketch-belt": {"secs": 11.2, "load": 0.1},
"oracle/27-sketch-trapezoid": {"secs": 24.1, "load": 0.0},
"oracle/28-blind-pocket-fillets": {"secs": 227.5, "load": 0.3},
"oracle/29-two-sided-and-partial-revolve": {"secs": 40.9, "load": 1.6},
"oracle/30-fillet-after-shell": {"secs": 203.5, "load": 1.7},
"oracle/31-fillet-l-all-edges": {"secs": 112.2, "load": 1.8},
"oracle/32-boss-plate-fillets": {"secs": 217.7, "load": 1.3},
"oracle/33-fillet-tangent-chain": {"secs": 107.5, "load": 0.5},
"oracle/34-chamfer-then-fillet": {"secs": 54.2, "load": 0.3},
"oracle/35-fillet-curved-curved": {"secs": 43.4, "load": 22.0},
"oracle/36-corner-blend-two-radii": {"secs": 21.7, "load": 0.1},
"oracle/37-pyramid-apex-blend": {"secs": 23.8, "load": 0.1},
"oracle/38-coincident-cylinders": {"secs": 1.9, "load": 0.6},
"oracle/39-tee-pipe": {"secs": 909.4, "load": 68.7},
"oracle/40-box-sphere-torus": {"secs": 297.8, "load": 7.4},
"oracle/41-tube-radial-holes": {"secs": 20507.9, "load": 131.1},
"oracle/42-overlapping-patterns": {"secs": 1191.8, "load": 1.2},
"oracle/43-cut-splits-body": {"secs": 4.4, "load": 0.0},
"oracle/44-shell-l-bracket": {"secs": 3.2, "load": 0.0},
"oracle/45-shell-boss-plate": {"secs": 59.2, "load": 0.5},
"oracle/46-shell-two-open-faces": {"secs": 3.0, "load": 0.1},
"oracle/47-draft-curved-pocket": {"secs": 43.4, "load": 0.2},
"oracle/48-pulley": {"secs": 76.3, "load": 0.1},
"oracle/49-helical-sweep": {"secs": 787.9, "load": 0.3},
"oracle/50-sweep-tight-bend": {"secs": 30.6, "load": 0.1},
"oracle/51-loft-rect-circle-offset": {"secs": 29.7, "load": 0.0},
"oracle/52-circular-pattern-fillet": {"secs": 231.8, "load": 14.0},
"oracle/53-path-pattern": {"secs": 79.4, "load": 0.5},
"oracle/54-mirror-body-fillets": {"secs": 23.8, "load": 0.3},
"oracle/55-tapped-hole-cosmetic": {"secs": 24.9, "load": 0.7},
"oracle/56-holes-on-curved-face": {"secs": 612.9, "load": 10.0},
"oracle/57-hole-pattern-sketch-points": {"secs": 105.0, "load": 0.9},
"oracle/58-phone-stand": {"secs": 52.4, "load": 0.3},
"oracle/59-enclosure-base": {"secs": 326.8, "load": 5.9},
"oracle/60-pipe-flange": {"secs": 302.8, "load": 27.3},
"oracle/61-shaft-keyway": {"secs": 1872.1, "load": 11.5},
"oracle/62-heat-sink": {"secs": 171.3, "load": 0.8},
"oracle/63-hinge-knuckle": {"secs": 103.1, "load": 0.2},
"oracle/64-sketch-tangent-arc-chain": {"secs": 46.0, "load": 0.1},
"oracle/65-sketch-gear-tooth": {"secs": 15.2, "load": 0.0},
"oracle/66-sketch-linkage": {"secs": 32.6, "load": 0.0},
"oracle/67-sm-base-flange": {"secs": 19.0, "load": 0.0},
"oracle/68-sm-edge-flange": {"secs": 225.6, "load": 0.0},
"oracle/69-sm-tray": {"secs": 1237.1, "load": 0.1},
"oracle/70-sm-flange-45": {"secs": 237.7, "load": 0.0},
"oracle/71-sm-custom-rule": {"secs": 190.6, "load": 0.0},
"oracle/72-sm-contour-flange": {"secs": 76.2, "load": 0.0},
"oracle/73-sm-hem": {"secs": 291.1, "load": 0.1},
"oracle/74-sm-unfold-refold": {"secs": 265.0, "load": 0.0},
"oracle/75-sm-bracket-holes": {"secs": 560.8, "load": 0.9},
"oracle/76-sm-thickness-variant": {"secs": 185.2, "load": 0.0},
"oracle/77-fillet-variable-linear": {"secs": 18.3, "load": 0.0},
"oracle/78-fillet-variable-to-zero": {"secs": 15.1, "load": 0.1},
"oracle/79-fillet-chord-length": {"secs": 7.2, "load": 0.1},
"oracle/80-fillet-taper-to-fit": {"secs": 46.9, "load": 0.0},
"oracle/81-fillet-spline-radius": {"secs": 71.1, "load": 0.0},
"oracle/82-thin-extrude-frame": {"secs": 1.7, "load": 0.0},
"regressions/blind_hole_in_long_d_profile": {"secs": 64.3, "load": 0.2},
"regressions/join_struts_on_bore_wall": {"secs": 334.4, "load": 0.8},
"regressions/lid_ribs_flush_with_window": {"secs": 714.4, "load": 1.6},
"regressions/lip_swept_flush_round_corner": {"secs": 164.4, "load": 0.9},
"regressions/loft_cut_beside_round_hole": {"secs": 101.9, "load": 0.2},
"regressions/oblique_cut_of_cylinder": {"secs": 228.8, "load": 0.2},
"regressions/oblique_cut_of_cylinder_hang": {"secs": 264.7, "load": 0.2},
"regressions/partial_face_contact_pattern": {"secs": 173.3, "load": 1.1},
"regressions/ring_cut_below_recess_thin_floor": {"secs": 7.9, "load": 0.0},
"regressions/shallow_loft_cut_from_top_face": {"secs": 75.1, "load": 1.5},
"typical/filleted-shelled-box": {"secs": 27.9, "load": 0.1},
"typical/holes-pattern-chamfer": {"secs": 632.5, "load": 6.0},
"typical/loft": {"secs": 111.2, "load": 0.4},
"typical/multi-body-join-cut": {"secs": 50.7, "load": 0.2},
"typical/revolved-part": {"secs": 16.2, "load": 0.0},
"typical/sheet-metal-bracket": {"secs": 116.6, "load": 0.5},
"typical/stacked-extrude": {"secs": 36.5, "load": 0.4},
"typical/sweep": {"secs": 30.1, "load": 0.0},
"typical/up-down-join": {"secs": 4.0, "load": 0.0}
}
}