Compare commits

..

2 Commits

Author SHA1 Message Date
bherbruck 4b1971b584 Preferences search tests: put the right-to-left test's doc comment back on its test
The comment describing the right-to-left label search (#10471) had ended up above the layout test added in #10638. Test-only comment move, nothing the user sees changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 17:15:35 -05:00
jyviko e12afd11cc Ellipse and spline extrudes make one wall; coplanar faces never lose their names to a budget (#11687)
* Planar sources: decide coplanar faces by support group, no budgets that drop sources

map_planar_sources kept two budgets, `metadata` (2 MB) and `identity_bytes`
(16 MB), charged by each face's source descriptor and by every extra
candidate on its plane. When one ran out, faces silently lost their source
and with it their persistent name: a 300-hole plate whose top a comb of
grooves cuts into 62 strips lost the cap source from strip ~47 on.

The budgets bounded the real cost: each result face looked at every
candidate on its plane, faces x candidates when many faces are coplanar.
The candidates are now grouped by support once (`same_support` against
each group's first plane, through the existing PlaneIndex), each group's
chosen source, ambiguity and inner flag decided once, and the faces
without a role together with the competing tool faces grouped the same
way. Each result face then looks up its plane's few groups. The decision
is the old one: blocked by an unknown or competing support, else the
first candidate on the plane unless another candidate there has a
different plane, source or role.

Work: grouping looks at each candidate's index window once per group
(each candidate is assigned on its group's first look), and each face
looks at the group representatives near its plane, so the planes looked
at grow with faces + candidates. A counter (`looked`) checks it: n
pieces of one cap and n faces on its plane take exactly 2n looks (n*n
before), 3n with n blocking supports.

Tests: the holed plate keeps the cap source on all 62 strips and the
bottom (fails on the old code: face 352 lost its source); the existing
planar source tests pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ

* Extrude: an ellipse or a spline sketch curve sweeps one wall

An extruded ellipse had four side faces (`F2:side:e1#1` to `#4`), one
per conic quarter, and a spline one per span: the profile holds such a
curve as several exact segments and SMLib got each as its own curve.

The Extrude feature's builder (`extrude_whole_sides`) now takes a
`one_curve` test from the caller. Each run of free-form segments of one
degree that it says are one curve goes to SMLib as one B-spline: the
Béziers' control points in a row, knots repeated the degree times at
each joint, each span as long as keeps the speed through the joint the
same (so the curve is C1 there and SMLib makes one face over it, as it
would not over a C0 parametrisation), weights scaled to meet. Exact: the
same curve, reparametrised. A loop starts at a run's start, so no run
wraps round it. The wall's history lists every piece, and its
construction source is its first piece's (as joined collinear lines).

The document says which segments are one curve: ExactSketchCurves now
also holds each free-form sketch curve's exact segments
(`find_free_form`: a segment that is one of them, either way round), and
the profile roles use it, so the wall is named `side:<curve>` from its
history rather than by the curve nearest its mesh centre.

Saved designs rebuild with these walls renamed (`F2:side:e1#k` ->
`F2:side:e1`); accepted, no alias kept.

Tests: kernel `pieces_of_one_curve_extrude_into_one_wall` (an ellipse in
four conics is 3 faces, its volume pi a b h to 1e-6, the wall generated by
all four pieces; a 3-span spline closed by lines is one wall; the same
solid as a face per piece); doc
`an_extruded_ellipse_or_spline_is_one_wall_named_by_its_curve` (one
`F2:side:e1`, no piece names, the same names on a second build and after
reopening).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ

* Tests: a tray's far rim name is checked on the exact B-rep face

The tray test took the point `sheet:...:rim.far` finds as right when it
lay within 1e-3 mm of the strip z = 30, 199 <= y <= 200: a slack sized to
the mesh. It now asserts on the face the name finds, on exact geometry:
the point's distance to that face's surface (FaceSurface::nearest) is
within rounding at the part's scale (1e-12 x its size), and the point is
inside the face's boundary, counted by crossings of its record edges
(each asserted to be a line, the rim being planar).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ

* Tests: delete tests/naming/, the records no test reads since the naming corpus stopped comparing against them

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ

* Viewport test: smooth wall joins drawn from eight G2 spline walls

The PR extrudes each spline or ellipse sketch curve as one wall, so the
offset-ellipse ring the test built has no joins between faces any more.
The test now extrudes a circle drawn as eight cubic splines: eight walls
meeting with one curvature along eight upright edges (24 edges in all).
It still checks that those joins are left out of the shaded view, drawn
in the wireframe and selectable as edges.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ

* Kernel ladder: 009 and 012 record the one-wall extrude (an extruded spline or ellipse sweeps one wall)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ

---------

Co-authored-by: jyviko <2501648+jyviko@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 21:27:14 +00:00
169 changed files with 612 additions and 13603 deletions
+25 -2
View File
@@ -393,6 +393,8 @@ pub(crate) struct ExactSketchCurves<'a> {
/// Each analytic curve's id, whether it is projected (linked) reference geometry, and its
/// segments.
segments: Vec<(&'a str, bool, Vec<Seg2>)>,
/// Each free-form curve's id (ellipses, conics, splines) and its exact segments.
free_form: Vec<(&'a str, Vec<Seg2>)>,
}
impl<'a> ExactSketchCurves<'a> {
@@ -400,10 +402,17 @@ impl<'a> ExactSketchCurves<'a> {
/// and segment allocation must not be repeated for every generated face.
pub(crate) fn new(sketch: &'a SolvedSketch) -> Self {
let mut segments = Vec::new();
let mut free_form = Vec::new();
if sketch.sketch.curves.len() > 2000 {
return Self { segments };
return Self { segments, free_form };
}
for (index, curve) in sketch.sketch.curves.iter().enumerate() {
if !curve.construction
&& let Some(exact) = sketch.sketch.exact_segs(index)
{
free_form.push((curve.id.as_str(), exact));
continue;
}
if curve.construction
|| !matches!(
curve.kind,
@@ -425,7 +434,21 @@ impl<'a> ExactSketchCurves<'a> {
};
segments.push((curve.id.as_str(), curve.link.is_some(), originals));
}
Self { segments }
Self { segments, free_form }
}
/// The one free-form sketch curve (an ellipse, conic or spline) a generated segment is a
/// whole piece of, either way round: one of the exact segments the curve is made of. A
/// segment two curves share stays ambiguous.
pub(crate) fn find_free_form(&self, generated: &Seg2) -> Option<String> {
let reversed = generated.reversed();
let mut found: Option<Option<&str>> = None;
for (id, originals) in &self.free_form {
if originals.iter().any(|original| *original == *generated || *original == reversed) {
found = Some(if found.is_some() { None } else { Some(*id) });
}
}
found.flatten().map(str::to_owned)
}
/// The one sketch curve a generated segment lies on. A curve drawn over projected
+7 -2
View File
@@ -4820,8 +4820,13 @@ fn centered_extrude(
};
// Fit cap surfaces in their own coordinates. Fitting a distant world-space
// wire can tilt an otherwise exact planar cap through numeric cancellation.
// A side drawn in collinear pieces is one face (#1788).
let bodies = kernel::extrude_whole_sides(&Plane::XY, std::slice::from_ref(region), start, end)?;
// A side drawn in collinear pieces is one face (#1788), and so is a side along one ellipse
// or spline, whatever pieces the profile holds it in.
let curves = sketch.map(crate::config::ExactSketchCurves::new);
let one_curve = |s: &solidcore_record::Seg2, t: &solidcore_record::Seg2| {
curves.as_ref().is_some_and(|c| c.find_free_form(s).is_some_and(|id| c.find_free_form(t).is_some_and(|other| other == id)))
};
let bodies = kernel::extrude_whole_sides(&Plane::XY, std::slice::from_ref(region), start, end, &one_curve)?;
if *plane == Plane::XY {
return Ok(bodies.into_iter().map(|body| roles.tool(body, None)).collect());
}
+4 -1
View File
@@ -239,7 +239,10 @@ impl<'a> ProfileRoles<'a> {
// Every curve the segment is drawn on (one, or several coincident or collinear ones).
let curve = |segment: usize| -> Vec<String> {
let (Some(curves), Some(segment)) = (curves.as_ref(), segments.get(segment)) else { return Vec::new() };
let drawn: Vec<String> = curves.find_all_along(segment).into_iter().map(|id| format!("side:{id}")).collect();
let mut drawn: Vec<String> = curves.find_all_along(segment).into_iter().map(|id| format!("side:{id}")).collect();
if drawn.is_empty() {
drawn.extend(curves.find_free_form(segment).map(|id| format!("side:{id}")));
}
match self.thin {
// A thin wall's side beside its curve (the other side may lie on it).
Some(thin) if drawn.is_empty() => curves.find_offset(segment, &thin.curves, thin.distances),
+65
View File
@@ -1056,3 +1056,68 @@ fn feature_kind_key_and_type_name_mappings() {
assert_eq!(FeatureKind::type_name_to_kind_key("MeshFeature"), Some("mesh_import"));
assert_eq!(FeatureKind::type_name_to_kind_key("NonExistent"), None);
}
/// An extruded ellipse has one side face, and a spline in a profile one wall, each named by its
/// sketch curve alone (no piece number): the same names on a second build and after reopening.
#[test]
fn an_extruded_ellipse_or_spline_is_one_wall_named_by_its_curve() {
let extrude = |sketch: u64| FeatureKind::Extrude {
thin: None,
sketch: crate::SketchId(sketch),
profiles: ProfileSel::All,
extent: Extent {
convention: crate::ExtrudeConvention::LegacyPerSide,
distance: "20".into(),
direction: Direction::Positive,
distance2: None,
start_offset: None,
through_all: false,
taper: None,
corner: Default::default(),
to: None,
to_offset: None,
from: None,
to_body_apart: false,
},
operation: Operation::NewBody,
targets: vec![],
};
for spline in [false, true] {
let mut sk = Sketch::new();
let curve = if spline {
let pts: Vec<usize> =
[(0., 0.), (10., -3.), (20., 4.), (30., 0.)].iter().map(|&(x, y)| sk.add_point(Vec2::new(x, y), None).unwrap()).collect();
let (a, b) = (sk.add_point(Vec2::new(30., 20.), None).unwrap(), sk.add_point(Vec2::new(0., 20.), None).unwrap());
let curve = sk
.add_curve(solidcraft_sketch::CurveKind::Spline { pts: pts.clone(), control: false, degree: 3, periodic: false, nurbs: None }, None)
.unwrap();
sk.add_line_pts(pts[3], a, None).unwrap();
sk.add_line_pts(a, b, None).unwrap();
sk.add_line_pts(b, pts[0], None).unwrap();
curve
} else {
let m = sk.add_point(Vec2::new(10., 0.), None).unwrap();
sk.add_curve(solidcraft_sketch::CurveKind::Ellipse { c: 0, m, r: 5. }, None).unwrap()
};
let id = sk.curves[curve].id.clone();
let mut doc = Document::new("one wall");
let s = doc.add_feature(FeatureKind::Sketch { plane: PlaneRef::Origin { name: "XY".into() }, sketch: sk }, None).unwrap();
let f = doc.add_feature(extrude(s), None).unwrap();
let names = |doc: &Document| {
let mut m = Model::new();
m.evaluate(doc);
assert!(m.results.iter().all(|r| r.error.is_none()), "{:?}", m.results);
let st = m.state();
let mut names = crate::naming::face_names(&st.bodies[0]).as_ref().clone();
names.sort();
names
};
let first = names(&doc);
let wall = format!("F{f}:side:{id}");
assert_eq!(first.iter().filter(|n| **n == wall).count(), 1, "{first:?}");
assert_eq!(first.len(), if spline { 6 } else { 3 }, "{first:?}");
assert!(first.iter().all(|n| !n.contains('#')), "no piece names: {first:?}");
assert_eq!(names(&doc), first, "a second build");
assert_eq!(names(&Document::from_json(&doc.to_json()).unwrap()), first, "reopened");
}
}
@@ -98,8 +98,53 @@ fn a_trays_faces_have_readable_sheet_names_that_follow_its_size() {
assert_eq!(again, names);
let right = point(&s, &format!("sheet:Body1:F{sd}.1:top"));
assert!((right.x - 399.0).abs() < 1e-3, "{right:?}");
let far = point(&s, &format!("sheet:Body1:F{fb}.1:rim.far"));
assert!((199.0 - 1e-3..=200.0 + 1e-3).contains(&far.y) && (0.0..=400.0).contains(&far.x) && (far.z - 30.0).abs() < 1e-3, "{far:?}");
let rim = format!("sheet:Body1:F{fb}.1:rim.far");
let far = point(&s, &rim);
let st = s.model.state();
let hit = solidcraft_doc::naming::locate_one(&st, None, &rim).unwrap();
on_planar_face(&st.bodies[hit.body].body, hit.face, far);
assert!((far.z - 30.0).abs() < 1e-9 && (199.0..=200.0).contains(&far.y), "the back flange's far rim: {far:?}");
}
/// `p` lies on face `face` of `body`, on its exact geometry: within rounding at the part's scale
/// of the plane the face lies on, and inside the boundary its edges trace there (each a line,
/// counted by crossings).
fn on_planar_face(body: &solidcraft_kernel::Body, face: usize, p: Vec3) {
use solidcore_record::brep::{Curve, Loop};
let rounding = 1e-12 * body.size().max(1.0);
let surface = solidcraft_kernel::face_surface(body, face).unwrap();
let on = surface.nearest(p).unwrap();
assert!(on.dist(p) <= rounding, "{p:?} is {} off face {face}'s surface", on.dist(p));
let solidcraft_kernel::FaceSurface::Plane { normal, .. } = surface else { panic!("face {face} is not planar: {surface:?}") };
// Coordinates in the plane: along `x` and `y`, square to its normal.
let x = if normal.cross(Vec3::X).len() > 0.5 { normal.cross(Vec3::X).normalized().unwrap() } else { normal.cross(Vec3::Y).normalized().unwrap() };
let y = normal.cross(x);
let local = |q: Vec3| ((q - p).dot(x), (q - p).dot(y));
let record = body.record();
let point = |v: u32| {
let q = record.vertices[v as usize].point;
Vec3::new(q[0], q[1], q[2])
};
// Crossings of the ray from `p` along +x with the face's boundary.
let mut crossings = 0;
for l in &record.faces[face].loops {
let Loop::Edges { edges } = l else { continue };
for e in edges {
let edge = &record.edges[e.edge as usize];
assert!(matches!(edge.parameters(), Curve::Line { .. }), "an edge of face {face} is not a line: {:?}", edge.parameters());
let [a, b] = edge.vertices.map(|v| local(point(v)));
let distance = {
let (dx, dy) = (b.0 - a.0, b.1 - a.1);
let t = (-(a.0 * dx + a.1 * dy) / (dx * dx + dy * dy)).clamp(0.0, 1.0);
(a.0 + t * dx).hypot(a.1 + t * dy)
};
assert!(distance > rounding, "{p:?} is on the boundary of face {face}");
if (a.1 > 0.0) != (b.1 > 0.0) && a.0 + (b.0 - a.0) * (0.0 - a.1) / (b.1 - a.1) > 0.0 {
crossings += 1;
}
}
}
assert_eq!(crossings % 2, 1, "{p:?} is outside face {face}'s boundary");
}
#[test]
+37 -7
View File
@@ -68,20 +68,32 @@ pub(crate) fn frame_ok(plane: &Plane) -> bool {
/// Extrude each region from `start` to `end` along the plane normal (offsets in mm, `end > start`).
pub fn extrude(plane: &Plane, regions: &[Region2], start: f64, end: f64) -> Result<Vec<Body>> {
let _span = solidcraft_profile::span("kernel", "extrude");
extrude_with(plane, regions, start, end, false)
extrude_with(plane, regions, start, end, None)
}
/// [`extrude`] with each run of profile lines that continue one another in a straight line (a side
/// drawn in two pieces, a mirrored half meeting its mirror image) swept into one side face over
/// all its pieces, rather than coplanar faces with an edge between them (#1788). The side's
/// all its pieces, rather than coplanar faces with an edge between them (#1788), and each run of
/// free-form segments (conics, Béziers) that `one_curve` says are pieces of one curve (an
/// ellipse's four quarters, a spline's spans) swept as that one curve into one wall. The side's
/// history lists every piece under it. For the Extrude feature; other builders (sheet metal's
/// flat pattern, tools) keep a face per segment.
pub fn extrude_whole_sides(plane: &Plane, regions: &[Region2], start: f64, end: f64) -> Result<Vec<Body>> {
pub fn extrude_whole_sides(plane: &Plane, regions: &[Region2], start: f64, end: f64, one_curve: &dyn Fn(&Seg2, &Seg2) -> bool) -> Result<Vec<Body>> {
let _span = solidcraft_profile::span("kernel", "extrude_whole_sides");
extrude_with(plane, regions, start, end, true)
extrude_with(plane, regions, start, end, Some(one_curve))
}
fn extrude_with(plane: &Plane, regions: &[Region2], start: f64, end: f64, whole_sides: bool) -> Result<Vec<Body>> {
/// The degree of a free-form segment (a conic or a Bézier), none for a line or an arc.
fn free_form_degree(s: &Seg2) -> Option<u8> {
match *s {
Seg2::Conic { .. } => Some(2),
Seg2::Cubic { .. } => Some(3),
Seg2::Bezier { n, .. } => Some(n),
Seg2::Line { .. } | Seg2::Arc { .. } => None,
}
}
fn extrude_with(plane: &Plane, regions: &[Region2], start: f64, end: f64, one_curve: Option<&dyn Fn(&Seg2, &Seg2) -> bool>) -> Result<Vec<Body>> {
if !frame_ok(plane) {
return Err(KernelError::Invalid("extrude frame is not finite and orthonormal".into()));
}
@@ -98,8 +110,26 @@ fn extrude_with(plane: &Plane, regions: &[Region2], start: f64, end: f64, whole_
.map(|r| {
region_ok(r)?;
let pieces = oriented(r)?;
let numbered = if whole_sides { pieces.map_loops(|l| l.merged_lines(continues_straight)) } else { pieces.clone() };
crate::smlib_sweeps::extrude(plane, &crate::smlib_sweeps::region_pieces(&numbered, &pieces), Some(r), lo, hi - lo, 1.0, None)
let Some(one_curve) = one_curve else {
return crate::smlib_sweeps::extrude(plane, &crate::smlib_sweeps::region_pieces(&pieces, &pieces), Some(r), lo, hi - lo, 1.0, None);
};
// Pieces of one curve: free-form segments of one degree that the caller says are one
// curve. Each loop starts where such a run starts, so no run wraps round its end.
let joins = |s: &Seg2, t: &Seg2| free_form_degree(s).is_some_and(|d| free_form_degree(t) == Some(d)) && one_curve(s, t);
let numbered = pieces.map_loops(|l| l.merged_lines(continues_straight).starting_a_run(joins));
let mut swept = crate::smlib_sweeps::region_pieces(&numbered, &pieces);
let mut k = 0;
for l in numbered.loops() {
for i in 1..l.lp.segs.len() {
if let (Some(s), Some(t)) = (l.lp.segs.get(i - 1), l.lp.segs.get(i))
&& let Some(x) = swept.get_mut(k + i)
{
x.joins_previous = joins(s, t);
}
}
k += l.lp.segs.len();
}
crate::smlib_sweeps::extrude(plane, &swept, Some(r), lo, hi - lo, 1.0, None)
})
.collect()
}
+67 -2
View File
@@ -256,7 +256,7 @@ fn collinear_profile_lines_extrude_into_one_side_face() {
let region = Region2 { outer: Loop2::polygon(&pts), holes: vec![] };
// Plain `extrude` keeps a face per segment (sheet metal's flat pattern relies on it).
assert_eq!(crate::extrude(&Plane::XY, std::slice::from_ref(&region), 0.0, 5.0).unwrap()[0].face_count(), 7);
let body = crate::extrude_whole_sides(&Plane::XY, &[region], 0.0, 5.0).unwrap().pop().unwrap();
let body = crate::extrude_whole_sides(&Plane::XY, &[region], 0.0, 5.0, &|_, _| false).unwrap().pop().unwrap();
assert_eq!(body.face_count(), 6, "a box has six faces");
assert!((crate::measure(&body).unwrap().volume - 1000.0).abs() < 1e-9);
let h = body.history().unwrap();
@@ -276,10 +276,75 @@ fn collinear_profile_lines_extrude_into_one_side_face() {
);
// A corner is not a straight run: an L-shaped step keeps its faces.
let step = [(0.0, 0.0), (10.0, 0.0), (10.0, 5.0), (20.0, 5.0), (20.0, 10.0), (0.0, 10.0)].map(|(x, y)| Vec2::new(x, y));
let body = crate::extrude_whole_sides(&Plane::XY, &[Region2 { outer: Loop2::polygon(&step), holes: vec![] }], 0.0, 5.0).unwrap().pop().unwrap();
let body = crate::extrude_whole_sides(&Plane::XY, &[Region2 { outer: Loop2::polygon(&step), holes: vec![] }], 0.0, 5.0, &|_, _| false)
.unwrap()
.pop()
.unwrap();
assert_eq!(body.face_count(), 8);
}
/// The pieces of one ellipse (four conic quarters) or one spline (its cubic spans) that the
/// caller calls one curve sweep into one wall generated by all of them, the same solid as a face
/// per piece: the ellipse's volume is π a b h. Pieces not called one curve keep a face each.
#[test]
fn pieces_of_one_curve_extrude_into_one_wall() {
use solidcore_record::{Loop2, Plane, Region2, Seg2, Vec2};
let v = Vec2::new;
let (c, u, w) = (v(1.0, 2.0), v(10.0, 0.0), v(0.0, 5.0));
let corners = [c + u, c + w, c - u, c - w];
let ellipse: Vec<Seg2> = (0..4)
.map(|i| {
let (a, b) = (corners[i], corners[(i + 1) % 4]);
Seg2::Conic { a, apex: a + b - c, b, w: std::f64::consts::FRAC_1_SQRT_2 }
})
.collect();
// A cubic spline's three spans (C2 at its joints, on unequal knot spans), closed by lines.
let spline = vec![
Seg2::Cubic {
p0: v(0.0, 0.0),
p1: v(3.478154619431441, -1.9606112245268097),
p2: v(6.956309238862882, -3.921222449053619),
p3: v(10.0, -3.0),
},
Seg2::Cubic {
p0: v(10.0, -3.0),
p1: v(13.55861013478923, -1.9229288384169465),
p2: v(16.52332013301099, 3.0935296384274267),
p3: v(20.0, 4.0),
},
Seg2::Cubic {
p0: v(20.0, 4.0),
p1: v(23.067612954017893, 4.799814860722723),
p2: v(26.533806477008945, 2.3999074303613614),
p3: v(30.0, 0.0),
},
Seg2::Line { a: v(30.0, 0.0), b: v(30.0, 20.0) },
Seg2::Line { a: v(30.0, 20.0), b: v(0.0, 20.0) },
Seg2::Line { a: v(0.0, 20.0), b: v(0.0, 0.0) },
];
for (segs, walls, pieces) in [(ellipse, 1, 4), (spline, 4, 3)] {
let region = Region2 { outer: Loop2 { segs }, holes: vec![] };
let apart = crate::extrude_whole_sides(&Plane::XY, std::slice::from_ref(&region), 0.0, 7.0, &|_, _| false).unwrap().remove(0);
let body = crate::extrude_whole_sides(&Plane::XY, std::slice::from_ref(&region), 0.0, 7.0, &|_, _| true).unwrap().remove(0);
assert_eq!(apart.face_count(), 2 + walls - 1 + pieces, "a face per piece when they are not one curve");
assert_eq!(body.face_count(), 2 + walls, "one wall over the curve's pieces");
let (joined, each) = (crate::measure(&body).unwrap().volume, crate::measure(&apart).unwrap().volume);
assert!((joined - each).abs() < 1e-9 * each, "{joined} vs {each}");
let h = body.history().unwrap();
h.check(&body, &[]).unwrap();
let curved: Vec<Vec<FaceOrigin>> = h.faces.iter().map(|f| f.origins.clone()).filter(|o| o.len() > 1).collect();
assert_eq!(curved.len(), 1, "{:?}", h.faces);
let mut segments: Vec<usize> =
curved[0].iter().filter_map(|o| if let FaceOrigin::Profile { segment } = o { Some(*segment) } else { None }).collect();
segments.sort();
assert_eq!(segments, (0..pieces).collect::<Vec<_>>(), "the wall is generated by every piece of the curve");
if walls == 1 {
let exact = std::f64::consts::PI * 10.0 * 5.0 * 7.0;
assert!((joined - exact).abs() < 1e-6 * exact, "{joined} vs π a b h = {exact}");
}
}
}
/// A tapered extrude joins a side drawn in collinear pieces as the straight extrude does
/// (#1788): one sloped face generated by both pieces, and the same solid as a side in one piece.
#[test]
+13
View File
@@ -152,6 +152,19 @@ impl NumberedLoop {
out
}
/// The same loop started at a segment `joins` does not join to the one before it, so no run of
/// joined segments wraps round the loop's end (as it is when every segment joins the next).
pub(crate) fn starting_a_run(&self, joins: impl Fn(&Seg2, &Seg2) -> bool) -> NumberedLoop {
let segs = &self.lp.segs;
let n = segs.len();
let joined = |i: usize| matches!((segs.get((i + n - 1) % n), segs.get(i)), (Some(s), Some(t)) if joins(s, t));
let mut out = self.clone();
if let Some(k) = (0..n).find(|&i| !joined(i)) {
out.rotate_left(k);
}
out
}
/// Split segment `k` in half, both halves over what it ran over.
fn split_half(&mut self, k: usize) {
if k >= self.lp.segs.len() || k >= self.from.len() {
+218 -79
View File
@@ -172,6 +172,119 @@ pub(super) fn same_support(a: &Plane, b: &Plane, at: Resolution) -> bool {
&& (a.origin - b.origin).dot(nb).abs() <= at.linear
}
/// A source a face on its plane can take: the plane it names (for a shell's inner role, the
/// source's plane moved in and turned round), the source, and whether it is that inner role.
#[derive(Clone, Copy, Debug, PartialEq)]
struct Candidate<'a> {
plane: Plane,
source: &'a FaceSource,
inner: bool,
}
/// What a mapping's inputs say of one plane of its result.
#[derive(Debug, PartialEq)]
enum Support<'a> {
/// A face without a role, or a competing tool face, lies on the plane.
Blocked,
/// Every candidate on the plane is one source, plane and role: the pieces of one logical face.
Source(Candidate<'a>),
/// No candidate lies on the plane, or candidates of distinct identities do.
Unnamed,
}
/// Planes partitioned into supports, in their order: a plane starts a group unless it is one
/// support (`same_support`) with the first plane of an earlier group, which it then joins. Returns
/// each plane's group and each group's first plane; `looked` counts the planes looked at.
fn group_supports(planes: &[Plane], at: Resolution, looked: &mut usize) -> (Vec<usize>, Vec<usize>) {
let index = PlaneIndex::new(planes.iter(), at);
let mut group: Vec<Option<usize>> = vec![None; planes.len()];
let mut first = Vec::new();
for (i, plane) in planes.iter().enumerate() {
if group.get(i).is_some_and(Option::is_some) {
continue;
}
let g = first.len();
first.push(i);
let near = index.near(plane);
*looked += near.len();
for j in near {
if let Some(slot @ None) = group.get_mut(j)
&& (j == i || planes.get(j).is_some_and(|other| same_support(plane, other, at)))
{
*slot = Some(g);
}
}
}
(group.into_iter().map(|g| g.unwrap_or(usize::MAX)).collect(), first)
}
/// The candidates and blocking planes of a mapping grouped by support once, so each result face
/// looks up its plane's few groups instead of every candidate on that plane: with many coplanar
/// faces the work grows with the faces plus the candidates, not with their product.
struct SupportDecisions<'a> {
/// Each candidate group's first plane, and its decision: its first candidate, or none when
/// the group holds candidates of distinct identities.
groups: Vec<(Plane, Option<Candidate<'a>>)>,
group_index: PlaneIndex,
/// The first plane of each group of the faces without a role and the competing tool faces.
blocking: Vec<Plane>,
blocking_index: PlaneIndex,
at: Resolution,
/// The planes looked at, building the groups and deciding faces.
looked: usize,
}
impl<'a> SupportDecisions<'a> {
/// `candidates` in the order that decides between them.
fn new(candidates: &[Candidate<'a>], unknown: &[Plane], competing: &[Plane], at: Resolution) -> Self {
let mut looked = 0;
let planes: Vec<Plane> = candidates.iter().map(|c| c.plane).collect();
let (group, first) = group_supports(&planes, at, &mut looked);
let mut groups: Vec<(Plane, Option<Candidate<'a>>)> = first.iter().filter_map(|&i| candidates.get(i)).map(|c| (c.plane, Some(*c))).collect();
for (candidate, g) in candidates.iter().zip(&group) {
if let Some((_, decision)) = groups.get_mut(*g)
&& decision.is_some_and(|d| d != *candidate)
{
*decision = None;
}
}
let group_index = PlaneIndex::new(groups.iter().map(|g| &g.0), at);
let all_blocking: Vec<Plane> = unknown.iter().chain(competing).copied().collect();
let (_, first) = group_supports(&all_blocking, at, &mut looked);
let blocking: Vec<Plane> = first.iter().filter_map(|&i| all_blocking.get(i).copied()).collect();
let blocking_index = PlaneIndex::new(blocking.iter(), at);
SupportDecisions { groups, group_index, blocking, blocking_index, at, looked }
}
/// What the inputs say of a face on `actual`.
fn at(&mut self, actual: &Plane) -> Support<'a> {
let at = self.at;
let near = self.blocking_index.near(actual);
self.looked += near.len();
if near.into_iter().any(|i| self.blocking.get(i).is_some_and(|plane| same_support(plane, actual, at))) {
return Support::Blocked;
}
let mut near = self.group_index.near(actual);
self.looked += near.len();
// Groups are numbered in the candidates' order, so the first matching group's first
// candidate is the first candidate on the plane.
near.sort_unstable();
let mut chosen: Option<Candidate<'a>> = None;
for (plane, decision) in near.into_iter().filter_map(|g| self.groups.get(g)) {
if !same_support(plane, actual, at) {
continue;
}
match (chosen, decision) {
(_, None) => return Support::Unnamed,
(None, Some(d)) => chosen = Some(*d),
(Some(c), Some(d)) if c != *d => return Support::Unnamed,
_ => {}
}
}
chosen.map_or(Support::Unnamed, Support::Source)
}
}
fn base_plane(source: &FaceSource, actual: &Plane) -> Option<Plane> {
match source {
FaceSource::CertifiedExtrudeSide { plane: Some(p), .. }
@@ -339,98 +452,40 @@ impl Body {
unknown_supports.push(actual);
continue;
}
let Some(cost) = descriptor_cost(source) else {
if descriptor_cost(source).is_none() {
unknown_supports.push(actual);
continue;
};
candidates.push((plane, source, false, cost));
}
candidates.push(Candidate { plane, source, inner: false });
if let Some(t) = shell {
let inner = Plane::new(plane.origin - plane.normal() * t, plane.x, -plane.y)
.ok_or_else(|| KernelError::Invalid("invalid shell inner source plane".into()))?;
candidates.push((inner, source, true, cost));
candidates.push(Candidate { plane: inner, source, inner: true });
}
}
// The candidates are taken in the order of their normal's x: where several match one
// face, the first decides which the rest are compared with.
candidates.sort_by(|a, b| a.0.normal().x.total_cmp(&b.0.normal().x));
let unknown_index = PlaneIndex::new(unknown_supports.iter(), at);
let competing_index = PlaneIndex::new(competing.iter(), at);
let candidate_index = PlaneIndex::new(candidates.iter().map(|c| &c.0), at);
let mut metadata = 2_000_000usize;
let mut identity_bytes = 16_000_000usize;
candidates.sort_by(|a, b| a.plane.normal().x.total_cmp(&b.plane.normal().x));
let mut decide = SupportDecisions::new(&candidates, &unknown_supports, &competing, at);
let mut result = Vec::new();
for (index, actual) in actual_planes(&self)?.into_iter().enumerate() {
let mut found = None;
if let Some(actual) = actual {
let on = |planes: &[Plane], index: &PlaneIndex| {
index.near(&actual).into_iter().any(|i| planes.get(i).is_some_and(|plane| same_support(plane, &actual, at)))
};
let blocked = on(&unknown_supports, &unknown_index) || on(&competing, &competing_index);
if blocked {
let existing = self
.face_sources()
.and_then(|sources| sources.get(index))
.and_then(|s| s.as_ref())
.filter(|s| (boolean || self.face_was_coalesced(index)) && !boolean_source(s, constructed));
let keep = existing.and_then(|s| {
descriptor_cost(s).and_then(|cost| {
metadata.checked_sub(cost).map(|remaining| {
metadata = remaining;
s.clone()
})
})
});
result.push(keep);
continue;
}
let mut chosen: Option<(Plane, &FaceSource, bool, usize)> = None;
let mut near = candidate_index.near(&actual);
near.sort_unstable();
for (plane, source, inner, cost) in near.into_iter().filter_map(|i| candidates.get(i)) {
if same_support(plane, &actual, at) {
if let Some((previous_plane, previous_source, previous_inner, _)) = chosen {
let Some(remaining) = identity_bytes.checked_sub(*cost) else {
chosen = None;
break;
};
identity_bytes = remaining;
// Several current pieces of one exact source are one
// logical face; distinct source identities remain ambiguous.
if previous_plane != *plane || previous_source != *source || previous_inner != *inner {
chosen = None;
break;
}
} else {
chosen = Some((*plane, *source, *inner, *cost));
}
}
}
if let Some((plane, source, inner, cost)) = chosen
&& let Some(remaining) = metadata.checked_sub(cost)
{
metadata = remaining;
found = Some(if shell.is_some() {
FaceSource::ShellPlanar { producer: None, source: Box::new(source.clone()), inner, plane }
} else {
source.clone()
});
}
}
if found.is_none() && (boolean || self.face_was_coalesced(index)) {
found = self
.face_sources()
// A face no candidate names keeps what it had, where an operation could have left
// it a source no role describes.
let existing = || {
self.face_sources()
.and_then(|sources| sources.get(index))
.and_then(|s| s.as_ref())
.filter(|s| !boolean_source(s, constructed))
.and_then(|s| {
descriptor_cost(s).and_then(|cost| {
metadata.checked_sub(cost).map(|remaining| {
metadata = remaining;
s.clone()
})
})
});
}
.filter(|s| (boolean || self.face_was_coalesced(index)) && !boolean_source(s, constructed) && descriptor_cost(s).is_some())
.cloned()
};
let found = match actual.map(|actual| decide.at(&actual)) {
Some(Support::Source(Candidate { plane, source, inner })) => Some(if shell.is_some() {
FaceSource::ShellPlanar { producer: None, source: Box::new(source.clone()), inner, plane }
} else {
source.clone()
}),
Some(Support::Blocked | Support::Unnamed) | None => existing(),
};
result.push(found);
}
Ok(result)
@@ -574,6 +629,90 @@ mod tests {
assert!(matches > 2 * planes.len(), "the planes meet each other, not only themselves: {matches}");
}
/// Many faces on one plane are decided with work that grows with the faces plus the
/// candidates: each face looks at its plane's one group, never at every candidate on it.
#[test]
fn coplanar_faces_are_decided_by_group_in_linear_work() {
let body = box_solid(Vec3::ZERO, Vec3::new(1000., 1000., 10.)).unwrap();
let at = Resolution::of(&body);
let top = Plane::new(Vec3::new(0., 0., 10.), Vec3::X, Vec3::Y).unwrap();
let one = FaceSource::Box { producer: Some(1), axis: 2, high: true, plane: top };
let other = FaceSource::Box { producer: Some(2), axis: 2, high: true, plane: top };
for n in [100usize, 1000] {
// `n` pieces of one cap and `n` faces of the result on its plane, each a little moved
// along the plane (as a split face's pieces are).
let pieces: Vec<Plane> = (0..n).map(|k| Plane::new(Vec3::new(k as f64, 0., 10.), Vec3::X, Vec3::Y).unwrap()).collect();
let candidates: Vec<Candidate> = (0..n).map(|_| Candidate { plane: top, source: &one, inner: false }).collect();
let mut decide = SupportDecisions::new(&candidates, &[], &[], at);
for piece in &pieces {
assert_eq!(decide.at(piece), Support::Source(Candidate { plane: top, source: &one, inner: false }));
}
// One look per candidate to group them, one per face to find its group: a scan of
// every candidate per face would look n * n times.
assert_eq!(decide.looked, 2 * n);
// A second identity among the candidates leaves the plane unnamed; a face without a
// role on it blocks it.
let mut mixed = candidates.clone();
mixed[n / 2] = Candidate { plane: top, source: &other, inner: false };
assert_eq!(SupportDecisions::new(&mixed, &[], &[], at).at(&pieces[0]), Support::Unnamed);
let unknown = vec![top; n];
let mut blocked = SupportDecisions::new(&candidates, &unknown, &[], at);
assert!(pieces.iter().all(|piece| blocked.at(piece) == Support::Blocked));
assert_eq!(blocked.looked, 3 * n);
}
}
/// A plate with 300 holes whose top a comb of grooves cuts into 62 strips: every strip keeps
/// the top cap's source, every bottom face the bottom cap's, however many there are.
#[test]
fn many_coplanar_pieces_of_a_holed_plate_all_keep_their_cap_source() {
use solidcore_record::{Loop2, Region2, Vec2};
let holes: Vec<Loop2> =
(0..60).flat_map(|k| (0..5).map(move |r| Loop2::circle(Vec2::new(10. + 10. * k as f64, 5. + 10. * r as f64), 1.))).collect();
let outer = Loop2::polygon(&[Vec2::new(0., 0.), Vec2::new(610., 0.), Vec2::new(610., 50.), Vec2::new(0., 50.)]);
let region = Region2 { outer, holes };
let raw = crate::extrude(&Plane::XY, std::slice::from_ref(&region), 0., 10.).unwrap().remove(0);
let hole_ids: Vec<Vec<String>> = (0..300).map(|k| vec![format!("c{k}")]).collect();
let signatures: Vec<_> = raw
.face_sources()
.unwrap()
.iter()
.map(|s| matches!(s, Some(FaceSource::ExtrudeCap { .. })).then(|| (vec!["l1".to_string()], hole_ids.clone())))
.collect();
let plate = raw.with_extrude_cap_certificates(5, 3, &signatures).unwrap();
// A comb: 61 teeth 2 wide across the plate between the columns of holes, 2 deep.
let mut comb = vec![Vec2::new(-5., 55.), Vec2::new(-5., 60.), Vec2::new(615., 60.), Vec2::new(615., 55.)];
for k in (0..=60).rev() {
let x = 4. + 10. * k as f64;
comb.extend([Vec2::new(x + 2., 55.), Vec2::new(x + 2., -5.), Vec2::new(x, -5.), Vec2::new(x, 55.)]);
}
let comb = Region2 { outer: Loop2::polygon(&comb), holes: vec![] };
let tool = crate::extrude(&Plane::XY, std::slice::from_ref(&comb), 8., 12.).unwrap().remove(0);
let cut = crate::boolean(&plate, &tool, crate::BoolOp::Cut).unwrap().unwrap();
let sources = cut.face_sources().unwrap();
let (mut tops, mut bottoms) = (0, 0);
for (i, plane) in actual_planes(&cut).unwrap().into_iter().enumerate() {
let Some(plane) = plane else { continue };
let high = if plane.normal().dot(Vec3::Z) > 0.999999 && (plane.origin.z - 10.).abs() < 1e-9 {
true
} else if plane.normal().dot(Vec3::Z) < -0.999999 && plane.origin.z.abs() < 1e-9 {
false
} else {
continue;
};
let Some(FaceSource::CertifiedExtrudeCap { producer: 5, high: h, holes, .. }) = &sources[i] else {
panic!("face {i} on the {} cap lost its source: {:?}", if high { "top" } else { "bottom" }, sources[i]);
};
assert_eq!((*h, holes.len()), (high, 300));
if high {
tops += 1;
} else {
bottoms += 1;
}
}
assert_eq!((tops, bottoms), (62, 1));
}
#[test]
fn rounded_shell_planar_roles_are_exact_distinct_and_transformable() {
for (width, thickness) in [(80., 2.), (100., 3.)] {
+87 -4
View File
@@ -31,11 +31,17 @@ pub(crate) struct Piece {
/// The segment as drawn that names it: itself, or for collinear lines joined into one, the
/// first of them.
pub drawn: Seg2,
/// It carries on the piece before it as one curve (pieces of one ellipse or spline): SMLib
/// gets the run as one B-spline and sweeps one wall over it.
pub joins_previous: bool,
}
/// The segments of `loops` as pieces, loop after loop.
pub(crate) fn pieces<'a>(loops: impl IntoIterator<Item = &'a NumberedLoop>) -> Vec<Piece> {
loops.into_iter().flat_map(|l| l.lp.segs.iter().enumerate().map(|(i, s)| Piece { seg: *s, numbers: l.numbers(i).to_vec(), drawn: *s })).collect()
loops
.into_iter()
.flat_map(|l| l.lp.segs.iter().enumerate().map(|(i, s)| Piece { seg: *s, numbers: l.numbers(i).to_vec(), drawn: *s, joins_previous: false }))
.collect()
}
/// The pieces of `joined` (`drawn` with collinear lines joined): outer loop, then holes, each
@@ -145,8 +151,70 @@ mod imp {
})
}
/// The pieces as SMLib's curves: one each, but one B-spline for each run of pieces that join
/// the one before them ([`Piece::joins_previous`]).
fn curves(plane: &Plane, pieces: &[Piece]) -> Result<Vec<Curve>> {
pieces.iter().map(|x| curve(plane, &x.seg)).collect()
let mut out = Vec::new();
let mut run = Vec::new();
for x in pieces {
if !x.joins_previous && !run.is_empty() {
out.push(joined(std::mem::take(&mut run))?);
}
run.push(curve(plane, &x.seg)?);
}
if !run.is_empty() {
out.push(joined(run)?);
}
Ok(out)
}
/// Bézier curves of one degree, each starting where the one before ends, as the one B-spline
/// they are, exactly: their control points in a row (each joint once) on knots repeated the
/// degree times at each joint. A rational piece's weights are scaled (which leaves it the same
/// curve) to meet the weight the piece before ends with. Each piece's knot span is as long as
/// keeps the speed through the joint the same on both sides, so pieces meeting tangentially
/// (the pieces of one ellipse or spline) join with a continuous first derivative: SMLib makes
/// one wall over a curve that is, and splits it where the derivative jumps.
fn joined(run: Vec<Curve>) -> Result<Curve> {
if run.len() == 1 {
return run.into_iter().next().ok_or_else(|| KernelError::Invalid("an empty run of curves".into()));
}
let not_one = || KernelError::Invalid("the pieces of one curve are not Béziers of one degree".into());
let xyz = |q: &[f64; 4]| Vec3::new(q[0], q[1], q[2]);
let mut degree = None;
let mut points: Vec<[f64; 4]> = Vec::new();
let mut knots = Vec::new();
// The knot at the last joint, and the length of the span before it.
let (mut at, mut span) = (0.0, 1.0);
for c in &run {
let Curve::Nurbs { degree: d, points: ps, .. } = c else { return Err(not_one()) };
if degree.is_some_and(|p| p != *d) || ps.len() != d + 1 || *d == 0 {
return Err(not_one());
}
degree = Some(*d);
let (Some(first), Some(second)) = (ps.first(), ps.get(1)) else { return Err(not_one()) };
let (Some(last), Some(before)) = (points.last(), points.len().checked_sub(2).and_then(|i| points.get(i))) else {
points.extend(ps.iter().copied());
knots.extend(std::iter::repeat_n(0.0, d + 1));
continue;
};
let scale = last[3] / first[3];
if !(scale.is_finite() && scale > 0.0) {
return Err(not_one());
}
// The derivative of a rational Bézier on a span of length h at its end is
// d (w[d-1] / w[d]) (P[d] - P[d-1]) / h, at its start d (w[1] / w[0]) (P[1] - P[0]) / h.
let ending = (xyz(last) - xyz(before)) * (before[3] / last[3]) * (1.0 / span);
let starting = (xyz(second) - xyz(first)) * (second[3] / first[3]);
let next = starting.len() / ending.len();
at += span;
span = if next.is_finite() && next > 0.0 { next } else { 1.0 };
points.extend(ps.iter().skip(1).map(|q| [q[0], q[1], q[2], q[3] * scale]));
knots.extend(std::iter::repeat_n(at, *d));
}
let degree = degree.ok_or_else(not_one)?;
knots.extend(std::iter::repeat_n(at + span, degree + 1));
Ok(Curve::Nurbs { degree, points, knots })
}
/// A chain of sketch segments on `plane` as SMLib's curves, one each, exactly (lines, arcs,
@@ -564,11 +632,26 @@ mod imp {
};
crate::FaceSource::ExtrudeSide { segment: x.drawn, plane, coalesced: false }
}),
// The one wall over a whole run of pieces of one curve: named by its first piece.
Role::Wall(set) if run_starts(pieces, set).is_some() => run_starts(pieces, set)
.and_then(|i| pieces.get(i))
.map(|x| crate::FaceSource::ExtrudeSide { segment: x.drawn, plane: None, coalesced: false }),
_ => None,
})
.collect()
}
/// The first piece of the run of joined pieces `set` is exactly (all of it, and nothing else).
fn run_starts(pieces: &[Piece], set: &BTreeSet<usize>) -> Option<usize> {
let (&first, &last) = (set.first()?, set.last()?);
let run = pieces.get(first..=last)?;
let whole = last - first + 1 == set.len()
&& run.first().is_some_and(|x| !x.joins_previous)
&& run.iter().skip(1).all(|x| x.joins_previous)
&& pieces.get(last + 1).is_none_or(|x| !x.joins_previous);
(set.len() > 1 && whole).then_some(first)
}
fn numbered_segments(r: &Region2) -> usize {
r.outer.segs.len() + r.holes.iter().map(|h| h.segs.len()).sum::<usize>()
}
@@ -595,7 +678,7 @@ mod imp {
let walls: Vec<Piece> = pieces
.iter()
.filter(|x| [0.0, 0.5, 1.0].iter().any(|t| off_axis(plane.to_world(x.seg.point_at(*t)))))
.map(|x| Piece { seg: x.seg, numbers: x.numbers.clone(), drawn: x.drawn })
.map(|x| Piece { seg: x.seg, numbers: x.numbers.clone(), drawn: x.drawn, joins_previous: false })
.collect();
let about = |q: Vec3, a: f64| origin + turned(q - origin, k, a);
let full = turn >= std::f64::consts::TAU - 1e-9;
@@ -1535,7 +1618,7 @@ mod imp {
all.extend(q.numbers.iter().copied());
}
}
Piece { seg: x.seg, numbers: all.into_iter().collect(), drawn: x.drawn }
Piece { seg: x.seg, numbers: all.into_iter().collect(), drawn: x.drawn, joins_previous: false }
})
.collect();
let roles = roles(&body, start, Some(&last.0), &seeds(start, &columns, |q| q), &[], false)?;
+2 -2
View File
@@ -946,8 +946,6 @@ mod tests {
assert!(!matches_text("dark", &["Units of new designs"]));
}
/// A multi-word right-to-left label reaches the search in display order while the query is
/// typed in reading order: typing the label's words as written must find the row (#10471).
#[test]
fn layout_controls_keep_one_real_search_target_and_native_names() {
use egui::accesskit::Role;
@@ -983,6 +981,8 @@ mod tests {
}
}
/// A multi-word right-to-left label reaches the search in display order while the query is
/// typed in reading order: typing the label's words as written must find the row (#10471).
#[test]
fn search_finds_right_to_left_labels_typed_in_reading_order() {
let _language = crate::i18n::scope("he");
+20 -16
View File
@@ -10046,26 +10046,30 @@ mod tests {
fn smooth_wall_display_preserves_wireframe_and_edge_selection() {
let mut s = solidcraft_engine::Session::default();
let sketch = s.execute("sketch.create", &json!({"plane":"XY"})).unwrap()["sketch"].as_u64().unwrap();
s.execute("sketch.ellipse", &json!({"center":[0,0],"major":[25,0],"minor_radius":5})).unwrap();
let inner =
s.execute("sketch.offset", &json!({"curves":["e1"],"distance":-1,"chain":false})).unwrap()["curves"][0].as_str().unwrap().to_string();
let outer =
s.execute("sketch.offset", &json!({"curves":[inner],"distance":-0.5,"chain":false})).unwrap()["curves"][0].as_str().unwrap().to_string();
s.execute(
"solid.extrude",
&json!({"sketch":sketch,"distance":3,"profiles":{"type":"whole_boundaries","profiles":[{"outer":[outer],"holes":[[inner]]}]}}),
)
.unwrap();
// A circle r10 drawn as eight cubic sketch splines, each the same eighth-arc turned by 45
// degrees, so every two neighbours meet with one tangent and one curvature (G2).
let step = std::f64::consts::TAU / 8.;
let k = 4. / 3. * (step / 4.).tan() * 10.;
for i in 0..8 {
let (a, b) = (i as f64 * step, (i + 1) as f64 * step);
let p0 = [10. * a.cos(), 10. * a.sin()];
let p3 = if i == 7 { [10., 0.] } else { [10. * b.cos(), 10. * b.sin()] };
let p1 = [p0[0] - k * a.sin(), p0[1] + k * a.cos()];
let p2 = [p3[0] + k * b.sin(), p3[1] - k * b.cos()];
s.execute("sketch.spline.control_point", &json!({"points":[p0,p1,p2,p3]})).unwrap();
}
s.execute("solid.extrude", &json!({"sketch":sketch,"distance":3})).unwrap();
let mut app = SolveApp::new(s, crate::Services::default());
app.ui.ground_shadow = false;
let st = app.session.world_state().unwrap();
let b = st.bodies.first().unwrap();
let mesh = b.mesh();
assert_eq!(mesh.edges.len(), 1536);
// SMLib sweeps each piece of the offset curves as itself (none is taken for a circle
// near it), so the pieces meet with one curvature at all 512 wall joins (the largest
// curvature jump 4.2e-7) and no join is drawn.
assert_eq!(mesh.smooth_edges.iter().filter(|f| **f).count(), 512);
// Each spline extrudes as one wall: eight walls and two caps. Edges: the eight-piece loop
// on each cap and one upright edge where each two walls meet: 24.
assert_eq!(mesh.edges.len(), 24);
// The walls are distinct faces meeting with one curvature (G2) along the eight upright
// edges, so the shaded view draws none of them.
assert_eq!(mesh.smooth_edges.iter().filter(|f| **f).count(), 8);
let smooth = mesh.smooth_edges.iter().position(|f| *f).unwrap();
let expected = mesh.edges.iter().enumerate().filter(|(i, _)| mesh.shaded_edge_visible(*i)).map(|(_, e)| e.len() - 1).sum::<usize>();
// Vertex markers are lines from a point to itself; count the edges' segments.
@@ -10115,7 +10119,7 @@ mod tests {
}
assert!(crate::gpu::test_picture_renderer(), "SMOOTH_SCREENSHOTS needs a GPU");
let png = solidcraft_engine::capture::png(&scene, &cam, 1200, 800).unwrap();
std::fs::write(std::path::Path::new(&directory).join(format!("smooth-ring-{name}.png")), png.bytes).unwrap();
std::fs::write(std::path::Path::new(&directory).join(format!("smooth-walls-{name}.png")), png.bytes).unwrap();
}
}
}
@@ -2,7 +2,7 @@
"sources": [],
"what": "a closed periodic fit-point spline through 6 points, extruded 10",
"source": "analytic",
"method": "a periodic fit spline is the cyclic C2 cubic through its points with chord-length knots (crates/sketch/src/periodic.rs); A = 1/2 loop int (x y' - y x') over its six spans (Gauss, exact on the polynomials) = 1228.101202178, its length L by Gauss = 124.240003044; V = 10 A, area 2 A + 10 L. Faces: one side face per span + the caps; edges 6 + 6 + 6 vertical; vertices 12. The points are symmetric about both axes, so the curve is: x reaches 20 at (+-20, 0) (vertical tangent there), y reaches 19.600203460 between (10, 17) and (-10, 17); centre of mass (0, 0, 5)",
"method": "a periodic fit spline is the cyclic C2 cubic through its points with chord-length knots (crates/sketch/src/periodic.rs); A = 1/2 loop int (x y' - y x') over its six spans (Gauss, exact on the polynomials) = 1228.101202178, its length L by Gauss = 124.240003044; V = 10 A, area 2 A + 10 L. Faces: one side face over the whole periodic curve + the two caps; edges: top loop, bottom loop, one seam; vertices: the seam's two ends. The points are symmetric about both axes, so the curve is: x reaches 20 at (+-20, 0) (vertical tangent there), y reaches 19.600203460 between (10, 17) and (-10, 17); centre of mass (0, 0, 5)",
"body_count": 1,
"tolerance": {
"rel": 1e-05
@@ -14,9 +14,9 @@
0,
5
],
"faces": 8,
"edges": 18,
"vertices": 12,
"faces": 3,
"edges": 3,
"vertices": 2,
"bbox": {
"min": [
-20,
+13 -13
View File
@@ -590,14 +590,14 @@
},
"ladder/04-spline-profiles/009-extrude-periodic-fit-spline": {
"measured": {
"area_mm2": 3698.602434788986,
"area_mm2": 3698.602434789069,
"body_count": 1,
"edges": 18,
"faces": 8,
"vertices": 12,
"volume_mm3": 12281.012021766748
"edges": 3,
"faces": 3,
"vertices": 2,
"volume_mm3": 12281.012021767758
},
"seconds": 0.023294486,
"seconds": 0.031118513,
"status": "pass"
},
"ladder/04-spline-profiles/010-part-bezier-window": {
@@ -626,14 +626,14 @@
},
"ladder/04-spline-profiles/012-loft-ribs-joined-to-a-rounded-pad": {
"measured": {
"area_mm2": 13275.842713531902,
"area_mm2": 13275.842714137438,
"body_count": 1,
"edges": 86,
"faces": 31,
"vertices": 57,
"volume_mm3": 100193.00303538967
"edges": 78,
"faces": 28,
"vertices": 52,
"volume_mm3": 100193.00305173994
},
"seconds": 0.667583652,
"seconds": 1.03017509,
"status": "pass"
},
"ladder/05-holes-and-taps/001-simple-through": {
@@ -2001,5 +2001,5 @@
"status": "pass"
}
},
"reason": "recorded at solidcore 8ddce9016: 06-threads/018 makes 606 edges and 404 vertices (486 and 324 at 97ed188db), its 204 faces, area and volume the same to 1e-11; every other case as before. Before: recorded on solidcore, the only kernel since the C++ SMLib kernel was removed (the golden before was C++ SMLib v1.1.0-alpha, a18bbe5): 07-fillets/012 passes (the variable round no longer gains the End at the smooth vertex: 8 faces, 18 edges, 12 vertices, 47755.12 mm3); 07-fillets/021 has 24 edges and 15 vertices (no End cap edge); 07-fillets/013 removes 47325.53 mm3; 06-threads/018 makes 486 edges and 324 vertices every run, so it is no longer marked unstable"
"reason": "04-spline-profiles/009 and 012 re-recorded, an extruded spline or ellipse sweeps one wall (one-curve extrude): 009 makes 3 faces, 3 edges and 2 vertices (8, 18 and 12 per span before); 012 makes 28 faces, 78 edges and 52 vertices (31, 86 and 57 before); every other case as before. Before: recorded at solidcore 8ddce9016: 06-threads/018 makes 606 edges and 404 vertices (486 and 324 at 97ed188db), its 204 faces, area and volume the same to 1e-11; every other case as before. Before: recorded on solidcore, the only kernel since the C++ SMLib kernel was removed (the golden before was C++ SMLib v1.1.0-alpha, a18bbe5): 07-fillets/012 passes (the variable round no longer gains the End at the smooth vertex: 8 faces, 18 edges, 12 vertices, 47755.12 mm3); 07-fillets/021 has 24 edges and 15 vertices (no End cap edge); 07-fillets/013 removes 47325.53 mm3; 06-threads/018 makes 486 edges and 324 vertices every run, so it is no longer marked unstable"
}
-74
View File
@@ -1,74 +0,0 @@
# corpus/components-arm: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Base: 8 faces, 18 edges
Base face F12:side:c1#1
Base face F12:side:c1#2
Base face F1:+x
Base face F1:+y
Base face F1:+z
Base face F1:-x
Base face F1:-y
Base face F1:-z
Base edge F12:side:c1#1|F12:side:c1#2~1 [geometric]
Base edge F12:side:c1#1|F12:side:c1#2~2 [geometric]
Base edge F12:side:c1#1|F1:+z
Base edge F12:side:c1#1|F1:-z
Base edge F12:side:c1#2|F1:+z
Base edge F12:side:c1#2|F1:-z
Base edge F1:+x|F1:+y
Base edge F1:+x|F1:+z
Base edge F1:+x|F1:-y
Base edge F1:+x|F1:-z
Base edge F1:+y|F1:+z
Base edge F1:+y|F1:-x
Base edge F1:+y|F1:-z
Base edge F1:+z|F1:-x
Base edge F1:+z|F1:-y
Base edge F1:-x|F1:-y
Base edge F1:-x|F1:-z
Base edge F1:-y|F1:-z
body ArmBody: 7 faces, 15 edges
ArmBody face F4:+x
ArmBody face F4:+y
ArmBody face F4:+z
ArmBody face F4:-x
ArmBody face F4:-y
ArmBody face F4:-z
ArmBody face F5:blend:F4:+y|F4:+z
ArmBody edge F4:+x|F4:+y
ArmBody edge F4:+x|F4:+z
ArmBody edge F4:+x|F4:-y
ArmBody edge F4:+x|F4:-z
ArmBody edge F4:+x|F5:blend:F4:+y|F4:+z
ArmBody edge F4:+y|F4:-x
ArmBody edge F4:+y|F4:-z
ArmBody edge F4:+y|F5:blend:F4:+y|F4:+z
ArmBody edge F4:+z|F4:-x
ArmBody edge F4:+z|F4:-y
ArmBody edge F4:+z|F5:blend:F4:+y|F4:+z
ArmBody edge F4:-x|F4:-y
ArmBody edge F4:-x|F4:-z
ArmBody edge F4:-x|F5:blend:F4:+y|F4:+z
ArmBody edge F4:-y|F4:-z
body Body1: 7 faces, 15 edges
Body1 face F10:blend:F9:+y|F9:+z
Body1 face F9:+x
Body1 face F9:+y
Body1 face F9:+z
Body1 face F9:-x
Body1 face F9:-y
Body1 face F9:-z
Body1 edge F10:blend:F9:+y|F9:+z|F9:+x
Body1 edge F10:blend:F9:+y|F9:+z|F9:+y
Body1 edge F10:blend:F9:+y|F9:+z|F9:+z
Body1 edge F10:blend:F9:+y|F9:+z|F9:-x
Body1 edge F9:+x|F9:+y
Body1 edge F9:+x|F9:+z
Body1 edge F9:+x|F9:-y
Body1 edge F9:+x|F9:-z
Body1 edge F9:+y|F9:-x
Body1 edge F9:+y|F9:-z
Body1 edge F9:+z|F9:-x
Body1 edge F9:+z|F9:-y
Body1 edge F9:-x|F9:-y
Body1 edge F9:-x|F9:-z
Body1 edge F9:-y|F9:-z
@@ -1,37 +0,0 @@
# corpus/issue-489-stacked-join: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 10 faces, 24 edges
Body1 face F2:side:l1
Body1 face F2:side:l2
Body1 face F2:side:l3
Body1 face F2:side:l4
Body1 face F2:start
Body1 face F2:top#[F2:side:l1,F4:side:l5]
Body1 face F2:top#[F2:side:l3,F4:side:l7]
Body1 face F4:side:l5
Body1 face F4:side:l7
Body1 face F4:top
Body1 edge F2:side:l1|F2:side:l2
Body1 edge F2:side:l1|F2:side:l4
Body1 edge F2:side:l1|F2:start
Body1 edge F2:side:l1|F2:top#[F2:side:l1,F4:side:l5]
Body1 edge F2:side:l2|F2:side:l3
Body1 edge F2:side:l2|F2:start
Body1 edge F2:side:l2|F2:top#[F2:side:l1,F4:side:l5]
Body1 edge F2:side:l2|F2:top#[F2:side:l3,F4:side:l7]
Body1 edge F2:side:l2|F4:side:l5
Body1 edge F2:side:l2|F4:side:l7
Body1 edge F2:side:l2|F4:top
Body1 edge F2:side:l3|F2:side:l4
Body1 edge F2:side:l3|F2:start
Body1 edge F2:side:l3|F2:top#[F2:side:l3,F4:side:l7]
Body1 edge F2:side:l4|F2:start
Body1 edge F2:side:l4|F2:top#[F2:side:l1,F4:side:l5]
Body1 edge F2:side:l4|F2:top#[F2:side:l3,F4:side:l7]
Body1 edge F2:side:l4|F4:side:l5
Body1 edge F2:side:l4|F4:side:l7
Body1 edge F2:side:l4|F4:top
Body1 edge F2:top#[F2:side:l1,F4:side:l5]|F4:side:l5
Body1 edge F2:top#[F2:side:l3,F4:side:l7]|F4:side:l7
Body1 edge F4:side:l5|F4:top
Body1 edge F4:side:l7|F4:top
ref Sketch2 (3) plane `F2:cap:high:ed6121d9bed14d3fd103f347231990d103349f33b7874ad292d3c4d3539266c3` on Body1 (extrude_cap) -> healthy: Body1 faces F2:top
-216
View File
@@ -1,216 +0,0 @@
# corpus/issue-616-lid-ribs: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Lid: 54 faces, 156 edges
Lid face F10:+x
Lid face F10:+y
Lid face F10:+z
Lid face F10:-y
Lid face F11:+x
Lid face F11:+y
Lid face F11:+z
Lid face F11:-y
Lid face F1:+x [geometric]
Lid face F1:+y [geometric]
Lid face F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:+y,F11:-y,F4:side:l6,F5:-x] [geometric]
Lid face 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] [geometric]
Lid face 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] [geometric]
Lid face F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F4:side:l8,F5:+x,F8:+y,F9:-y] [geometric]
Lid face F1:-x [geometric]
Lid face F1:-y [geometric]
Lid face F1:-z [geometric]
Lid face F2:blend:F1:+x|F1:+y [geometric]
Lid face F2:blend:F1:+x|F1:-y [geometric]
Lid face F2:blend:F1:+y|F1:-x [geometric]
Lid face F2:blend:F1:-x|F1:-y [geometric]
Lid face F4:side:l1 [geometric]
Lid face F4:side:l2 [geometric]
Lid face F4:side:l3#[F4:side:l2,F7:+x] [geometric]
Lid face F4:side:l3#[F4:side:l4,F7:-x] [geometric]
Lid face F4:side:l4 [geometric]
Lid face F4:side:l5 [geometric]
Lid face F4:side:l6#[F10:+y,F4:side:l7]#[F10:+y,F11:-y] [geometric]
Lid face F4:side:l6#[F10:+y,F4:side:l7]#[F11:+y,F4:side:l7] [geometric]
Lid face F4:side:l6#[F10:-y,F4:side:l5] [geometric]
Lid face F4:side:l7#[F4:side:l6,F7:+x] [geometric]
Lid face F4:side:l7#[F4:side:l8,F7:-x] [geometric]
Lid face F4:side:l8#[F4:side:l5,F8:-y] [geometric]
Lid face F4:side:l8#[F4:side:l7,F8:+y]#[F4:side:l7,F9:+y] [geometric]
Lid face F4:side:l8#[F4:side:l7,F8:+y]#[F8:+y,F9:-y] [geometric]
Lid face F4:top [geometric]
Lid face F5:+x [geometric]
Lid face F5:+y [geometric]
Lid face F5:-x [geometric]
Lid face F5:-y [geometric]
Lid face F6:+x
Lid face F6:+y
Lid face F6:-x
Lid face F6:-y
Lid face F7:+x
Lid face F7:-x
Lid face F8:+y
Lid face F8:-x
Lid face F8:-y
Lid face F9:+y
Lid face F9:+z#[F8:+y,F8:-x,F8:-y]
Lid face F9:+z#[F9:+y,F9:-x,F9:-y]
Lid face F9:-x
Lid face F9:-y
Lid edge F10:+x|F10:+y
Lid edge F10:+x|F10:+z
Lid edge F10:+x|F10:-y
Lid edge F10:+x|F4:top [geometric]
Lid edge F10:+y|F10:+z
Lid edge F10:+y|F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:+y,F11:-y,F4:side:l6,F5:-x] [geometric]
Lid edge F10:+y|F4:side:l6#[F10:+y,F4:side:l7]#[F10:+y,F11:-y] [geometric]
Lid edge F10:+y|F4:top [geometric]
Lid edge F10:+y|F5:-x [geometric]
Lid edge F10:+z|F10:-y
Lid edge F10:+z|F5:-x [geometric]
Lid edge F10:-y|F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:-y,F4:side:l5,F4:side:l6,F4:side:l8,F5:+x,F5:+y,F5:-x,F8:-y] [geometric]
Lid edge F10:-y|F4:side:l6#[F10:-y,F4:side:l5] [geometric]
Lid edge F10:-y|F4:top [geometric]
Lid edge F10:-y|F5:-x [geometric]
Lid edge F11:+x|F11:+y
Lid edge F11:+x|F11:+z
Lid edge F11:+x|F11:-y
Lid edge F11:+x|F4:top [geometric]
Lid edge F11:+y|F11:+z
Lid edge F11:+y|F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y] [geometric]
Lid edge F11:+y|F4:side:l6#[F10:+y,F4:side:l7]#[F11:+y,F4:side:l7] [geometric]
Lid edge F11:+y|F4:top [geometric]
Lid edge F11:+y|F5:-x [geometric]
Lid edge F11:+z|F11:-y
Lid edge F11:+z|F5:-x [geometric]
Lid edge F11:-y|F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:+y,F11:-y,F4:side:l6,F5:-x] [geometric]
Lid edge F11:-y|F4:side:l6#[F10:+y,F4:side:l7]#[F10:+y,F11:-y] [geometric]
Lid edge F11:-y|F4:top [geometric]
Lid edge F11:-y|F5:-x [geometric]
Lid edge F1:+x|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] [geometric]
Lid edge F1:+x|F1:-z [geometric]
Lid edge F1:+x|F2:blend:F1:+x|F1:+y [geometric]
Lid edge F1:+x|F2:blend:F1:+x|F1:-y [geometric]
Lid edge F1:+y|F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F11:+y,F1:+x,F1:+y,F1:-x,F1:-y,F2:blend:F1:+x|F1:+y,F2:blend:F1:+x|F1:-y,F2:blend:F1:+y|F1:-x,F2:blend:F1:-x|F1:-y,F4:side:l1,F4:side:l2,F4:side:l3,F4:side:l4,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:-x,F5:-y,F6:+x,F6:+y,F6:-x,F6:-y,F7:+x,F7:-x,F9:+y] [geometric]
Lid edge F1:+y|F1:-z [geometric]
Lid edge F1:+y|F2:blend:F1:+x|F1:+y [geometric]
Lid edge F1:+y|F2:blend:F1:+y|F1:-x [geometric]
Lid edge F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:+y,F11:-y,F4:side:l6,F5:-x]|F4:side:l6#[F10:+y,F4:side:l7]#[F10:+y,F11:-y] [geometric]
Lid edge F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F10:+y,F11:-y,F4:side:l6,F5:-x]|F5:-x [geometric]
Lid edge 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]|F4:side:l5 [geometric]
Lid edge 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]|F4:side:l6#[F10:-y,F4:side:l5] [geometric]
Lid edge 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]|F4:side:l8#[F4:side:l5,F8:-y] [geometric]
Lid edge 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 [geometric]
Lid edge 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 [geometric]
Lid edge 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 [geometric]
Lid edge 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 [geometric]
Lid edge 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 [geometric]
Lid edge 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 [geometric]
Lid edge 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 [geometric]
Lid edge 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 [geometric]
Lid edge 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:+y|F1:-x [geometric]
Lid edge 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 [geometric]
Lid edge 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]|F4:side:l1 [geometric]
Lid edge 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]|F4:side:l2 [geometric]
Lid edge 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]|F4:side:l3#[F4:side:l2,F7:+x] [geometric]
Lid edge 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]|F4:side:l3#[F4:side:l4,F7:-x] [geometric]
Lid edge 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]|F4:side:l4 [geometric]
Lid edge 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]|F4:side:l6#[F10:+y,F4:side:l7]#[F11:+y,F4:side:l7] [geometric]
Lid edge 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]|F4:side:l7#[F4:side:l6,F7:+x] [geometric]
Lid edge 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]|F4:side:l7#[F4:side:l8,F7:-x] [geometric]
Lid edge 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]|F4:side:l8#[F4:side:l7,F8:+y]#[F4:side:l7,F9:+y] [geometric]
Lid edge 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]|F5:+x [geometric]
Lid edge 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]|F5:-x [geometric]
Lid edge 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]|F5:-y [geometric]
Lid edge 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]|F6:+x [geometric]
Lid edge 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]|F6:+y [geometric]
Lid edge 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]|F6:-x [geometric]
Lid edge 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]|F6:-y [geometric]
Lid edge 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]|F7:+x [geometric]
Lid edge 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]|F7:-x [geometric]
Lid edge 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]|F9:+y [geometric]
Lid edge F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F4:side:l8,F5:+x,F8:+y,F9:-y]|F4:side:l8#[F4:side:l7,F8:+y]#[F8:+y,F9:-y] [geometric]
Lid edge F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F4:side:l8,F5:+x,F8:+y,F9:-y]|F5:+x [geometric]
Lid edge F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F4:side:l8,F5:+x,F8:+y,F9:-y]|F8:+y [geometric]
Lid edge F1:+z#[F4:side:l5,F4:side:l6,F4:side:l7,F4:side:l8,F5:+x,F5:+y,F5:-x,F5:-y]#[F4:side:l8,F5:+x,F8:+y,F9:-y]|F9:-y [geometric]
Lid edge F1:-x|F1:-z [geometric]
Lid edge F1:-x|F2:blend:F1:+y|F1:-x [geometric]
Lid edge F1:-x|F2:blend:F1:-x|F1:-y [geometric]
Lid edge F1:-y|F1:-z [geometric]
Lid edge F1:-y|F2:blend:F1:+x|F1:-y [geometric]
Lid edge F1:-y|F2:blend:F1:-x|F1:-y [geometric]
Lid edge F1:-z|F2:blend:F1:+x|F1:+y [geometric]
Lid edge F1:-z|F2:blend:F1:+x|F1:-y [geometric]
Lid edge F1:-z|F2:blend:F1:+y|F1:-x [geometric]
Lid edge F1:-z|F2:blend:F1:-x|F1:-y [geometric]
Lid edge F1:-z|F5:+x [geometric]
Lid edge F1:-z|F5:+y [geometric]
Lid edge F1:-z|F5:-x [geometric]
Lid edge F1:-z|F5:-y [geometric]
Lid edge F1:-z|F6:+x [geometric]
Lid edge F1:-z|F6:+y [geometric]
Lid edge F1:-z|F6:-x [geometric]
Lid edge F1:-z|F6:-y [geometric]
Lid edge F4:side:l1|F4:side:l2 [geometric]
Lid edge F4:side:l1|F4:side:l4 [geometric]
Lid edge F4:side:l1|F4:top [geometric]
Lid edge F4:side:l2|F4:side:l3#[F4:side:l2,F7:+x] [geometric]
Lid edge F4:side:l2|F4:top [geometric]
Lid edge F4:side:l3#[F4:side:l2,F7:+x]|F4:top [geometric]
Lid edge F4:side:l3#[F4:side:l2,F7:+x]|F7:+x [geometric]
Lid edge F4:side:l3#[F4:side:l4,F7:-x]|F4:side:l4 [geometric]
Lid edge F4:side:l3#[F4:side:l4,F7:-x]|F4:top [geometric]
Lid edge F4:side:l3#[F4:side:l4,F7:-x]|F7:-x [geometric]
Lid edge F4:side:l4|F4:top [geometric]
Lid edge F4:side:l5|F4:side:l6#[F10:-y,F4:side:l5] [geometric]
Lid edge F4:side:l5|F4:side:l8#[F4:side:l5,F8:-y] [geometric]
Lid edge F4:side:l5|F4:top [geometric]
Lid edge F4:side:l6#[F10:+y,F4:side:l7]#[F10:+y,F11:-y]|F4:top [geometric]
Lid edge F4:side:l6#[F10:+y,F4:side:l7]#[F11:+y,F4:side:l7]|F4:side:l7#[F4:side:l6,F7:+x] [geometric]
Lid edge F4:side:l6#[F10:+y,F4:side:l7]#[F11:+y,F4:side:l7]|F4:top [geometric]
Lid edge F4:side:l6#[F10:-y,F4:side:l5]|F4:top [geometric]
Lid edge F4:side:l7#[F4:side:l6,F7:+x]|F4:top [geometric]
Lid edge F4:side:l7#[F4:side:l6,F7:+x]|F7:+x [geometric]
Lid edge F4:side:l7#[F4:side:l8,F7:-x]|F4:side:l8#[F4:side:l7,F8:+y]#[F4:side:l7,F9:+y] [geometric]
Lid edge F4:side:l7#[F4:side:l8,F7:-x]|F4:top [geometric]
Lid edge F4:side:l7#[F4:side:l8,F7:-x]|F7:-x [geometric]
Lid edge F4:side:l8#[F4:side:l5,F8:-y]|F4:top [geometric]
Lid edge F4:side:l8#[F4:side:l5,F8:-y]|F8:-y [geometric]
Lid edge F4:side:l8#[F4:side:l7,F8:+y]#[F4:side:l7,F9:+y]|F4:top [geometric]
Lid edge F4:side:l8#[F4:side:l7,F8:+y]#[F4:side:l7,F9:+y]|F9:+y [geometric]
Lid edge F4:side:l8#[F4:side:l7,F8:+y]#[F8:+y,F9:-y]|F4:top [geometric]
Lid edge F4:side:l8#[F4:side:l7,F8:+y]#[F8:+y,F9:-y]|F8:+y [geometric]
Lid edge F4:side:l8#[F4:side:l7,F8:+y]#[F8:+y,F9:-y]|F9:-y [geometric]
Lid edge F4:top|F7:+x [geometric]
Lid edge F4:top|F7:-x [geometric]
Lid edge F4:top|F8:+y [geometric]
Lid edge F4:top|F8:-x [geometric]
Lid edge F4:top|F8:-y [geometric]
Lid edge F4:top|F9:+y [geometric]
Lid edge F4:top|F9:-x [geometric]
Lid edge F4:top|F9:-y [geometric]
Lid edge F5:+x|F5:+y [geometric]
Lid edge F5:+x|F5:-y [geometric]
Lid edge F5:+x|F8:+y [geometric]
Lid edge F5:+x|F8:-y [geometric]
Lid edge F5:+x|F9:+y [geometric]
Lid edge F5:+x|F9:+z#[F8:+y,F8:-x,F8:-y] [geometric]
Lid edge F5:+x|F9:+z#[F9:+y,F9:-x,F9:-y] [geometric]
Lid edge F5:+x|F9:-y [geometric]
Lid edge F5:+y|F5:-x [geometric]
Lid edge F5:-x|F5:-y [geometric]
Lid edge F6:+x|F6:+y
Lid edge F6:+x|F6:-y
Lid edge F6:+y|F6:-x
Lid edge F6:-x|F6:-y
Lid edge F8:+y|F8:-x
Lid edge F8:+y|F9:+z#[F8:+y,F8:-x,F8:-y]
Lid edge F8:-x|F8:-y
Lid edge F8:-x|F9:+z#[F8:+y,F8:-x,F8:-y]
Lid edge F8:-y|F9:+z#[F8:+y,F8:-x,F8:-y]
Lid edge F9:+y|F9:+z#[F9:+y,F9:-x,F9:-y]
Lid edge F9:+y|F9:-x
Lid edge F9:+z#[F9:+y,F9:-x,F9:-y]|F9:-x
Lid edge F9:+z#[F9:+y,F9:-x,F9:-y]|F9:-y
Lid edge F9:-x|F9:-y
ref Fillet1 (2) edge 0 `F1:-x|F1:-y` -> Lid edge F1:-x|F1:-y
ref Fillet1 (2) edge 1 `F1:+x|F1:-y` -> Lid edge F1:+x|F1:-y
ref Fillet1 (2) edge 2 `F1:+y|F1:-x` -> Lid edge F1:+y|F1:-x
ref Fillet1 (2) edge 3 `F1:+x|F1:+y` -> Lid edge F1:+x|F1:+y
-61
View File
@@ -1,61 +0,0 @@
# corpus/joints-hinge: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 6 faces, 12 edges
Body1 face F3:+x
Body1 face F3:+y
Body1 face F3:+z
Body1 face F3:-x
Body1 face F3:-y
Body1 face F3:-z
Body1 edge F3:+x|F3:+y
Body1 edge F3:+x|F3:+z
Body1 edge F3:+x|F3:-y
Body1 edge F3:+x|F3:-z
Body1 edge F3:+y|F3:+z
Body1 edge F3:+y|F3:-x
Body1 edge F3:+y|F3:-z
Body1 edge F3:+z|F3:-x
Body1 edge F3:+z|F3:-y
Body1 edge F3:-x|F3:-y
Body1 edge F3:-x|F3:-z
Body1 edge F3:-y|F3:-z
body Body2: 4 faces, 6 edges
Body2 face F4:bottom
Body2 face F4:side#1
Body2 face F4:side#2
Body2 face F4:top
Body2 edge F4:bottom|F4:side#1
Body2 edge F4:bottom|F4:side#2
Body2 edge F4:side#1|F4:side#2~1 [geometric]
Body2 edge F4:side#1|F4:side#2~2 [geometric]
Body2 edge F4:side#1|F4:top
Body2 edge F4:side#2|F4:top
body Body3: 6 faces, 12 edges
Body3 face F7:+x
Body3 face F7:+y
Body3 face F7:+z
Body3 face F7:-x
Body3 face F7:-y
Body3 face F7:-z
Body3 edge F7:+x|F7:+y
Body3 edge F7:+x|F7:+z
Body3 edge F7:+x|F7:-y
Body3 edge F7:+x|F7:-z
Body3 edge F7:+y|F7:+z
Body3 edge F7:+y|F7:-x
Body3 edge F7:+y|F7:-z
Body3 edge F7:+z|F7:-x
Body3 edge F7:+z|F7:-y
Body3 edge F7:-x|F7:-y
Body3 edge F7:-x|F7:-z
Body3 edge F7:-y|F7:-z
body Body4: 4 faces, 6 edges
Body4 face F8:bottom
Body4 face F8:side#1
Body4 face F8:side#2
Body4 face F8:top
Body4 edge F8:bottom|F8:side#1
Body4 edge F8:bottom|F8:side#2
Body4 edge F8:side#1|F8:side#2~1 [geometric]
Body4 edge F8:side#1|F8:side#2~2 [geometric]
Body4 edge F8:side#1|F8:top
Body4 edge F8:side#2|F8:top
@@ -1,32 +0,0 @@
# corpus/m0-box-fillet-hole: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 9 faces, 21 edges
Body1 face F2:side:l5
Body1 face F2:side:l6
Body1 face F2:side:l7
Body1 face F2:side:l8
Body1 face F2:start
Body1 face F2:top
Body1 face F3:blend:F2:side:l5|F2:side:l8
Body1 face F5:side:c1#1
Body1 face F5:side:c1#2
Body1 edge F2:side:l5|F2:side:l6
Body1 edge F2:side:l5|F2:start
Body1 edge F2:side:l5|F2:top
Body1 edge F2:side:l5|F3:blend:F2:side:l5|F2:side:l8
Body1 edge F2:side:l6|F2:side:l7
Body1 edge F2:side:l6|F2:start
Body1 edge F2:side:l6|F2:top
Body1 edge F2:side:l7|F2:side:l8
Body1 edge F2:side:l7|F2:start
Body1 edge F2:side:l7|F2:top
Body1 edge F2:side:l8|F2:start
Body1 edge F2:side:l8|F2:top
Body1 edge F2:side:l8|F3:blend:F2:side:l5|F2:side:l8
Body1 edge F2:start|F3:blend:F2:side:l5|F2:side:l8
Body1 edge F2:start|F5:side:c1#1
Body1 edge F2:start|F5:side:c1#2
Body1 edge F2:top|F3:blend:F2:side:l5|F2:side:l8
Body1 edge F2:top|F5:side:c1#1
Body1 edge F2:top|F5:side:c1#2
Body1 edge F5:side:c1#1|F5:side:c1#2~1 [geometric]
Body1 edge F5:side:c1#1|F5:side:c1#2~2 [geometric]
@@ -1,67 +0,0 @@
# corpus/m0-revolve-primitives: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 10 faces, 24 edges
Body1 face F2:end
Body1 face F2:side:l1
Body1 face F2:side:l2
Body1 face F2:side:l2#[F2:end]
Body1 face F2:side:l2#[F2:start]
Body1 face F2:side:l3
Body1 face F2:side:l4
Body1 face F2:side:l4#[F2:end]
Body1 face F2:side:l4#[F2:start]
Body1 face F2:start
Body1 edge F2:end|F2:side:l1
Body1 edge F2:end|F2:side:l2#[F2:end]
Body1 edge F2:end|F2:side:l3
Body1 edge F2:end|F2:side:l4#[F2:end]
Body1 edge F2:side:l1|F2:side:l2
Body1 edge F2:side:l1|F2:side:l2#[F2:end]
Body1 edge F2:side:l1|F2:side:l2#[F2:start]
Body1 edge F2:side:l1|F2:side:l4
Body1 edge F2:side:l1|F2:side:l4#[F2:end]
Body1 edge F2:side:l1|F2:side:l4#[F2:start]
Body1 edge F2:side:l1|F2:start
Body1 edge F2:side:l2#[F2:end]|F2:side:l3
Body1 edge F2:side:l2#[F2:start]|F2:side:l3
Body1 edge F2:side:l2#[F2:start]|F2:start
Body1 edge F2:side:l2|F2:side:l2#[F2:end]
Body1 edge F2:side:l2|F2:side:l2#[F2:start]
Body1 edge F2:side:l2|F2:side:l3
Body1 edge F2:side:l3|F2:side:l4
Body1 edge F2:side:l3|F2:side:l4#[F2:end]
Body1 edge F2:side:l3|F2:side:l4#[F2:start]
Body1 edge F2:side:l3|F2:start
Body1 edge F2:side:l4#[F2:start]|F2:start
Body1 edge F2:side:l4|F2:side:l4#[F2:end]
Body1 edge F2:side:l4|F2:side:l4#[F2:start]
body Body2: 9 faces, 21 edges
Body2 face F3:+x
Body2 face F3:+y
Body2 face F3:+z
Body2 face F3:-x
Body2 face F3:-y
Body2 face F3:-z
Body2 face F4:side#1
Body2 face F4:side#2
Body2 face F6:blend:F3:+z|F3:-x
Body2 edge F3:+x|F3:+y
Body2 edge F3:+x|F3:+z
Body2 edge F3:+x|F3:-y
Body2 edge F3:+x|F3:-z
Body2 edge F3:+y|F3:+z
Body2 edge F3:+y|F3:-x
Body2 edge F3:+y|F3:-z
Body2 edge F3:+y|F6:blend:F3:+z|F3:-x
Body2 edge F3:+z|F3:-y
Body2 edge F3:+z|F4:side#1
Body2 edge F3:+z|F4:side#2
Body2 edge F3:+z|F6:blend:F3:+z|F3:-x
Body2 edge F3:-x|F3:-y
Body2 edge F3:-x|F3:-z
Body2 edge F3:-x|F6:blend:F3:+z|F3:-x
Body2 edge F3:-y|F3:-z
Body2 edge F3:-y|F6:blend:F3:+z|F3:-x
Body2 edge F3:-z|F4:side#1
Body2 edge F3:-z|F4:side#2
Body2 edge F4:side#1|F4:side#2~1 [geometric]
Body2 edge F4:side#1|F4:side#2~2 [geometric]
@@ -1,76 +0,0 @@
# corpus/modern-path-pattern: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Plate: 20 faces, 54 edges
Plate face F2:side:l1
Plate face F2:side:l2
Plate face F2:side:l3
Plate face F2:side:l4
Plate face F2:start
Plate face F2:top
Plate face F4:side:c1#1
Plate face F4:side:c1#2
Plate face F4:side:c1@F5.1#1
Plate face F4:side:c1@F5.1#2
Plate face F4:side:c1@F5.2#1
Plate face F4:side:c1@F5.2#2
Plate face F4:side:c1@F5.3#1
Plate face F4:side:c1@F5.3#2
Plate face F4:side:c1@F5.4#1
Plate face F4:side:c1@F5.4#2
Plate face F4:side:c1@F5.5#1
Plate face F4:side:c1@F5.5#2
Plate face F4:side:c1@F5.6#1
Plate face F4:side:c1@F5.6#2
Plate edge F2:side:l1|F2:side:l2
Plate edge F2:side:l1|F2:side:l4
Plate edge F2:side:l1|F2:start
Plate edge F2:side:l1|F2:top
Plate edge F2:side:l2|F2:side:l3
Plate edge F2:side:l2|F2:start
Plate edge F2:side:l2|F2:top
Plate edge F2:side:l3|F2:side:l4
Plate edge F2:side:l3|F2:start
Plate edge F2:side:l3|F2:top
Plate edge F2:side:l4|F2:start
Plate edge F2:side:l4|F2:top
Plate edge F2:start|F4:side:c1#1
Plate edge F2:start|F4:side:c1#2
Plate edge F2:start|F4:side:c1@F5.1#1
Plate edge F2:start|F4:side:c1@F5.1#2
Plate edge F2:start|F4:side:c1@F5.2#1
Plate edge F2:start|F4:side:c1@F5.2#2
Plate edge F2:start|F4:side:c1@F5.3#1
Plate edge F2:start|F4:side:c1@F5.3#2
Plate edge F2:start|F4:side:c1@F5.4#1
Plate edge F2:start|F4:side:c1@F5.4#2
Plate edge F2:start|F4:side:c1@F5.5#1
Plate edge F2:start|F4:side:c1@F5.5#2
Plate edge F2:start|F4:side:c1@F5.6#1
Plate edge F2:start|F4:side:c1@F5.6#2
Plate edge F2:top|F4:side:c1#1
Plate edge F2:top|F4:side:c1#2
Plate edge F2:top|F4:side:c1@F5.1#1
Plate edge F2:top|F4:side:c1@F5.1#2
Plate edge F2:top|F4:side:c1@F5.2#1
Plate edge F2:top|F4:side:c1@F5.2#2
Plate edge F2:top|F4:side:c1@F5.3#1
Plate edge F2:top|F4:side:c1@F5.3#2
Plate edge F2:top|F4:side:c1@F5.4#1
Plate edge F2:top|F4:side:c1@F5.4#2
Plate edge F2:top|F4:side:c1@F5.5#1
Plate edge F2:top|F4:side:c1@F5.5#2
Plate edge F2:top|F4:side:c1@F5.6#1
Plate edge F2:top|F4:side:c1@F5.6#2
Plate edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Plate edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Plate edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~1 [geometric]
Plate edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~2 [geometric]
Plate edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#2~1 [geometric]
Plate edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#2~2 [geometric]
Plate edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~1 [geometric]
Plate edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~2 [geometric]
Plate edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~1 [geometric]
Plate edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~2 [geometric]
Plate edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~1 [geometric]
Plate edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~2 [geometric]
Plate edge F4:side:c1@F5.6#1|F4:side:c1@F5.6#2~1 [geometric]
Plate edge F4:side:c1@F5.6#1|F4:side:c1@F5.6#2~2 [geometric]
-131
View File
@@ -1,131 +0,0 @@
# corpus/modern-plastic: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 39 faces, 90 edges
Body1 face F1:+x
Body1 face F1:+y
Body1 face F1:+z
Body1 face F1:-x
Body1 face F1:-y
Body1 face F1:-z
Body1 face F2:inner:F1:+x
Body1 face F2:inner:F1:+y
Body1 face F2:inner:F1:-x
Body1 face F2:inner:F1:-y
Body1 face F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]
Body1 face F2:inner:F1:-z#[F5:rest:side:4,F5:rest:side:5,F5:rest:side:6,F5:rest:side:7]
Body1 face F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]
Body1 face F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]
Body1 face F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]
Body1 face F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]
Body1 face F3:inner:F1:+z
Body1 face F4:hole:base
Body1 face F4:hole:side:0
Body1 face F4:hole:side:1
Body1 face F4:post:side:0
Body1 face F4:post:side:1
Body1 face F4:post:top
Body1 face F5:rest:side:0
Body1 face F5:rest:side:1
Body1 face F5:rest:side:2
Body1 face F5:rest:side:3
Body1 face F5:rest:side:4
Body1 face F5:rest:side:5
Body1 face F5:rest:side:6
Body1 face F5:rest:side:7
Body1 face F5:rest:top
Body1 face F6:arm:base
Body1 face F6:arm:side:1
Body1 face F6:arm:side:2
Body1 face F6:arm:side:3
Body1 face F6:arm:side:4
Body1 face F6:arm:side:5
Body1 face F6:arm:top
Body1 edge F1:+x|F1:+y
Body1 edge F1:+x|F1:+z
Body1 edge F1:+x|F1:-y
Body1 edge F1:+x|F1:-z
Body1 edge F1:+y|F1:+z
Body1 edge F1:+y|F1:-x
Body1 edge F1:+y|F1:-z
Body1 edge F1:+z|F1:-x
Body1 edge F1:+z|F1:-y
Body1 edge F1:+z|F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]
Body1 edge F1:+z|F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]
Body1 edge F1:+z|F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]
Body1 edge F1:+z|F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]
Body1 edge F1:-x|F1:-y
Body1 edge F1:-x|F1:-z
Body1 edge F1:-y|F1:-z
Body1 edge F2:inner:F1:+x|F2:inner:F1:+y
Body1 edge F2:inner:F1:+x|F2:inner:F1:-y
Body1 edge F2:inner:F1:+x|F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]
Body1 edge F2:inner:F1:+x|F3:inner:F1:+z
Body1 edge F2:inner:F1:+y|F2:inner:F1:-x
Body1 edge F2:inner:F1:+y|F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]
Body1 edge F2:inner:F1:+y|F3:inner:F1:+z
Body1 edge F2:inner:F1:-x|F2:inner:F1:-y
Body1 edge F2:inner:F1:-x|F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]
Body1 edge F2:inner:F1:-x|F3:inner:F1:+z
Body1 edge F2:inner:F1:-y|F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]
Body1 edge F2:inner:F1:-y|F3:inner:F1:+z
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F4:post:side:0
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F4:post:side:1
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F5:rest:side:0
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F5:rest:side:1
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F5:rest:side:2
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F5:rest:side:3
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F6:arm:base
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F6:arm:side:1
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F6:arm:side:5
Body1 edge F2:inner:F1:-z#[F2:inner:F1:+x,F2:inner:F1:+y,F2:inner:F1:-x,F2:inner:F1:-y,F4:post:side:0,F4:post:side:1,F5:rest:side:0,F5:rest:side:1,F5:rest:side:2,F5:rest:side:3]|F6:arm:top
Body1 edge F2:inner:F1:-z#[F5:rest:side:4,F5:rest:side:5,F5:rest:side:6,F5:rest:side:7]|F5:rest:side:4
Body1 edge F2:inner:F1:-z#[F5:rest:side:4,F5:rest:side:5,F5:rest:side:6,F5:rest:side:7]|F5:rest:side:5
Body1 edge F2:inner:F1:-z#[F5:rest:side:4,F5:rest:side:5,F5:rest:side:6,F5:rest:side:7]|F5:rest:side:6
Body1 edge F2:inner:F1:-z#[F5:rest:side:4,F5:rest:side:5,F5:rest:side:6,F5:rest:side:7]|F5:rest:side:7
Body1 edge F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]|F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]
Body1 edge F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]|F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]
Body1 edge F3:blend:F1:+z|F2:inner:F1:+x#[F1:+z]|F3:inner:F1:+z
Body1 edge F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]|F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]
Body1 edge F3:blend:F1:+z|F2:inner:F1:+y#[F1:+z]|F3:inner:F1:+z
Body1 edge F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]|F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]
Body1 edge F3:blend:F1:+z|F2:inner:F1:-x#[F1:+z]|F3:inner:F1:+z
Body1 edge F3:blend:F1:+z|F2:inner:F1:-y#[F1:+z]|F3:inner:F1:+z
Body1 edge F4:hole:base|F4:hole:side:0
Body1 edge F4:hole:base|F4:hole:side:1
Body1 edge F4:hole:side:0|F4:hole:side:1~1 [geometric]
Body1 edge F4:hole:side:0|F4:hole:side:1~2 [geometric]
Body1 edge F4:hole:side:0|F4:post:top
Body1 edge F4:hole:side:1|F4:post:top
Body1 edge F4:post:side:0|F4:post:side:1~1 [geometric]
Body1 edge F4:post:side:0|F4:post:side:1~2 [geometric]
Body1 edge F4:post:side:0|F4:post:top
Body1 edge F4:post:side:1|F4:post:top
Body1 edge F5:rest:side:0|F5:rest:side:1
Body1 edge F5:rest:side:0|F5:rest:side:3
Body1 edge F5:rest:side:0|F5:rest:top
Body1 edge F5:rest:side:1|F5:rest:side:2
Body1 edge F5:rest:side:1|F5:rest:top
Body1 edge F5:rest:side:2|F5:rest:side:3
Body1 edge F5:rest:side:2|F5:rest:top
Body1 edge F5:rest:side:3|F5:rest:top
Body1 edge F5:rest:side:4|F5:rest:side:5
Body1 edge F5:rest:side:4|F5:rest:side:7
Body1 edge F5:rest:side:4|F5:rest:top
Body1 edge F5:rest:side:5|F5:rest:side:6
Body1 edge F5:rest:side:5|F5:rest:top
Body1 edge F5:rest:side:6|F5:rest:side:7
Body1 edge F5:rest:side:6|F5:rest:top
Body1 edge F5:rest:side:7|F5:rest:top
Body1 edge F6:arm:base|F6:arm:side:1
Body1 edge F6:arm:base|F6:arm:side:2
Body1 edge F6:arm:base|F6:arm:side:3
Body1 edge F6:arm:base|F6:arm:side:4
Body1 edge F6:arm:base|F6:arm:side:5
Body1 edge F6:arm:side:1|F6:arm:side:2
Body1 edge F6:arm:side:1|F6:arm:top
Body1 edge F6:arm:side:2|F6:arm:side:3
Body1 edge F6:arm:side:2|F6:arm:top
Body1 edge F6:arm:side:3|F6:arm:side:4
Body1 edge F6:arm:side:3|F6:arm:top
Body1 edge F6:arm:side:4|F6:arm:side:5
Body1 edge F6:arm:side:4|F6:arm:top
Body1 edge F6:arm:side:5|F6:arm:top
@@ -1,68 +0,0 @@
# corpus/modern-sheet-metal: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 22 faces, 44 edges
Body1 face F2:face:0 [geometric]
Body1 face F2:face:1 [geometric]
Body1 face F2:face:10 [geometric]
Body1 face F2:face:11 [geometric]
Body1 face F2:face:12 [geometric]
Body1 face F2:face:13 [geometric]
Body1 face F2:face:14 [geometric]
Body1 face F2:face:15 [geometric]
Body1 face F2:face:16 [geometric]
Body1 face F2:face:17 [geometric]
Body1 face F2:face:18 [geometric]
Body1 face F2:face:19 [geometric]
Body1 face F2:face:2 [geometric]
Body1 face F2:face:20 [geometric]
Body1 face F2:face:21 [geometric]
Body1 face F2:face:3 [geometric]
Body1 face F2:face:4 [geometric]
Body1 face F2:face:5 [geometric]
Body1 face F2:face:6 [geometric]
Body1 face F2:face:7 [geometric]
Body1 face F2:face:8 [geometric]
Body1 face F2:face:9 [geometric]
Body1 edge F2:face:0|F2:face:14 [geometric]
Body1 edge F2:face:0|F2:face:2 [geometric]
Body1 edge F2:face:0|F2:face:3 [geometric]
Body1 edge F2:face:0|F2:face:4 [geometric]
Body1 edge F2:face:10|F2:face:11 [geometric]
Body1 edge F2:face:10|F2:face:12 [geometric]
Body1 edge F2:face:10|F2:face:13 [geometric]
Body1 edge F2:face:10|F2:face:19 [geometric]
Body1 edge F2:face:11|F2:face:12 [geometric]
Body1 edge F2:face:11|F2:face:20 [geometric]
Body1 edge F2:face:11|F2:face:9 [geometric]
Body1 edge F2:face:12|F2:face:13 [geometric]
Body1 edge F2:face:12|F2:face:9 [geometric]
Body1 edge F2:face:13|F2:face:21 [geometric]
Body1 edge F2:face:13|F2:face:9 [geometric]
Body1 edge F2:face:14|F2:face:16 [geometric]
Body1 edge F2:face:14|F2:face:17 [geometric]
Body1 edge F2:face:14|F2:face:5 [geometric]
Body1 edge F2:face:15|F2:face:16 [geometric]
Body1 edge F2:face:15|F2:face:17 [geometric]
Body1 edge F2:face:15|F2:face:6 [geometric]
Body1 edge F2:face:16|F2:face:2 [geometric]
Body1 edge F2:face:16|F2:face:7 [geometric]
Body1 edge F2:face:17|F2:face:3 [geometric]
Body1 edge F2:face:17|F2:face:8 [geometric]
Body1 edge F2:face:18|F2:face:20 [geometric]
Body1 edge F2:face:18|F2:face:21 [geometric]
Body1 edge F2:face:18|F2:face:5 [geometric]
Body1 edge F2:face:18|F2:face:9 [geometric]
Body1 edge F2:face:19|F2:face:20 [geometric]
Body1 edge F2:face:19|F2:face:21 [geometric]
Body1 edge F2:face:19|F2:face:6 [geometric]
Body1 edge F2:face:1|F2:face:15 [geometric]
Body1 edge F2:face:1|F2:face:2 [geometric]
Body1 edge F2:face:1|F2:face:3 [geometric]
Body1 edge F2:face:1|F2:face:4 [geometric]
Body1 edge F2:face:20|F2:face:7 [geometric]
Body1 edge F2:face:21|F2:face:8 [geometric]
Body1 edge F2:face:2|F2:face:4 [geometric]
Body1 edge F2:face:3|F2:face:4 [geometric]
Body1 edge F2:face:5|F2:face:7 [geometric]
Body1 edge F2:face:5|F2:face:8 [geometric]
Body1 edge F2:face:6|F2:face:7 [geometric]
Body1 edge F2:face:6|F2:face:8 [geometric]
-39
View File
@@ -1,39 +0,0 @@
# corpus/move-bodies: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Block: 6 faces, 12 edges
Block face F2:side:l1
Block face F2:side:l2
Block face F2:side:l3
Block face F2:side:l4
Block face F2:start
Block face F2:top
Block edge F2:side:l1|F2:side:l2
Block edge F2:side:l1|F2:side:l4
Block edge F2:side:l1|F2:start
Block edge F2:side:l1|F2:top
Block edge F2:side:l2|F2:side:l3
Block edge F2:side:l2|F2:start
Block edge F2:side:l2|F2:top
Block edge F2:side:l3|F2:side:l4
Block edge F2:side:l3|F2:start
Block edge F2:side:l3|F2:top
Block edge F2:side:l4|F2:start
Block edge F2:side:l4|F2:top
body Peg: 6 faces, 12 edges
Peg face F4:side:l1
Peg face F4:side:l2
Peg face F4:side:l3
Peg face F4:side:l4
Peg face F4:start
Peg face F4:top
Peg edge F4:side:l1|F4:side:l2
Peg edge F4:side:l1|F4:side:l4
Peg edge F4:side:l1|F4:start
Peg edge F4:side:l1|F4:top
Peg edge F4:side:l2|F4:side:l3
Peg edge F4:side:l2|F4:start
Peg edge F4:side:l2|F4:top
Peg edge F4:side:l3|F4:side:l4
Peg edge F4:side:l3|F4:start
Peg edge F4:side:l3|F4:top
Peg edge F4:side:l4|F4:start
Peg edge F4:side:l4|F4:top
@@ -1,47 +0,0 @@
# corpus/naming-split-pieces: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 12 faces, 30 edges
Body1 face F2:side:l1
Body1 face F2:side:l2
Body1 face F2:side:l3
Body1 face F2:side:l4
Body1 face F2:start
Body1 face F2:top#[F2:side:l2,F4:side:l2]
Body1 face F2:top#[F2:side:l4,F4:side:l4]
Body1 face F4:side:l2
Body1 face F4:side:l4
Body1 face F4:top
Body1 face F5:blend:F2:side:l2|F2:top#[F2:side:l2,F4:side:l2]
Body1 face F6:blend:F2:side:l4|F2:top#[F2:side:l4,F4:side:l4]
Body1 edge F2:side:l1|F2:side:l2
Body1 edge F2:side:l1|F2:side:l4
Body1 edge F2:side:l1|F2:start
Body1 edge F2:side:l1|F2:top#[F2:side:l2,F4:side:l2]
Body1 edge F2:side:l1|F2:top#[F2:side:l4,F4:side:l4]
Body1 edge F2:side:l1|F4:side:l2
Body1 edge F2:side:l1|F4:side:l4
Body1 edge F2:side:l1|F4:top
Body1 edge F2:side:l1|F5:blend:F2:side:l2|F2:top#[F2:side:l2,F4:side:l2]
Body1 edge F2:side:l1|F6:blend:F2:side:l4|F2:top#[F2:side:l4,F4:side:l4]
Body1 edge F2:side:l2|F2:side:l3
Body1 edge F2:side:l2|F2:start
Body1 edge F2:side:l2|F5:blend:F2:side:l2|F2:top#[F2:side:l2,F4:side:l2]
Body1 edge F2:side:l3|F2:side:l4
Body1 edge F2:side:l3|F2:start
Body1 edge F2:side:l3|F2:top#[F2:side:l2,F4:side:l2]
Body1 edge F2:side:l3|F2:top#[F2:side:l4,F4:side:l4]
Body1 edge F2:side:l3|F4:side:l2
Body1 edge F2:side:l3|F4:side:l4
Body1 edge F2:side:l3|F4:top
Body1 edge F2:side:l3|F5:blend:F2:side:l2|F2:top#[F2:side:l2,F4:side:l2]
Body1 edge F2:side:l3|F6:blend:F2:side:l4|F2:top#[F2:side:l4,F4:side:l4]
Body1 edge F2:side:l4|F2:start
Body1 edge F2:side:l4|F6:blend:F2:side:l4|F2:top#[F2:side:l4,F4:side:l4]
Body1 edge F2:top#[F2:side:l2,F4:side:l2]|F4:side:l2
Body1 edge F2:top#[F2:side:l2,F4:side:l2]|F5:blend:F2:side:l2|F2:top#[F2:side:l2,F4:side:l2]
Body1 edge F2:top#[F2:side:l4,F4:side:l4]|F4:side:l4
Body1 edge F2:top#[F2:side:l4,F4:side:l4]|F6:blend:F2:side:l4|F2:top#[F2:side:l4,F4:side:l4]
Body1 edge F4:side:l2|F4:top
Body1 edge F4:side:l4|F4:top
ref Round (5) edge 0 `?F2:side:l2|F2:top#2` -> Body1 edge F2:side:l2|F2:top#[F2:side:l2,F4:side:l2] [geometric, legacy]
ref Bevel (6) edge 0 `?F2:side:l4|F2:top#1` -> Body1 edge F2:side:l4|F2:top#[F2:side:l4,F4:side:l4] [geometric, legacy]
ref Raise (7) face 0 `?F2:top#1` -> Body1 face F2:top#[F2:side:l4,F4:side:l4] [geometric, legacy]
-49
View File
@@ -1,49 +0,0 @@
# corpus/split-body-pieces: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 7 faces, 15 edges
Body1 face F2:side:l2#[F2:side:l3,F4:side:l3]
Body1 face F2:side:l3
Body1 face F2:side:l4#[F2:side:l3,F4:side:l3]
Body1 face F2:start#[F2:side:l3,F4:side:l3]
Body1 face F2:top#[F2:side:l3,F4:side:l3]
Body1 face F4:side:l3
Body1 face F6:blend:F2:side:l3|F2:top#[F2:side:l3,F4:side:l3]
Body1 edge F2:side:l2#[F2:side:l3,F4:side:l3]|F2:side:l3
Body1 edge F2:side:l2#[F2:side:l3,F4:side:l3]|F2:start#[F2:side:l3,F4:side:l3]
Body1 edge F2:side:l2#[F2:side:l3,F4:side:l3]|F2:top#[F2:side:l3,F4:side:l3]
Body1 edge F2:side:l2#[F2:side:l3,F4:side:l3]|F4:side:l3
Body1 edge F2:side:l2#[F2:side:l3,F4:side:l3]|F6:blend:F2:side:l3|F2:top#[F2:side:l3,F4:side:l3]
Body1 edge F2:side:l3|F2:side:l4#[F2:side:l3,F4:side:l3]
Body1 edge F2:side:l3|F2:start#[F2:side:l3,F4:side:l3]
Body1 edge F2:side:l3|F6:blend:F2:side:l3|F2:top#[F2:side:l3,F4:side:l3]
Body1 edge F2:side:l4#[F2:side:l3,F4:side:l3]|F2:start#[F2:side:l3,F4:side:l3]
Body1 edge F2:side:l4#[F2:side:l3,F4:side:l3]|F2:top#[F2:side:l3,F4:side:l3]
Body1 edge F2:side:l4#[F2:side:l3,F4:side:l3]|F4:side:l3
Body1 edge F2:side:l4#[F2:side:l3,F4:side:l3]|F6:blend:F2:side:l3|F2:top#[F2:side:l3,F4:side:l3]
Body1 edge F2:start#[F2:side:l3,F4:side:l3]|F4:side:l3
Body1 edge F2:top#[F2:side:l3,F4:side:l3]|F4:side:l3
Body1 edge F2:top#[F2:side:l3,F4:side:l3]|F6:blend:F2:side:l3|F2:top#[F2:side:l3,F4:side:l3]
body Body1 (1): 7 faces, 15 edges
Body1 (1) face F2:side:l1
Body1 (1) face F2:side:l2#[F2:side:l1,F4:side:l1]
Body1 (1) face F2:side:l4#[F2:side:l1,F4:side:l1]
Body1 (1) face F2:start#[F2:side:l1,F4:side:l1]
Body1 (1) face F2:top#[F2:side:l1,F4:side:l1]
Body1 (1) face F4:side:l1
Body1 (1) face F5:blend:F2:side:l1|F2:top#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l1|F2:side:l2#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l1|F2:side:l4#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l1|F2:start#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l1|F5:blend:F2:side:l1|F2:top#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l2#[F2:side:l1,F4:side:l1]|F2:start#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l2#[F2:side:l1,F4:side:l1]|F2:top#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l2#[F2:side:l1,F4:side:l1]|F4:side:l1
Body1 (1) edge F2:side:l2#[F2:side:l1,F4:side:l1]|F5:blend:F2:side:l1|F2:top#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l4#[F2:side:l1,F4:side:l1]|F2:start#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l4#[F2:side:l1,F4:side:l1]|F2:top#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:side:l4#[F2:side:l1,F4:side:l1]|F4:side:l1
Body1 (1) edge F2:side:l4#[F2:side:l1,F4:side:l1]|F5:blend:F2:side:l1|F2:top#[F2:side:l1,F4:side:l1]
Body1 (1) edge F2:start#[F2:side:l1,F4:side:l1]|F4:side:l1
Body1 (1) edge F2:top#[F2:side:l1,F4:side:l1]|F4:side:l1
Body1 (1) edge F2:top#[F2:side:l1,F4:side:l1]|F5:blend:F2:side:l1|F2:top#[F2:side:l1,F4:side:l1]
ref NearRound (5) edge 0 `?F2:side:l1|F2:top` -> Body1 (1) edge F2:side:l1|F2:top#[F2:side:l1,F4:side:l1] [geometric, legacy]
ref FarBevel (6) edge 0 `?F2:side:l3|F2:top` -> Body1 edge F2:side:l3|F2:top#[F2:side:l3,F4:side:l3] [geometric, legacy]
-147
View File
@@ -1,147 +0,0 @@
# demo/crazy-geom-cuts: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 35 faces, 107 edges
Body1 face F2:side:l1
Body1 face F2:side:l10
Body1 face F2:side:l4
Body1 face F2:side:l7
Body1 face F2:side:l8
Body1 face F2:side:l9
Body1 face F2:start#[F2:side:l9,F5:side:l10]
Body1 face F2:start#[F3:side:l5,F5:side:l8]
Body1 face F2:top
Body1 face F3:bottom
Body1 face F3:side:l12
Body1 face F3:side:l5
Body1 face F3:start#[F2:side:l1,F2:side:l10,F7:side:l10]
Body1 face F3:start#[F3:side:l5,F7:side:l12,F7:side:l4]
Body1 face F5:side:l10#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]
Body1 face F5:side:l10#[F2:side:l8,F2:start,F7:side:l12]
Body1 face F5:side:l7
Body1 face F5:side:l8#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]
Body1 face F5:side:l8#[F2:side:l8,F2:start,F7:side:l12]
Body1 face F5:side:l9#[F2:side:l10,F7:side:l10]
Body1 face F5:side:l9#[F2:side:l8,F7:side:l12]
Body1 face F7:side:l10
Body1 face F7:side:l11
Body1 face F7:side:l12
Body1 face F7:side:l4
Body1 face F7:side:l9#[F2:side:l7,F5:side:l8,F7:side:l4]
Body1 face F7:side:l9#[F2:side:l9,F5:side:l10]
Body1 face F9:side:l17#[F2:top,F7:side:l11,F9:side:l20]
Body1 face F9:side:l17#[F3:bottom,F3:side:l12,F5:side:l7]
Body1 face F9:side:l18#[F2:side:l1,F2:top,F7:side:l11]
Body1 face F9:side:l18#[F3:bottom,F5:side:l7,F5:side:l8,F7:side:l9,F9:side:l19]
Body1 face F9:side:l19#[F2:side:l4,F2:top,F7:side:l11]
Body1 face F9:side:l19#[F3:bottom,F3:start,F7:side:l4,F7:side:l9,F9:side:l18]
Body1 face F9:side:l20#[F2:top,F7:side:l11,F9:side:l17]
Body1 face F9:side:l20#[F3:bottom,F3:side:l5,F3:start]
Body1 edge F2:side:l10|F2:side:l7
Body1 edge F2:side:l10|F2:side:l9
Body1 edge F2:side:l10|F2:top
Body1 edge F2:side:l10|F3:bottom
Body1 edge F2:side:l10|F3:start#[F2:side:l1,F2:side:l10,F7:side:l10]
Body1 edge F2:side:l10|F5:side:l10#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]
Body1 edge F2:side:l10|F5:side:l7
Body1 edge F2:side:l10|F5:side:l8#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]
Body1 edge F2:side:l10|F5:side:l9#[F2:side:l10,F7:side:l10]
Body1 edge F2:side:l1|F2:side:l10
Body1 edge F2:side:l1|F2:top
Body1 edge F2:side:l1|F3:start#[F2:side:l1,F2:side:l10,F7:side:l10]
Body1 edge F2:side:l1|F7:side:l10
Body1 edge F2:side:l1|F7:side:l11
Body1 edge F2:side:l1|F9:side:l18#[F2:side:l1,F2:top,F7:side:l11]
Body1 edge F2:side:l4|F2:side:l7
Body1 edge F2:side:l4|F2:top
Body1 edge F2:side:l4|F7:side:l11
Body1 edge F2:side:l4|F9:side:l19#[F2:side:l4,F2:top,F7:side:l11]
Body1 edge F2:side:l7|F2:side:l8
Body1 edge F2:side:l7|F2:top
Body1 edge F2:side:l7|F3:bottom
Body1 edge F2:side:l7|F3:start#[F2:side:l1,F2:side:l10,F7:side:l10]
Body1 edge F2:side:l7|F3:start#[F3:side:l5,F7:side:l12,F7:side:l4]
Body1 edge F2:side:l7|F7:side:l10
Body1 edge F2:side:l7|F7:side:l11
Body1 edge F2:side:l7|F7:side:l12
Body1 edge F2:side:l7|F7:side:l4
Body1 edge F2:side:l7|F7:side:l9#[F2:side:l7,F5:side:l8,F7:side:l4]
Body1 edge F2:side:l8|F2:side:l9
Body1 edge F2:side:l8|F2:start#[F2:side:l9,F5:side:l10]
Body1 edge F2:side:l8|F2:start#[F3:side:l5,F5:side:l8]
Body1 edge F2:side:l8|F2:top
Body1 edge F2:side:l8|F3:bottom
Body1 edge F2:side:l8|F3:side:l5
Body1 edge F2:side:l8|F5:side:l10#[F2:side:l8,F2:start,F7:side:l12]
Body1 edge F2:side:l8|F5:side:l8#[F2:side:l8,F2:start,F7:side:l12]
Body1 edge F2:side:l8|F5:side:l9#[F2:side:l8,F7:side:l12]
Body1 edge F2:side:l9|F2:start#[F2:side:l9,F5:side:l10]
Body1 edge F2:side:l9|F2:top
Body1 edge F2:side:l9|F3:bottom
Body1 edge F2:side:l9|F3:side:l12
Body1 edge F2:side:l9|F7:side:l10
Body1 edge F2:side:l9|F7:side:l11
Body1 edge F2:side:l9|F7:side:l12
Body1 edge F2:side:l9|F7:side:l9#[F2:side:l9,F5:side:l10]
Body1 edge F2:start#[F2:side:l9,F5:side:l10]|F5:side:l10#[F2:side:l8,F2:start,F7:side:l12]
Body1 edge F2:start#[F2:side:l9,F5:side:l10]|F7:side:l12
Body1 edge F2:start#[F3:side:l5,F5:side:l8]|F3:side:l5
Body1 edge F2:start#[F3:side:l5,F5:side:l8]|F5:side:l8#[F2:side:l8,F2:start,F7:side:l12]
Body1 edge F2:start#[F3:side:l5,F5:side:l8]|F7:side:l12
Body1 edge F2:top|F9:side:l17#[F2:top,F7:side:l11,F9:side:l20]
Body1 edge F2:top|F9:side:l18#[F2:side:l1,F2:top,F7:side:l11]
Body1 edge F2:top|F9:side:l19#[F2:side:l4,F2:top,F7:side:l11]
Body1 edge F2:top|F9:side:l20#[F2:top,F7:side:l11,F9:side:l17]
Body1 edge F3:bottom|F3:side:l12
Body1 edge F3:bottom|F3:side:l5
Body1 edge F3:bottom|F9:side:l17#[F3:bottom,F3:side:l12,F5:side:l7]
Body1 edge F3:bottom|F9:side:l18#[F3:bottom,F5:side:l7,F5:side:l8,F7:side:l9,F9:side:l19]
Body1 edge F3:bottom|F9:side:l19#[F3:bottom,F3:start,F7:side:l4,F7:side:l9,F9:side:l18]
Body1 edge F3:bottom|F9:side:l20#[F3:bottom,F3:side:l5,F3:start]
Body1 edge F3:side:l12|F5:side:l10#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]
Body1 edge F3:side:l12|F5:side:l7
Body1 edge F3:side:l12|F7:side:l9#[F2:side:l9,F5:side:l10]
Body1 edge F3:side:l12|F9:side:l17#[F3:bottom,F3:side:l12,F5:side:l7]
Body1 edge F3:side:l5|F3:start#[F3:side:l5,F7:side:l12,F7:side:l4]
Body1 edge F3:side:l5|F9:side:l20#[F3:bottom,F3:side:l5,F3:start]
Body1 edge F3:start#[F2:side:l1,F2:side:l10,F7:side:l10]|F7:side:l10
Body1 edge F3:start#[F3:side:l5,F7:side:l12,F7:side:l4]|F7:side:l12
Body1 edge F3:start#[F3:side:l5,F7:side:l12,F7:side:l4]|F7:side:l4
Body1 edge F3:start#[F3:side:l5,F7:side:l12,F7:side:l4]|F9:side:l19#[F3:bottom,F3:start,F7:side:l4,F7:side:l9,F9:side:l18]
Body1 edge F3:start#[F3:side:l5,F7:side:l12,F7:side:l4]|F9:side:l20#[F3:bottom,F3:side:l5,F3:start]
Body1 edge F5:side:l10#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]|F5:side:l7
Body1 edge F5:side:l10#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]|F5:side:l9#[F2:side:l10,F7:side:l10]
Body1 edge F5:side:l10#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]|F7:side:l10
Body1 edge F5:side:l10#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]|F7:side:l9#[F2:side:l9,F5:side:l10]
Body1 edge F5:side:l10#[F2:side:l8,F2:start,F7:side:l12]|F5:side:l9#[F2:side:l8,F7:side:l12]
Body1 edge F5:side:l10#[F2:side:l8,F2:start,F7:side:l12]|F7:side:l12
Body1 edge F5:side:l7|F5:side:l8#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]
Body1 edge F5:side:l7|F9:side:l17#[F3:bottom,F3:side:l12,F5:side:l7]
Body1 edge F5:side:l7|F9:side:l18#[F3:bottom,F5:side:l7,F5:side:l8,F7:side:l9,F9:side:l19]
Body1 edge F5:side:l8#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]|F5:side:l9#[F2:side:l10,F7:side:l10]
Body1 edge F5:side:l8#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]|F7:side:l10
Body1 edge F5:side:l8#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]|F7:side:l9#[F2:side:l7,F5:side:l8,F7:side:l4]
Body1 edge F5:side:l8#[F2:side:l10,F3:side:l12,F5:side:l7,F7:side:l10,F7:side:l9]|F9:side:l18#[F3:bottom,F5:side:l7,F5:side:l8,F7:side:l9,F9:side:l19]
Body1 edge F5:side:l8#[F2:side:l8,F2:start,F7:side:l12]|F5:side:l9#[F2:side:l8,F7:side:l12]
Body1 edge F5:side:l8#[F2:side:l8,F2:start,F7:side:l12]|F7:side:l12
Body1 edge F5:side:l9#[F2:side:l10,F7:side:l10]|F7:side:l10
Body1 edge F5:side:l9#[F2:side:l8,F7:side:l12]|F7:side:l12
Body1 edge F7:side:l10|F7:side:l11
Body1 edge F7:side:l10|F7:side:l9#[F2:side:l7,F5:side:l8,F7:side:l4]
Body1 edge F7:side:l10|F7:side:l9#[F2:side:l9,F5:side:l10]
Body1 edge F7:side:l11|F7:side:l12
Body1 edge F7:side:l11|F9:side:l17#[F2:top,F7:side:l11,F9:side:l20]
Body1 edge F7:side:l11|F9:side:l18#[F2:side:l1,F2:top,F7:side:l11]
Body1 edge F7:side:l11|F9:side:l19#[F2:side:l4,F2:top,F7:side:l11]
Body1 edge F7:side:l11|F9:side:l20#[F2:top,F7:side:l11,F9:side:l17]
Body1 edge F7:side:l4|F7:side:l9#[F2:side:l7,F5:side:l8,F7:side:l4]
Body1 edge F7:side:l4|F9:side:l19#[F3:bottom,F3:start,F7:side:l4,F7:side:l9,F9:side:l18]
Body1 edge F7:side:l9#[F2:side:l7,F5:side:l8,F7:side:l4]|F9:side:l18#[F3:bottom,F5:side:l7,F5:side:l8,F7:side:l9,F9:side:l19]
Body1 edge F7:side:l9#[F2:side:l7,F5:side:l8,F7:side:l4]|F9:side:l19#[F3:bottom,F3:start,F7:side:l4,F7:side:l9,F9:side:l18]
Body1 edge F9:side:l17#[F2:top,F7:side:l11,F9:side:l20]|F9:side:l18#[F2:side:l1,F2:top,F7:side:l11]
Body1 edge F9:side:l17#[F2:top,F7:side:l11,F9:side:l20]|F9:side:l20#[F2:top,F7:side:l11,F9:side:l17]
Body1 edge F9:side:l17#[F3:bottom,F3:side:l12,F5:side:l7]|F9:side:l18#[F3:bottom,F5:side:l7,F5:side:l8,F7:side:l9,F9:side:l19]
Body1 edge F9:side:l18#[F3:bottom,F5:side:l7,F5:side:l8,F7:side:l9,F9:side:l19]|F9:side:l19#[F3:bottom,F3:start,F7:side:l4,F7:side:l9,F9:side:l18]
Body1 edge F9:side:l19#[F2:side:l4,F2:top,F7:side:l11]|F9:side:l20#[F2:top,F7:side:l11,F9:side:l17]
Body1 edge F9:side:l19#[F3:bottom,F3:start,F7:side:l4,F7:side:l9,F9:side:l18]|F9:side:l20#[F3:bottom,F3:side:l5,F3:start]
ref Sketch2 (4) plane `F2:side:l10` on Body1 (lineage) -> healthy: Body1 faces F2:side:l10
ref Sketch3 (6) plane `F2:side:l9` on Body1 (lineage) -> healthy: Body1 faces F2:side:l9
ref Sketch4 (8) plane `F2:top` on Body1 (lineage) -> healthy: Body1 faces F2:top
-166
View File
@@ -1,166 +0,0 @@
# demo/enclosure_steps: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Enclosure: 47 faces, 108 edges
Enclosure face F10:hole:base
Enclosure face F10:hole:side:0
Enclosure face F10:hole:side:1
Enclosure face F10:post:side:0
Enclosure face F10:post:side:1
Enclosure face F10:post:top
Enclosure face F2:side:l1
Enclosure face F2:side:l2
Enclosure face F2:side:l3
Enclosure face F2:side:l4
Enclosure face F2:start
Enclosure face F2:top
Enclosure face F3:blend:F2:side:l1|F2:side:l2
Enclosure face F3:blend:F2:side:l1|F2:side:l4
Enclosure face F3:blend:F2:side:l2|F2:side:l3
Enclosure face F3:blend:F2:side:l3|F2:side:l4
Enclosure face F4:inner:F2:side:l1
Enclosure face F4:inner:F2:side:l2
Enclosure face F4:inner:F2:side:l3
Enclosure face F4:inner:F2:side:l4
Enclosure face F4:inner:F2:start
Enclosure face F4:inner:F3:blend:F2:side:l1|F2:side:l2
Enclosure face F4:inner:F3:blend:F2:side:l1|F2:side:l4
Enclosure face F4:inner:F3:blend:F2:side:l2|F2:side:l3
Enclosure face F4:inner:F3:blend:F2:side:l3|F2:side:l4
Enclosure face F6:side:l1
Enclosure face F6:side:l2
Enclosure face F6:side:l3
Enclosure face F6:side:l4
Enclosure face F7:hole:base
Enclosure face F7:hole:side:0
Enclosure face F7:hole:side:1
Enclosure face F7:post:side:0
Enclosure face F7:post:side:1
Enclosure face F7:post:top
Enclosure face F8:hole:base
Enclosure face F8:hole:side:0
Enclosure face F8:hole:side:1
Enclosure face F8:post:side:0
Enclosure face F8:post:side:1
Enclosure face F8:post:top
Enclosure face F9:hole:base
Enclosure face F9:hole:side:0
Enclosure face F9:hole:side:1
Enclosure face F9:post:side:0
Enclosure face F9:post:side:1
Enclosure face F9:post:top
Enclosure edge F10:hole:base|F10:hole:side:0
Enclosure edge F10:hole:base|F10:hole:side:1
Enclosure edge F10:hole:side:0|F10:hole:side:1~1 [geometric]
Enclosure edge F10:hole:side:0|F10:hole:side:1~2 [geometric]
Enclosure edge F10:hole:side:0|F10:post:top
Enclosure edge F10:hole:side:1|F10:post:top
Enclosure edge F10:post:side:0|F10:post:side:1~1 [geometric]
Enclosure edge F10:post:side:0|F10:post:side:1~2 [geometric]
Enclosure edge F10:post:side:0|F10:post:top
Enclosure edge F10:post:side:0|F4:inner:F2:start
Enclosure edge F10:post:side:1|F10:post:top
Enclosure edge F10:post:side:1|F4:inner:F2:start
Enclosure edge F2:side:l1|F2:start
Enclosure edge F2:side:l1|F2:top
Enclosure edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2
Enclosure edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4
Enclosure edge F2:side:l2|F2:start
Enclosure edge F2:side:l2|F2:top
Enclosure edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2
Enclosure edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3
Enclosure edge F2:side:l2|F6:side:l1
Enclosure edge F2:side:l2|F6:side:l2
Enclosure edge F2:side:l2|F6:side:l3
Enclosure edge F2:side:l2|F6:side:l4
Enclosure edge F2:side:l3|F2:start
Enclosure edge F2:side:l3|F2:top
Enclosure edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3
Enclosure edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4
Enclosure edge F2:side:l4|F2:start
Enclosure edge F2:side:l4|F2:top
Enclosure edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4
Enclosure edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4
Enclosure edge F2:start|F3:blend:F2:side:l1|F2:side:l2
Enclosure edge F2:start|F3:blend:F2:side:l1|F2:side:l4
Enclosure edge F2:start|F3:blend:F2:side:l2|F2:side:l3
Enclosure edge F2:start|F3:blend:F2:side:l3|F2:side:l4
Enclosure edge F2:top|F3:blend:F2:side:l1|F2:side:l2
Enclosure edge F2:top|F3:blend:F2:side:l1|F2:side:l4
Enclosure edge F2:top|F3:blend:F2:side:l2|F2:side:l3
Enclosure edge F2:top|F3:blend:F2:side:l3|F2:side:l4
Enclosure edge F2:top|F4:inner:F2:side:l1
Enclosure edge F2:top|F4:inner:F2:side:l2
Enclosure edge F2:top|F4:inner:F2:side:l3
Enclosure edge F2:top|F4:inner:F2:side:l4
Enclosure edge F2:top|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Enclosure edge F2:top|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Enclosure edge F2:top|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Enclosure edge F2:top|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Enclosure edge F4:inner:F2:side:l1|F4:inner:F2:start
Enclosure edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Enclosure edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Enclosure edge F4:inner:F2:side:l2|F4:inner:F2:start
Enclosure edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Enclosure edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Enclosure edge F4:inner:F2:side:l2|F6:side:l1
Enclosure edge F4:inner:F2:side:l2|F6:side:l2
Enclosure edge F4:inner:F2:side:l2|F6:side:l3
Enclosure edge F4:inner:F2:side:l2|F6:side:l4
Enclosure edge F4:inner:F2:side:l3|F4:inner:F2:start
Enclosure edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Enclosure edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Enclosure edge F4:inner:F2:side:l4|F4:inner:F2:start
Enclosure edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Enclosure edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Enclosure edge F4:inner:F2:start|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Enclosure edge F4:inner:F2:start|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Enclosure edge F4:inner:F2:start|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Enclosure edge F4:inner:F2:start|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Enclosure edge F4:inner:F2:start|F7:post:side:0
Enclosure edge F4:inner:F2:start|F7:post:side:1
Enclosure edge F4:inner:F2:start|F8:post:side:0
Enclosure edge F4:inner:F2:start|F8:post:side:1
Enclosure edge F4:inner:F2:start|F9:post:side:0
Enclosure edge F4:inner:F2:start|F9:post:side:1
Enclosure edge F6:side:l1|F6:side:l2
Enclosure edge F6:side:l1|F6:side:l4
Enclosure edge F6:side:l2|F6:side:l3
Enclosure edge F6:side:l3|F6:side:l4
Enclosure edge F7:hole:base|F7:hole:side:0
Enclosure edge F7:hole:base|F7:hole:side:1
Enclosure edge F7:hole:side:0|F7:hole:side:1~1 [geometric]
Enclosure edge F7:hole:side:0|F7:hole:side:1~2 [geometric]
Enclosure edge F7:hole:side:0|F7:post:top
Enclosure edge F7:hole:side:1|F7:post:top
Enclosure edge F7:post:side:0|F7:post:side:1~1 [geometric]
Enclosure edge F7:post:side:0|F7:post:side:1~2 [geometric]
Enclosure edge F7:post:side:0|F7:post:top
Enclosure edge F7:post:side:1|F7:post:top
Enclosure edge F8:hole:base|F8:hole:side:0
Enclosure edge F8:hole:base|F8:hole:side:1
Enclosure edge F8:hole:side:0|F8:hole:side:1~1 [geometric]
Enclosure edge F8:hole:side:0|F8:hole:side:1~2 [geometric]
Enclosure edge F8:hole:side:0|F8:post:top
Enclosure edge F8:hole:side:1|F8:post:top
Enclosure edge F8:post:side:0|F8:post:side:1~1 [geometric]
Enclosure edge F8:post:side:0|F8:post:side:1~2 [geometric]
Enclosure edge F8:post:side:0|F8:post:top
Enclosure edge F8:post:side:1|F8:post:top
Enclosure edge F9:hole:base|F9:hole:side:0
Enclosure edge F9:hole:base|F9:hole:side:1
Enclosure edge F9:hole:side:0|F9:hole:side:1~1 [geometric]
Enclosure edge F9:hole:side:0|F9:hole:side:1~2 [geometric]
Enclosure edge F9:hole:side:0|F9:post:top
Enclosure edge F9:hole:side:1|F9:post:top
Enclosure edge F9:post:side:0|F9:post:side:1~1 [geometric]
Enclosure edge F9:post:side:0|F9:post:side:1~2 [geometric]
Enclosure edge F9:post:side:0|F9:post:top
Enclosure edge F9:post:side:1|F9:post:top
ref Fillet1 (3) edge 0 `F2:side:l2|F2:side:l3` -> Enclosure edge F2:side:l2|F2:side:l3
ref Fillet1 (3) edge 1 `F2:side:l3|F2:side:l4` -> Enclosure edge F2:side:l3|F2:side:l4
ref Fillet1 (3) edge 2 `F2:side:l1|F2:side:l4` -> Enclosure edge F2:side:l1|F2:side:l4
ref Fillet1 (3) edge 3 `F2:side:l1|F2:side:l2` -> Enclosure edge F2:side:l1|F2:side:l2
ref Shell1 (4) face 0 `F2:top` -> Enclosure face F2:top
ref Boss1 (7) face 0 `F4:inner:F2:start` -> Enclosure face F4:inner:F2:start
ref Boss2 (8) face 0 `F4:inner:F2:start` -> Enclosure face F4:inner:F2:start
ref Boss3 (9) face 0 `F4:inner:F2:start` -> Enclosure face F4:inner:F2:start
ref Boss4 (10) face 0 `F4:inner:F2:start` -> Enclosure face F4:inner:F2:start
-45
View File
@@ -1,45 +0,0 @@
# demo/logo-up-down-join: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body2: 12 faces, 30 edges
Body2 face F6:side:l1
Body2 face F6:side:l10
Body2 face F6:side:l4
Body2 face F6:side:l7
Body2 face F6:side:l8
Body2 face F6:side:l9
Body2 face F6:start
Body2 face F6:top
Body2 face F7:bottom
Body2 face F7:side:l12
Body2 face F7:side:l5
Body2 face F7:start
Body2 edge F6:side:l10|F6:side:l7
Body2 edge F6:side:l10|F6:side:l9
Body2 edge F6:side:l10|F6:top
Body2 edge F6:side:l10|F7:bottom
Body2 edge F6:side:l10|F7:start
Body2 edge F6:side:l1|F6:side:l10
Body2 edge F6:side:l1|F6:side:l4
Body2 edge F6:side:l1|F6:top
Body2 edge F6:side:l1|F7:start
Body2 edge F6:side:l4|F6:side:l7
Body2 edge F6:side:l4|F6:top
Body2 edge F6:side:l4|F7:start
Body2 edge F6:side:l7|F6:side:l8
Body2 edge F6:side:l7|F6:top
Body2 edge F6:side:l7|F7:bottom
Body2 edge F6:side:l7|F7:start
Body2 edge F6:side:l8|F6:side:l9
Body2 edge F6:side:l8|F6:start
Body2 edge F6:side:l8|F6:top
Body2 edge F6:side:l8|F7:bottom
Body2 edge F6:side:l8|F7:side:l5
Body2 edge F6:side:l9|F6:start
Body2 edge F6:side:l9|F6:top
Body2 edge F6:side:l9|F7:bottom
Body2 edge F6:side:l9|F7:side:l12
Body2 edge F6:start|F7:side:l12
Body2 edge F6:start|F7:side:l5
Body2 edge F7:bottom|F7:side:l12
Body2 edge F7:bottom|F7:side:l5
Body2 edge F7:side:l12|F7:side:l5
ref Shell1 (3) face 0 `F2:top` -> Body1 face F2:top
-485
View File
@@ -1,485 +0,0 @@
# demo/pi-case-0.8: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 131 faces, 334 edges
Body1 face F10:side:l11
Body1 face F10:side:l12
Body1 face F10:side:l13
Body1 face F10:side:l14
Body1 face F10:side:l17
Body1 face F10:side:l18
Body1 face F10:side:l19
Body1 face F10:side:l20
Body1 face F10:side:l5
Body1 face F10:side:l6
Body1 face F10:side:l7
Body1 face F10:side:l8
Body1 face F12:side:l5
Body1 face F12:side:l6
Body1 face F12:side:l7
Body1 face F12:side:l8
Body1 face F14:side:l5
Body1 face F14:side:l5@F15.1
Body1 face F14:side:l5@F15.2
Body1 face F14:side:l5@F15.3
Body1 face F14:side:l5@F15.4
Body1 face F14:side:l6
Body1 face F14:side:l6@F15.1
Body1 face F14:side:l6@F15.2
Body1 face F14:side:l6@F15.3
Body1 face F14:side:l6@F15.4
Body1 face F14:side:l7
Body1 face F14:side:l7@F15.1
Body1 face F14:side:l7@F15.2
Body1 face F14:side:l7@F15.3
Body1 face F14:side:l7@F15.4
Body1 face F14:side:l8
Body1 face F14:side:l8@F15.1
Body1 face F14:side:l8@F15.2
Body1 face F14:side:l8@F15.3
Body1 face F14:side:l8@F15.4
Body1 face F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]
Body1 face F17:bottom#[F17:side:l65,F17:side:l66,F17:side:l67,F17:side:l68]
Body1 face F17:bottom#[F17:side:l69,F17:side:l70,F17:side:l71,F17:side:l72]
Body1 face F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]
Body1 face F17:side:k10 [geometric]
Body1 face F17:side:k11 [geometric]
Body1 face F17:side:k12 [geometric]
Body1 face F17:side:k13 [geometric]
Body1 face F17:side:k14 [geometric]
Body1 face F17:side:k15 [geometric]
Body1 face F17:side:k16 [geometric]
Body1 face F17:side:k9 [geometric]
Body1 face F17:side:l57
Body1 face F17:side:l58
Body1 face F17:side:l59
Body1 face F17:side:l60
Body1 face F17:side:l61
Body1 face F17:side:l62
Body1 face F17:side:l63
Body1 face F17:side:l64
Body1 face F17:side:l65
Body1 face F17:side:l66
Body1 face F17:side:l67
Body1 face F17:side:l68
Body1 face F17:side:l69
Body1 face F17:side:l70
Body1 face F17:side:l71
Body1 face F17:side:l72
Body1 face F17:side:l73
Body1 face F17:side:l74
Body1 face F17:side:l75
Body1 face F17:side:l76
Body1 face F17:side:l77
Body1 face F17:side:l78
Body1 face F17:side:l79
Body1 face F17:side:l80
Body1 face F17:side:l81
Body1 face F17:side:l82
Body1 face F17:side:l83
Body1 face F17:side:l84
Body1 face F17:side:l85
Body1 face F17:side:l86
Body1 face F2:side:l1
Body1 face F2:side:l2
Body1 face F2:side:l3
Body1 face F2:side:l4
Body1 face F2:start
Body1 face F2:top
Body1 face F3:blend:F2:side:l1|F2:side:l2
Body1 face F3:blend:F2:side:l1|F2:side:l4
Body1 face F3:blend:F2:side:l2|F2:side:l3
Body1 face F3:blend:F2:side:l3|F2:side:l4
Body1 face F4:inner:F2:side:l1
Body1 face F4:inner:F2:side:l2
Body1 face F4:inner:F2:side:l3
Body1 face F4:inner:F2:side:l4
Body1 face 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 face 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:l62,F17:side:l63,F17:side:l64]
Body1 face 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:l73,F17:side:l74,F17:side:l75]
Body1 face 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]#[F7:side:c2@F8.1]
Body1 face 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]#[F7:side:c2@F8.2]
Body1 face 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]#[F7:side:c2@F8.3]
Body1 face F4:inner:F2:start#[F7:side:c2]
Body1 face F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 face F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 face F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 face F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 face F5:blend:F2:side:l1|F2:top
Body1 face F5:blend:F2:side:l2|F2:top
Body1 face F5:blend:F2:side:l3|F2:top
Body1 face F5:blend:F2:side:l4|F2:top
Body1 face F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Body1 face F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Body1 face F5:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Body1 face F5:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Body1 face F7:side:c1#1
Body1 face F7:side:c1#2
Body1 face F7:side:c1@F8.1#1
Body1 face F7:side:c1@F8.1#2
Body1 face F7:side:c1@F8.2#1
Body1 face F7:side:c1@F8.2#2
Body1 face F7:side:c1@F8.3#1
Body1 face F7:side:c1@F8.3#2
Body1 face F7:side:c2#1
Body1 face F7:side:c2#2
Body1 face F7:side:c2@F8.1#1
Body1 face F7:side:c2@F8.1#2
Body1 face F7:side:c2@F8.2#1
Body1 face F7:side:c2@F8.2#2
Body1 face F7:side:c2@F8.3#1
Body1 face F7:side:c2@F8.3#2
Body1 face F7:top
Body1 face F7:top@F8.1
Body1 face F7:top@F8.2
Body1 face F7:top@F8.3
Body1 edge F10:side:l11|F10:side:l12
Body1 edge F10:side:l11|F10:side:l14
Body1 edge F10:side:l11|F2:side:l1
Body1 edge F10:side:l11|F4:inner:F2:side:l1
Body1 edge F10:side:l12|F10:side:l13
Body1 edge F10:side:l12|F2:side:l1
Body1 edge F10:side:l12|F4:inner:F2:side:l1
Body1 edge F10:side:l13|F10:side:l14
Body1 edge F10:side:l13|F2:side:l1
Body1 edge F10:side:l13|F4:inner:F2:side:l1
Body1 edge F10:side:l14|F2:side:l1
Body1 edge F10:side:l14|F4:inner:F2:side:l1
Body1 edge F10:side:l17|F10:side:l18
Body1 edge F10:side:l17|F10:side:l20
Body1 edge F10:side:l17|F2:side:l1
Body1 edge F10:side:l17|F4:inner:F2:side:l1
Body1 edge F10:side:l18|F10:side:l19
Body1 edge F10:side:l18|F2:side:l1
Body1 edge F10:side:l18|F4:inner:F2:side:l1
Body1 edge F10:side:l19|F10:side:l20
Body1 edge F10:side:l19|F2:side:l1
Body1 edge F10:side:l19|F4:inner:F2:side:l1
Body1 edge F10:side:l20|F2:side:l1
Body1 edge F10:side:l20|F4:inner:F2:side:l1
Body1 edge F10:side:l5|F10:side:l6
Body1 edge F10:side:l5|F10:side:l8
Body1 edge F10:side:l5|F2:side:l1
Body1 edge F10:side:l5|F4:inner:F2:side:l1
Body1 edge F10:side:l6|F10:side:l7
Body1 edge F10:side:l6|F2:side:l1
Body1 edge F10:side:l6|F4:inner:F2:side:l1
Body1 edge F10:side:l7|F10:side:l8
Body1 edge F10:side:l7|F2:side:l1
Body1 edge F10:side:l7|F4:inner:F2:side:l1
Body1 edge F10:side:l8|F2:side:l1
Body1 edge F10:side:l8|F4:inner:F2:side:l1
Body1 edge F12:side:l5|F12:side:l6
Body1 edge F12:side:l5|F12:side:l8
Body1 edge F12:side:l5|F2:side:l2
Body1 edge F12:side:l5|F4:inner:F2:side:l2
Body1 edge F12:side:l6|F12:side:l7
Body1 edge F12:side:l6|F2:side:l2
Body1 edge F12:side:l6|F4:inner:F2:side:l2
Body1 edge F12:side:l7|F12:side:l8
Body1 edge F12:side:l7|F2:side:l2
Body1 edge F12:side:l7|F4:inner:F2:side:l2
Body1 edge F12:side:l8|F2:side:l2
Body1 edge F12:side:l8|F4:inner:F2:side:l2
Body1 edge F14:side:l5@F15.1|F14:side:l6@F15.1
Body1 edge F14:side:l5@F15.1|F14:side:l8@F15.1
Body1 edge F14:side:l5@F15.1|F2:start
Body1 edge F14:side:l5@F15.1|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l5@F15.2|F14:side:l6@F15.2
Body1 edge F14:side:l5@F15.2|F14:side:l8@F15.2
Body1 edge F14:side:l5@F15.2|F2:start
Body1 edge F14:side:l5@F15.2|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l5@F15.3|F14:side:l6@F15.3
Body1 edge F14:side:l5@F15.3|F14:side:l8@F15.3
Body1 edge F14:side:l5@F15.3|F2:start
Body1 edge F14:side:l5@F15.3|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l5@F15.4|F14:side:l6@F15.4
Body1 edge F14:side:l5@F15.4|F14:side:l8@F15.4
Body1 edge F14:side:l5@F15.4|F2:start
Body1 edge F14:side:l5@F15.4|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l5|F14:side:l6
Body1 edge F14:side:l5|F14:side:l8
Body1 edge F14:side:l5|F2:start
Body1 edge F14:side:l5|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l6@F15.1|F14:side:l7@F15.1
Body1 edge F14:side:l6@F15.1|F2:start
Body1 edge F14:side:l6@F15.1|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l6@F15.2|F14:side:l7@F15.2
Body1 edge F14:side:l6@F15.2|F2:start
Body1 edge F14:side:l6@F15.2|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l6@F15.3|F14:side:l7@F15.3
Body1 edge F14:side:l6@F15.3|F2:start
Body1 edge F14:side:l6@F15.3|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l6@F15.4|F14:side:l7@F15.4
Body1 edge F14:side:l6@F15.4|F2:start
Body1 edge F14:side:l6@F15.4|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l6|F14:side:l7
Body1 edge F14:side:l6|F2:start
Body1 edge F14:side:l6|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l7@F15.1|F14:side:l8@F15.1
Body1 edge F14:side:l7@F15.1|F2:start
Body1 edge F14:side:l7@F15.1|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l7@F15.2|F14:side:l8@F15.2
Body1 edge F14:side:l7@F15.2|F2:start
Body1 edge F14:side:l7@F15.2|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l7@F15.3|F14:side:l8@F15.3
Body1 edge F14:side:l7@F15.3|F2:start
Body1 edge F14:side:l7@F15.3|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l7@F15.4|F14:side:l8@F15.4
Body1 edge F14:side:l7@F15.4|F2:start
Body1 edge F14:side:l7@F15.4|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l7|F14:side:l8
Body1 edge F14:side:l7|F2:start
Body1 edge F14:side:l7|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l8@F15.1|F2:start
Body1 edge F14:side:l8@F15.1|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l8@F15.2|F2:start
Body1 edge F14:side:l8@F15.2|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l8@F15.3|F2:start
Body1 edge F14:side:l8@F15.3|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l8@F15.4|F2:start
Body1 edge F14:side:l8@F15.4|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F14:side:l8|F2:start
Body1 edge F14:side:l8|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:k10 [geometric]
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:k11 [geometric]
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:k12 [geometric]
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:k13 [geometric]
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:k14 [geometric]
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:k15 [geometric]
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:k16 [geometric]
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:k9 [geometric]
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:l57
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:l58
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:l59
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:l60
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:l61
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:l62
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:l63
Body1 edge F17:bottom#[F17:side:k10,F17:side:k11,F17:side:k12,F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:k9,F17:side:l57,F17:side:l58,F17:side:l59,F17:side:l60,F17:side:l61,F17:side:l62,F17:side:l63,F17:side:l64]|F17:side:l64
Body1 edge F17:bottom#[F17:side:l65,F17:side:l66,F17:side:l67,F17:side:l68]|F17:side:l65
Body1 edge F17:bottom#[F17:side:l65,F17:side:l66,F17:side:l67,F17:side:l68]|F17:side:l66
Body1 edge F17:bottom#[F17:side:l65,F17:side:l66,F17:side:l67,F17:side:l68]|F17:side:l67
Body1 edge F17:bottom#[F17:side:l65,F17:side:l66,F17:side:l67,F17:side:l68]|F17:side:l68
Body1 edge F17:bottom#[F17:side:l69,F17:side:l70,F17:side:l71,F17:side:l72]|F17:side:l69
Body1 edge F17:bottom#[F17:side:l69,F17:side:l70,F17:side:l71,F17:side:l72]|F17:side:l70
Body1 edge F17:bottom#[F17:side:l69,F17:side:l70,F17:side:l71,F17:side:l72]|F17:side:l71
Body1 edge F17:bottom#[F17:side:l69,F17:side:l70,F17:side:l71,F17:side:l72]|F17:side:l72
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l73
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l74
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l75
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l76
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l77
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l78
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l79
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l80
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l81
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l82
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l83
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l84
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l85
Body1 edge F17:bottom#[F17:side:l73,F17:side:l74,F17:side:l75,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]|F17:side:l86
Body1 edge F17:side:k10|F17:side:k11 [geometric]
Body1 edge F17:side:k10|F17:side:k9 [geometric]
Body1 edge F17:side:k10|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3] [geometric]
Body1 edge F17:side:k11|F17:side:k12 [geometric]
Body1 edge F17:side:k11|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3] [geometric]
Body1 edge F17:side:k12|F17:side:l58 [geometric]
Body1 edge F17:side:k12|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3] [geometric]
Body1 edge F17:side:k13|F17:side:k14 [geometric]
Body1 edge F17:side:k13|F17:side:l63 [geometric]
Body1 edge F17:side:k13|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:l62,F17:side:l63,F17:side:l64] [geometric]
Body1 edge F17:side:k14|F17:side:k15 [geometric]
Body1 edge F17:side:k14|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:l62,F17:side:l63,F17:side:l64] [geometric]
Body1 edge F17:side:k15|F17:side:k16 [geometric]
Body1 edge F17:side:k15|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:l62,F17:side:l63,F17:side:l64] [geometric]
Body1 edge F17:side:k16|F17:side:l64 [geometric]
Body1 edge F17:side:k16|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:l62,F17:side:l63,F17:side:l64] [geometric]
Body1 edge F17:side:k9|F17:side:l57 [geometric]
Body1 edge F17:side:k9|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3] [geometric]
Body1 edge F17:side:l57|F17:side:l61
Body1 edge F17:side:l57|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l58|F17:side:l59
Body1 edge F17:side:l58|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l59|F17:side:l60
Body1 edge F17:side:l59|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l60|F17:side:l61
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l62|F17:side:l63
Body1 edge F17:side:l62|F17:side:l64
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:l62,F17:side:l63,F17:side:l64]
Body1 edge F17:side:l63|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:l62,F17:side:l63,F17:side:l64]
Body1 edge F17:side:l64|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:k13,F17:side:k14,F17:side:k15,F17:side:k16,F17:side:l62,F17:side:l63,F17:side:l64]
Body1 edge F17:side:l65|F17:side:l66
Body1 edge F17:side:l65|F17:side:l68
Body1 edge F17:side:l65|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l66|F17:side:l67
Body1 edge F17:side:l66|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l67|F17:side:l68
Body1 edge F17:side:l67|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l68|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l69|F17:side:l70
Body1 edge F17:side:l69|F17:side:l72
Body1 edge F17:side:l69|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l70|F17:side:l71
Body1 edge F17:side:l70|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l71|F17:side:l72
Body1 edge F17:side:l71|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l72|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l73|F17:side:l74
Body1 edge F17:side:l73|F17:side:l75
Body1 edge F17:side:l73|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:l73,F17:side:l74,F17:side:l75]
Body1 edge F17:side:l74|F17:side:l75
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:l73,F17:side:l74,F17:side:l75]
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F17:side:l73,F17:side:l74,F17:side:l75]
Body1 edge F17:side:l76|F17:side:l77
Body1 edge F17:side:l76|F17:side:l86
Body1 edge F17:side:l76|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l77|F17:side:l78
Body1 edge F17:side:l77|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l78|F17:side:l79
Body1 edge F17:side:l78|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l79|F17:side:l80
Body1 edge F17:side:l79|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l80|F17:side:l81
Body1 edge F17:side:l80|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l81|F17:side:l82
Body1 edge F17:side:l81|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l82|F17:side:l83
Body1 edge F17:side:l82|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l83|F17:side:l84
Body1 edge F17:side:l83|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l84|F17:side:l85
Body1 edge F17:side:l84|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l85|F17:side:l86
Body1 edge F17:side:l85|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F17:side:l86|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F2:side:l1|F2:start
Body1 edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:side:l1|F5:blend:F2:side:l1|F2:top
Body1 edge F2:side:l2|F2:start
Body1 edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:side:l2|F5:blend:F2:side:l2|F2:top
Body1 edge F2:side:l3|F2:start
Body1 edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F2:side:l3|F5:blend:F2:side:l3|F2:top
Body1 edge F2:side:l4|F2:start
Body1 edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F2:side:l4|F5:blend:F2:side:l4|F2:top
Body1 edge F2:start|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:start|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:start|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:start|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F2:top|F4:inner:F2:side:l1
Body1 edge F2:top|F4:inner:F2:side:l2
Body1 edge F2:top|F4:inner:F2:side:l3
Body1 edge F2:top|F4:inner:F2:side:l4
Body1 edge F2:top|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:top|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:top|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:top|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 edge F2:top|F5:blend:F2:side:l1|F2:top
Body1 edge F2:top|F5:blend:F2:side:l2|F2:top
Body1 edge F2:top|F5:blend:F2:side:l3|F2:top
Body1 edge F2:top|F5:blend:F2:side:l4|F2:top
Body1 edge F2:top|F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:top|F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:top|F5:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:top|F5:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F3:blend:F2:side:l1|F2:side:l2|F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F3:blend:F2:side:l1|F2:side:l4|F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F3:blend:F2:side:l2|F2:side:l3|F5:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F3:blend:F2:side:l3|F2:side:l4|F5:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F4:inner:F2:side:l1|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 edge F4:inner:F2:side:l2|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 edge F4:inner:F2:side:l3|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 edge F4:inner:F2:side:l4|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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]
Body1 edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F7:side:c1#1
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F7:side:c1#2
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F7:side:c1@F8.1#1
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F7:side:c1@F8.1#2
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F7:side:c1@F8.2#1
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F7:side:c1@F8.2#2
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F7:side:c1@F8.3#1
Body1 edge 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]#[F14:side:l5,F14:side:l5@F15.1,F14:side:l5@F15.2,F14:side:l5@F15.3,F14:side:l5@F15.4,F14:side:l6,F14:side:l6@F15.1,F14:side:l6@F15.2,F14:side:l6@F15.3,F14:side:l6@F15.4,F14:side:l7,F14:side:l7@F15.1,F14:side:l7@F15.2,F14:side:l7@F15.3,F14:side:l7@F15.4,F14:side:l8,F14:side:l8@F15.1,F14:side:l8@F15.2,F14:side:l8@F15.3,F14:side:l8@F15.4,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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3]|F7:side:c1@F8.3#2
Body1 edge 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]#[F7:side:c2@F8.1]|F7:side:c2@F8.1#1
Body1 edge 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]#[F7:side:c2@F8.1]|F7:side:c2@F8.1#2
Body1 edge 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]#[F7:side:c2@F8.2]|F7:side:c2@F8.2#1
Body1 edge 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]#[F7:side:c2@F8.2]|F7:side:c2@F8.2#2
Body1 edge 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]#[F7:side:c2@F8.3]|F7:side:c2@F8.3#1
Body1 edge 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]#[F7:side:c2@F8.3]|F7:side:c2@F8.3#2
Body1 edge F4:inner:F2:start#[F7:side:c2]|F7:side:c2#1
Body1 edge F4:inner:F2:start#[F7:side:c2]|F7:side:c2#2
Body1 edge F5:blend:F2:side:l1|F2:top|F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F5:blend:F2:side:l1|F2:top|F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F5:blend:F2:side:l2|F2:top|F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F5:blend:F2:side:l2|F2:top|F5:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F5:blend:F2:side:l3|F2:top|F5:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F5:blend:F2:side:l3|F2:top|F5:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F5:blend:F2:side:l4|F2:top|F5:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F5:blend:F2:side:l4|F2:top|F5:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F7:side:c1#1|F7:side:c1#2~1 [geometric]
Body1 edge F7:side:c1#1|F7:side:c1#2~2 [geometric]
Body1 edge F7:side:c1#1|F7:top
Body1 edge F7:side:c1#2|F7:top
Body1 edge F7:side:c1@F8.1#1|F7:side:c1@F8.1#2~1 [geometric]
Body1 edge F7:side:c1@F8.1#1|F7:side:c1@F8.1#2~2 [geometric]
Body1 edge F7:side:c1@F8.1#1|F7:top@F8.1
Body1 edge F7:side:c1@F8.1#2|F7:top@F8.1
Body1 edge F7:side:c1@F8.2#1|F7:side:c1@F8.2#2~1 [geometric]
Body1 edge F7:side:c1@F8.2#1|F7:side:c1@F8.2#2~2 [geometric]
Body1 edge F7:side:c1@F8.2#1|F7:top@F8.2
Body1 edge F7:side:c1@F8.2#2|F7:top@F8.2
Body1 edge F7:side:c1@F8.3#1|F7:side:c1@F8.3#2~1 [geometric]
Body1 edge F7:side:c1@F8.3#1|F7:side:c1@F8.3#2~2 [geometric]
Body1 edge F7:side:c1@F8.3#1|F7:top@F8.3
Body1 edge F7:side:c1@F8.3#2|F7:top@F8.3
Body1 edge F7:side:c2#1|F7:side:c2#2~1 [geometric]
Body1 edge F7:side:c2#1|F7:side:c2#2~2 [geometric]
Body1 edge F7:side:c2#1|F7:top
Body1 edge F7:side:c2#2|F7:top
Body1 edge F7:side:c2@F8.1#1|F7:side:c2@F8.1#2~1 [geometric]
Body1 edge F7:side:c2@F8.1#1|F7:side:c2@F8.1#2~2 [geometric]
Body1 edge F7:side:c2@F8.1#1|F7:top@F8.1
Body1 edge F7:side:c2@F8.1#2|F7:top@F8.1
Body1 edge F7:side:c2@F8.2#1|F7:side:c2@F8.2#2~1 [geometric]
Body1 edge F7:side:c2@F8.2#1|F7:side:c2@F8.2#2~2 [geometric]
Body1 edge F7:side:c2@F8.2#1|F7:top@F8.2
Body1 edge F7:side:c2@F8.2#2|F7:top@F8.2
Body1 edge F7:side:c2@F8.3#1|F7:side:c2@F8.3#2~1 [geometric]
Body1 edge F7:side:c2@F8.3#1|F7:side:c2@F8.3#2~2 [geometric]
Body1 edge F7:side:c2@F8.3#1|F7:top@F8.3
Body1 edge F7:side:c2@F8.3#2|F7:top@F8.3
ref Fillet1 (3) edge 0 `F2:side:l1|F2:side:l2` -> Body1 edge F2:side:l1|F2:side:l2
ref Fillet1 (3) edge 1 `F2:side:l1|F2:side:l4` -> Body1 edge F2:side:l1|F2:side:l4
ref Fillet1 (3) edge 2 `F2:side:l2|F2:side:l3` -> Body1 edge F2:side:l2|F2:side:l3
ref Fillet1 (3) edge 3 `F2:side:l3|F2:side:l4` -> Body1 edge F2:side:l3|F2:side:l4
ref Shell1 (4) face 0 `F2:top` -> Body1 face F2:top
ref Fillet2 (5) edge 0 `F2:side:l3|F2:top` -> Body1 edge F2:side:l3|F2:top
ref Fillet2 (5) edge 1 `F2:top|F3:blend:F2:side:l3|F2:side:l4` -> Body1 edge F2:top|F3:blend:F2:side:l3|F2:side:l4
ref Fillet2 (5) edge 2 `F2:top|F3:blend:F2:side:l2|F2:side:l3` -> Body1 edge F2:top|F3:blend:F2:side:l2|F2:side:l3
ref Fillet2 (5) edge 3 `F2:side:l2|F2:top` -> Body1 edge F2:side:l2|F2:top
ref Fillet2 (5) edge 4 `F2:top|F3:blend:F2:side:l1|F2:side:l2` -> Body1 edge F2:top|F3:blend:F2:side:l1|F2:side:l2
ref Fillet2 (5) edge 5 `F2:side:l1|F2:top` -> Body1 edge F2:side:l1|F2:top
ref Fillet2 (5) edge 6 `F2:top|F3:blend:F2:side:l1|F2:side:l4` -> Body1 edge F2:top|F3:blend:F2:side:l1|F2:side:l4
ref Fillet2 (5) edge 7 `F2:side:l4|F2:top` -> Body1 edge F2:side:l4|F2:top
ref Sketch2 (6) plane `F4:shell:inner:cap:low:ed6121d9bed14d3fd103f347231990d103349f33b7874ad292d3c4d3539266c3` on Body1 (shell_planar) -> healthy: Body1 faces F4:inner:F2:start
ref Sketch3 (9) plane `F4:shell:outer:side:l1` on Body1 (shell_planar) -> healthy: Body1 faces F2:side:l1
ref Sketch4 (11) plane `F4:shell:outer:side:l2` on Body1 (shell_planar) -> healthy: Body1 faces F2:side:l2
ref Sketch5 (13) plane `F4:shell:inner:cap:low:ed6121d9bed14d3fd103f347231990d103349f33b7874ad292d3c4d3539266c3` on Body1 (shell_planar) -> healthy: Body1 faces 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3], 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]#[F7:side:c2@F8.1], 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]#[F7:side:c2@F8.2], 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]#[F7:side:c2@F8.3], F4:inner:F2:start#[F7:side:c2]
ref Sketch6 (16) plane `F4:shell:inner:cap:low:ed6121d9bed14d3fd103f347231990d103349f33b7874ad292d3c4d3539266c3` on Body1 (shell_planar) -> healthy: Body1 faces 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:c1@F8.1,F7:side:c1@F8.2,F7:side:c1@F8.3], 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]#[F7:side:c2@F8.1], 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]#[F7:side:c2@F8.2], 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]#[F7:side:c2@F8.3], F4:inner:F2:start#[F7:side:c2]
-294
View File
@@ -1,294 +0,0 @@
# demo/pi-case: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 79 faces, 204 edges
Body1 face F11:side:l5
Body1 face F11:side:l6
Body1 face F11:side:l7
Body1 face F11:side:l8
Body1 face F13:side:l5
Body1 face F13:side:l5@F14.1
Body1 face F13:side:l5@F14.2
Body1 face F13:side:l5@F14.3
Body1 face F13:side:l5@F14.4
Body1 face F13:side:l6
Body1 face F13:side:l6@F14.1
Body1 face F13:side:l6@F14.2
Body1 face F13:side:l6@F14.3
Body1 face F13:side:l6@F14.4
Body1 face F13:side:l7
Body1 face F13:side:l7@F14.1
Body1 face F13:side:l7@F14.2
Body1 face F13:side:l7@F14.3
Body1 face F13:side:l7@F14.4
Body1 face F13:side:l8
Body1 face F13:side:l8@F14.1
Body1 face F13:side:l8@F14.2
Body1 face F13:side:l8@F14.3
Body1 face F13:side:l8@F14.4
Body1 face F2:side:l1
Body1 face F2:side:l2
Body1 face F2:side:l3
Body1 face F2:side:l4
Body1 face F2:start
Body1 face F2:top
Body1 face F3:blend:F2:side:l1|F2:side:l2
Body1 face F3:blend:F2:side:l1|F2:side:l4
Body1 face F3:blend:F2:side:l2|F2:side:l3
Body1 face F3:blend:F2:side:l3|F2:side:l4
Body1 face F4:inner:F2:side:l1
Body1 face F4:inner:F2:side:l2
Body1 face F4:inner:F2:side:l3
Body1 face F4:inner:F2:side:l4
Body1 face 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 face 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,F6:side:c1]#[F6:side:c2@F7.1]
Body1 face 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,F6:side:c1]#[F6:side:c2@F7.2]
Body1 face 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,F6:side:c1]#[F6:side:c2@F7.3]
Body1 face F4:inner:F2:start#[F6:side:c2]
Body1 face F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 face F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 face F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 face F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 face F6:side:c1#1
Body1 face F6:side:c1#2
Body1 face F6:side:c1@F7.1#1
Body1 face F6:side:c1@F7.1#2
Body1 face F6:side:c1@F7.2#1
Body1 face F6:side:c1@F7.2#2
Body1 face F6:side:c1@F7.3#1
Body1 face F6:side:c1@F7.3#2
Body1 face F6:side:c2#1
Body1 face F6:side:c2#2
Body1 face F6:side:c2@F7.1#1
Body1 face F6:side:c2@F7.1#2
Body1 face F6:side:c2@F7.2#1
Body1 face F6:side:c2@F7.2#2
Body1 face F6:side:c2@F7.3#1
Body1 face F6:side:c2@F7.3#2
Body1 face F6:top
Body1 face F6:top@F7.1
Body1 face F6:top@F7.2
Body1 face F6:top@F7.3
Body1 face F9:side:l11#[F9:side:l12,F9:side:l14]
Body1 face F9:side:l11#[F9:side:l18,F9:side:l20]
Body1 face F9:side:l11#[F9:side:l6,F9:side:l8]
Body1 face F9:side:l12
Body1 face F9:side:l13#[F9:side:l12,F9:side:l14]
Body1 face F9:side:l13#[F9:side:l18,F9:side:l20]
Body1 face F9:side:l13#[F9:side:l6,F9:side:l8]
Body1 face F9:side:l14
Body1 face F9:side:l18
Body1 face F9:side:l20
Body1 face F9:side:l6
Body1 face F9:side:l8
Body1 edge F11:side:l5|F11:side:l6
Body1 edge F11:side:l5|F11:side:l8
Body1 edge F11:side:l5|F2:side:l2
Body1 edge F11:side:l5|F4:inner:F2:side:l2
Body1 edge F11:side:l6|F11:side:l7
Body1 edge F11:side:l6|F2:side:l2
Body1 edge F11:side:l6|F4:inner:F2:side:l2
Body1 edge F11:side:l7|F11:side:l8
Body1 edge F11:side:l7|F2:side:l2
Body1 edge F11:side:l7|F4:inner:F2:side:l2
Body1 edge F11:side:l8|F2:side:l2
Body1 edge F11:side:l8|F4:inner:F2:side:l2
Body1 edge F13:side:l5@F14.1|F13:side:l6@F14.1
Body1 edge F13:side:l5@F14.1|F13:side:l8@F14.1
Body1 edge F13:side:l5@F14.1|F2:start
Body1 edge F13:side:l5@F14.1|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l5@F14.2|F13:side:l6@F14.2
Body1 edge F13:side:l5@F14.2|F13:side:l8@F14.2
Body1 edge F13:side:l5@F14.2|F2:start
Body1 edge F13:side:l5@F14.2|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l5@F14.3|F13:side:l6@F14.3
Body1 edge F13:side:l5@F14.3|F13:side:l8@F14.3
Body1 edge F13:side:l5@F14.3|F2:start
Body1 edge F13:side:l5@F14.3|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l5@F14.4|F13:side:l6@F14.4
Body1 edge F13:side:l5@F14.4|F13:side:l8@F14.4
Body1 edge F13:side:l5@F14.4|F2:start
Body1 edge F13:side:l5@F14.4|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l5|F13:side:l6
Body1 edge F13:side:l5|F13:side:l8
Body1 edge F13:side:l5|F2:start
Body1 edge F13:side:l5|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l6@F14.1|F13:side:l7@F14.1
Body1 edge F13:side:l6@F14.1|F2:start
Body1 edge F13:side:l6@F14.1|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l6@F14.2|F13:side:l7@F14.2
Body1 edge F13:side:l6@F14.2|F2:start
Body1 edge F13:side:l6@F14.2|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l6@F14.3|F13:side:l7@F14.3
Body1 edge F13:side:l6@F14.3|F2:start
Body1 edge F13:side:l6@F14.3|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l6@F14.4|F13:side:l7@F14.4
Body1 edge F13:side:l6@F14.4|F2:start
Body1 edge F13:side:l6@F14.4|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l6|F13:side:l7
Body1 edge F13:side:l6|F2:start
Body1 edge F13:side:l6|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l7@F14.1|F13:side:l8@F14.1
Body1 edge F13:side:l7@F14.1|F2:start
Body1 edge F13:side:l7@F14.1|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l7@F14.2|F13:side:l8@F14.2
Body1 edge F13:side:l7@F14.2|F2:start
Body1 edge F13:side:l7@F14.2|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l7@F14.3|F13:side:l8@F14.3
Body1 edge F13:side:l7@F14.3|F2:start
Body1 edge F13:side:l7@F14.3|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l7@F14.4|F13:side:l8@F14.4
Body1 edge F13:side:l7@F14.4|F2:start
Body1 edge F13:side:l7@F14.4|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l7|F13:side:l8
Body1 edge F13:side:l7|F2:start
Body1 edge F13:side:l7|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l8@F14.1|F2:start
Body1 edge F13:side:l8@F14.1|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l8@F14.2|F2:start
Body1 edge F13:side:l8@F14.2|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l8@F14.3|F2:start
Body1 edge F13:side:l8@F14.3|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l8@F14.4|F2:start
Body1 edge F13:side:l8@F14.4|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F13:side:l8|F2:start
Body1 edge F13:side:l8|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F2:side:l1|F2:start
Body1 edge F2:side:l1|F2:top
Body1 edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:side:l1|F9:side:l11#[F9:side:l12,F9:side:l14]
Body1 edge F2:side:l1|F9:side:l11#[F9:side:l18,F9:side:l20]
Body1 edge F2:side:l1|F9:side:l11#[F9:side:l6,F9:side:l8]
Body1 edge F2:side:l1|F9:side:l12
Body1 edge F2:side:l1|F9:side:l13#[F9:side:l12,F9:side:l14]
Body1 edge F2:side:l1|F9:side:l13#[F9:side:l18,F9:side:l20]
Body1 edge F2:side:l1|F9:side:l13#[F9:side:l6,F9:side:l8]
Body1 edge F2:side:l1|F9:side:l14
Body1 edge F2:side:l1|F9:side:l18
Body1 edge F2:side:l1|F9:side:l20
Body1 edge F2:side:l1|F9:side:l6
Body1 edge F2:side:l1|F9:side:l8
Body1 edge F2:side:l2|F2:start
Body1 edge F2:side:l2|F2:top
Body1 edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:side:l3|F2:start
Body1 edge F2:side:l3|F2:top
Body1 edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F2:side:l4|F2:start
Body1 edge F2:side:l4|F2:top
Body1 edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F2:start|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:start|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:start|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:start|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F2:top|F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:top|F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:top|F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:top|F3:blend:F2:side:l3|F2:side:l4
Body1 edge F2:top|F4:inner:F2:side:l1
Body1 edge F2:top|F4:inner:F2:side:l2
Body1 edge F2:top|F4:inner:F2:side:l3
Body1 edge F2:top|F4:inner:F2:side:l4
Body1 edge F2:top|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 edge F2:top|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 edge F2:top|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 edge F2:top|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 edge F4:inner:F2:side:l1|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 edge F4:inner:F2:side:l1|F9:side:l11#[F9:side:l12,F9:side:l14]
Body1 edge F4:inner:F2:side:l1|F9:side:l11#[F9:side:l18,F9:side:l20]
Body1 edge F4:inner:F2:side:l1|F9:side:l11#[F9:side:l6,F9:side:l8]
Body1 edge F4:inner:F2:side:l1|F9:side:l12
Body1 edge F4:inner:F2:side:l1|F9:side:l13#[F9:side:l12,F9:side:l14]
Body1 edge F4:inner:F2:side:l1|F9:side:l13#[F9:side:l18,F9:side:l20]
Body1 edge F4:inner:F2:side:l1|F9:side:l13#[F9:side:l6,F9:side:l8]
Body1 edge F4:inner:F2:side:l1|F9:side:l14
Body1 edge F4:inner:F2:side:l1|F9:side:l18
Body1 edge F4:inner:F2:side:l1|F9:side:l20
Body1 edge F4:inner:F2:side:l1|F9:side:l6
Body1 edge F4:inner:F2:side:l1|F9:side:l8
Body1 edge F4:inner:F2:side:l2|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 edge F4:inner:F2:side:l3|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 edge F4:inner:F2:side:l4|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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]
Body1 edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F6:side:c1#1
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F6:side:c1#2
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F6:side:c1@F7.1#1
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F6:side:c1@F7.1#2
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F6:side:c1@F7.2#1
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F6:side:c1@F7.2#2
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F6:side:c1@F7.3#1
Body1 edge 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3]|F6:side:c1@F7.3#2
Body1 edge 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,F6:side:c1]#[F6:side:c2@F7.1]|F6:side:c2@F7.1#1
Body1 edge 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,F6:side:c1]#[F6:side:c2@F7.1]|F6:side:c2@F7.1#2
Body1 edge 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,F6:side:c1]#[F6:side:c2@F7.2]|F6:side:c2@F7.2#1
Body1 edge 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,F6:side:c1]#[F6:side:c2@F7.2]|F6:side:c2@F7.2#2
Body1 edge 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,F6:side:c1]#[F6:side:c2@F7.3]|F6:side:c2@F7.3#1
Body1 edge 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,F6:side:c1]#[F6:side:c2@F7.3]|F6:side:c2@F7.3#2
Body1 edge F4:inner:F2:start#[F6:side:c2]|F6:side:c2#1
Body1 edge F4:inner:F2:start#[F6:side:c2]|F6:side:c2#2
Body1 edge F6:side:c1#1|F6:side:c1#2~1 [geometric]
Body1 edge F6:side:c1#1|F6:side:c1#2~2 [geometric]
Body1 edge F6:side:c1#1|F6:top
Body1 edge F6:side:c1#2|F6:top
Body1 edge F6:side:c1@F7.1#1|F6:side:c1@F7.1#2~1 [geometric]
Body1 edge F6:side:c1@F7.1#1|F6:side:c1@F7.1#2~2 [geometric]
Body1 edge F6:side:c1@F7.1#1|F6:top@F7.1
Body1 edge F6:side:c1@F7.1#2|F6:top@F7.1
Body1 edge F6:side:c1@F7.2#1|F6:side:c1@F7.2#2~1 [geometric]
Body1 edge F6:side:c1@F7.2#1|F6:side:c1@F7.2#2~2 [geometric]
Body1 edge F6:side:c1@F7.2#1|F6:top@F7.2
Body1 edge F6:side:c1@F7.2#2|F6:top@F7.2
Body1 edge F6:side:c1@F7.3#1|F6:side:c1@F7.3#2~1 [geometric]
Body1 edge F6:side:c1@F7.3#1|F6:side:c1@F7.3#2~2 [geometric]
Body1 edge F6:side:c1@F7.3#1|F6:top@F7.3
Body1 edge F6:side:c1@F7.3#2|F6:top@F7.3
Body1 edge F6:side:c2#1|F6:side:c2#2~1 [geometric]
Body1 edge F6:side:c2#1|F6:side:c2#2~2 [geometric]
Body1 edge F6:side:c2#1|F6:top
Body1 edge F6:side:c2#2|F6:top
Body1 edge F6:side:c2@F7.1#1|F6:side:c2@F7.1#2~1 [geometric]
Body1 edge F6:side:c2@F7.1#1|F6:side:c2@F7.1#2~2 [geometric]
Body1 edge F6:side:c2@F7.1#1|F6:top@F7.1
Body1 edge F6:side:c2@F7.1#2|F6:top@F7.1
Body1 edge F6:side:c2@F7.2#1|F6:side:c2@F7.2#2~1 [geometric]
Body1 edge F6:side:c2@F7.2#1|F6:side:c2@F7.2#2~2 [geometric]
Body1 edge F6:side:c2@F7.2#1|F6:top@F7.2
Body1 edge F6:side:c2@F7.2#2|F6:top@F7.2
Body1 edge F6:side:c2@F7.3#1|F6:side:c2@F7.3#2~1 [geometric]
Body1 edge F6:side:c2@F7.3#1|F6:side:c2@F7.3#2~2 [geometric]
Body1 edge F6:side:c2@F7.3#1|F6:top@F7.3
Body1 edge F6:side:c2@F7.3#2|F6:top@F7.3
Body1 edge F9:side:l11#[F9:side:l12,F9:side:l14]|F9:side:l12
Body1 edge F9:side:l11#[F9:side:l12,F9:side:l14]|F9:side:l14
Body1 edge F9:side:l11#[F9:side:l18,F9:side:l20]|F9:side:l18
Body1 edge F9:side:l11#[F9:side:l18,F9:side:l20]|F9:side:l20
Body1 edge F9:side:l11#[F9:side:l6,F9:side:l8]|F9:side:l6
Body1 edge F9:side:l11#[F9:side:l6,F9:side:l8]|F9:side:l8
Body1 edge F9:side:l12|F9:side:l13#[F9:side:l12,F9:side:l14]
Body1 edge F9:side:l13#[F9:side:l12,F9:side:l14]|F9:side:l14
Body1 edge F9:side:l13#[F9:side:l18,F9:side:l20]|F9:side:l18
Body1 edge F9:side:l13#[F9:side:l18,F9:side:l20]|F9:side:l20
Body1 edge F9:side:l13#[F9:side:l6,F9:side:l8]|F9:side:l6
Body1 edge F9:side:l13#[F9:side:l6,F9:side:l8]|F9:side:l8
ref Fillet1 (3) edge 0 `F2:side:l1|F2:side:l2` -> Body1 edge F2:side:l1|F2:side:l2
ref Fillet1 (3) edge 1 `F2:side:l1|F2:side:l4` -> Body1 edge F2:side:l1|F2:side:l4
ref Fillet1 (3) edge 2 `F2:side:l2|F2:side:l3` -> Body1 edge F2:side:l2|F2:side:l3
ref Fillet1 (3) edge 3 `F2:side:l3|F2:side:l4` -> Body1 edge F2:side:l3|F2:side:l4
ref Shell1 (4) face 0 `F2:top` -> Body1 face F2:top
ref Sketch2 (5) plane `F4:shell:inner:cap:low:ed6121d9bed14d3fd103f347231990d103349f33b7874ad292d3c4d3539266c3` on Body1 (shell_planar) -> healthy: Body1 faces F4:inner:F2:start
ref Sketch3 (8) plane `F4:shell:outer:side:l1` on Body1 (shell_planar) -> healthy: Body1 faces F2:side:l1
ref Sketch4 (10) plane `F4:shell:outer:side:l2` on Body1 (shell_planar) -> healthy: Body1 faces F2:side:l2
ref Sketch5 (12) plane `F4:shell:inner:cap:low:ed6121d9bed14d3fd103f347231990d103349f33b7874ad292d3c4d3539266c3` on Body1 (shell_planar) -> healthy: Body1 faces 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,F6: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,F6:side:c1,F6:side:c1@F7.1,F6:side:c1@F7.2,F6:side:c1@F7.3], 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,F6:side:c1]#[F6:side:c2@F7.1], 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,F6:side:c1]#[F6:side:c2@F7.2], 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,F6:side:c1]#[F6:side:c2@F7.3], F4:inner:F2:start#[F6:side:c2]
-49
View File
@@ -1,49 +0,0 @@
# examples/bracket: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Bracket: 13 faces, 33 edges
Bracket face F2:bottom
Bracket face F2:side:a
Bracket face F2:side:b
Bracket face F2:side:c
Bracket face F2:side:d
Bracket face F2:side:e
Bracket face F2:side:f
Bracket face F2:start
Bracket face F3:blend:F2:side:b|F2:side:c
Bracket face F5:side:c1#1
Bracket face F5:side:c1#2
Bracket face F5:side:c2#1
Bracket face F5:side:c2#2
Bracket edge F2:bottom|F2:side:a
Bracket edge F2:bottom|F2:side:b
Bracket edge F2:bottom|F2:side:c
Bracket edge F2:bottom|F2:side:d
Bracket edge F2:bottom|F2:side:e
Bracket edge F2:bottom|F2:side:f
Bracket edge F2:bottom|F3:blend:F2:side:b|F2:side:c
Bracket edge F2:side:a|F2:side:b
Bracket edge F2:side:a|F2:side:f
Bracket edge F2:side:a|F2:start
Bracket edge F2:side:a|F5:side:c1#1
Bracket edge F2:side:a|F5:side:c1#2
Bracket edge F2:side:a|F5:side:c2#1
Bracket edge F2:side:a|F5:side:c2#2
Bracket edge F2:side:b|F2:start
Bracket edge F2:side:b|F3:blend:F2:side:b|F2:side:c
Bracket edge F2:side:c|F2:side:d
Bracket edge F2:side:c|F2:start
Bracket edge F2:side:c|F3:blend:F2:side:b|F2:side:c
Bracket edge F2:side:c|F5:side:c1#1
Bracket edge F2:side:c|F5:side:c1#2
Bracket edge F2:side:c|F5:side:c2#1
Bracket edge F2:side:c|F5:side:c2#2
Bracket edge F2:side:d|F2:side:e
Bracket edge F2:side:d|F2:start
Bracket edge F2:side:e|F2:side:f
Bracket edge F2:side:e|F2:start
Bracket edge F2:side:f|F2:start
Bracket edge F2:start|F3:blend:F2:side:b|F2:side:c
Bracket edge F5:side:c1#1|F5:side:c1#2~1 [geometric]
Bracket edge F5:side:c1#1|F5:side:c1#2~2 [geometric]
Bracket edge F5:side:c2#1|F5:side:c2#2~1 [geometric]
Bracket edge F5:side:c2#1|F5:side:c2#2~2 [geometric]
ref Fillet1 (3) edge 0 `F2:side:b|F2:side:c` -> Bracket edge F2:side:b|F2:side:c
@@ -1,96 +0,0 @@
# examples/render-opaque-studio: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Nonmetal smooth: 6 faces, 12 edges
Nonmetal smooth face F1:face:0 [geometric]
Nonmetal smooth face F1:face:1 [geometric]
Nonmetal smooth face F1:face:2 [geometric]
Nonmetal smooth face F1:face:3 [geometric]
Nonmetal smooth face F1:face:4 [geometric]
Nonmetal smooth face F1:face:5 [geometric]
Nonmetal smooth edge F1:face:0|F1:face:2 [geometric]
Nonmetal smooth edge F1:face:0|F1:face:3 [geometric]
Nonmetal smooth edge F1:face:0|F1:face:4 [geometric]
Nonmetal smooth edge F1:face:0|F1:face:5 [geometric]
Nonmetal smooth edge F1:face:1|F1:face:2 [geometric]
Nonmetal smooth edge F1:face:1|F1:face:3 [geometric]
Nonmetal smooth edge F1:face:1|F1:face:4 [geometric]
Nonmetal smooth edge F1:face:1|F1:face:5 [geometric]
Nonmetal smooth edge F1:face:2|F1:face:4 [geometric]
Nonmetal smooth edge F1:face:2|F1:face:5 [geometric]
Nonmetal smooth edge F1:face:3|F1:face:4 [geometric]
Nonmetal smooth edge F1:face:3|F1:face:5 [geometric]
body Nonmetal rough: 6 faces, 12 edges
Nonmetal rough face F2:face:0 [geometric]
Nonmetal rough face F2:face:1 [geometric]
Nonmetal rough face F2:face:2 [geometric]
Nonmetal rough face F2:face:3 [geometric]
Nonmetal rough face F2:face:4 [geometric]
Nonmetal rough face F2:face:5 [geometric]
Nonmetal rough edge F2:face:0|F2:face:2 [geometric]
Nonmetal rough edge F2:face:0|F2:face:3 [geometric]
Nonmetal rough edge F2:face:0|F2:face:4 [geometric]
Nonmetal rough edge F2:face:0|F2:face:5 [geometric]
Nonmetal rough edge F2:face:1|F2:face:2 [geometric]
Nonmetal rough edge F2:face:1|F2:face:3 [geometric]
Nonmetal rough edge F2:face:1|F2:face:4 [geometric]
Nonmetal rough edge F2:face:1|F2:face:5 [geometric]
Nonmetal rough edge F2:face:2|F2:face:4 [geometric]
Nonmetal rough edge F2:face:2|F2:face:5 [geometric]
Nonmetal rough edge F2:face:3|F2:face:4 [geometric]
Nonmetal rough edge F2:face:3|F2:face:5 [geometric]
body Metal smooth: 6 faces, 12 edges
Metal smooth face F3:face:0 [geometric]
Metal smooth face F3:face:1 [geometric]
Metal smooth face F3:face:2 [geometric]
Metal smooth face F3:face:3 [geometric]
Metal smooth face F3:face:4 [geometric]
Metal smooth face F3:face:5 [geometric]
Metal smooth edge F3:face:0|F3:face:2 [geometric]
Metal smooth edge F3:face:0|F3:face:3 [geometric]
Metal smooth edge F3:face:0|F3:face:4 [geometric]
Metal smooth edge F3:face:0|F3:face:5 [geometric]
Metal smooth edge F3:face:1|F3:face:2 [geometric]
Metal smooth edge F3:face:1|F3:face:3 [geometric]
Metal smooth edge F3:face:1|F3:face:4 [geometric]
Metal smooth edge F3:face:1|F3:face:5 [geometric]
Metal smooth edge F3:face:2|F3:face:4 [geometric]
Metal smooth edge F3:face:2|F3:face:5 [geometric]
Metal smooth edge F3:face:3|F3:face:4 [geometric]
Metal smooth edge F3:face:3|F3:face:5 [geometric]
body Metal rough: 6 faces, 12 edges
Metal rough face F4:face:0 [geometric]
Metal rough face F4:face:1 [geometric]
Metal rough face F4:face:2 [geometric]
Metal rough face F4:face:3 [geometric]
Metal rough face F4:face:4 [geometric]
Metal rough face F4:face:5 [geometric]
Metal rough edge F4:face:0|F4:face:2 [geometric]
Metal rough edge F4:face:0|F4:face:3 [geometric]
Metal rough edge F4:face:0|F4:face:4 [geometric]
Metal rough edge F4:face:0|F4:face:5 [geometric]
Metal rough edge F4:face:1|F4:face:2 [geometric]
Metal rough edge F4:face:1|F4:face:3 [geometric]
Metal rough edge F4:face:1|F4:face:4 [geometric]
Metal rough edge F4:face:1|F4:face:5 [geometric]
Metal rough edge F4:face:2|F4:face:4 [geometric]
Metal rough edge F4:face:2|F4:face:5 [geometric]
Metal rough edge F4:face:3|F4:face:4 [geometric]
Metal rough edge F4:face:3|F4:face:5 [geometric]
body Study base: 6 faces, 12 edges
Study base face F5:+x
Study base face F5:+y
Study base face F5:+z
Study base face F5:-x
Study base face F5:-y
Study base face F5:-z
Study base edge F5:+x|F5:+y
Study base edge F5:+x|F5:+z
Study base edge F5:+x|F5:-y
Study base edge F5:+x|F5:-z
Study base edge F5:+y|F5:+z
Study base edge F5:+y|F5:-x
Study base edge F5:+y|F5:-z
Study base edge F5:+z|F5:-x
Study base edge F5:+z|F5:-y
Study base edge F5:-x|F5:-y
Study base edge F5:-x|F5:-z
Study base edge F5:-y|F5:-z
-244
View File
@@ -1,244 +0,0 @@
# examples/render-studio: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Base: 6 faces, 12 edges
Base face F3:+x
Base face F3:+y
Base face F3:+z
Base face F3:-x
Base face F3:-y
Base face F3:-z
Base edge F3:+x|F3:+y
Base edge F3:+x|F3:+z
Base edge F3:+x|F3:-y
Base edge F3:+x|F3:-z
Base edge F3:+y|F3:+z
Base edge F3:+y|F3:-x
Base edge F3:+y|F3:-z
Base edge F3:+z|F3:-x
Base edge F3:+z|F3:-y
Base edge F3:-x|F3:-y
Base edge F3:-x|F3:-z
Base edge F3:-y|F3:-z
body LeftWall: 6 faces, 12 edges
LeftWall face F4:+x
LeftWall face F4:+y
LeftWall face F4:+z
LeftWall face F4:-x
LeftWall face F4:-y
LeftWall face F4:-z
LeftWall edge F4:+x|F4:+y
LeftWall edge F4:+x|F4:+z
LeftWall edge F4:+x|F4:-y
LeftWall edge F4:+x|F4:-z
LeftWall edge F4:+y|F4:+z
LeftWall edge F4:+y|F4:-x
LeftWall edge F4:+y|F4:-z
LeftWall edge F4:+z|F4:-x
LeftWall edge F4:+z|F4:-y
LeftWall edge F4:-x|F4:-y
LeftWall edge F4:-x|F4:-z
LeftWall edge F4:-y|F4:-z
body RightWall: 6 faces, 12 edges
RightWall face F5:+x
RightWall face F5:+y
RightWall face F5:+z
RightWall face F5:-x
RightWall face F5:-y
RightWall face F5:-z
RightWall edge F5:+x|F5:+y
RightWall edge F5:+x|F5:+z
RightWall edge F5:+x|F5:-y
RightWall edge F5:+x|F5:-z
RightWall edge F5:+y|F5:+z
RightWall edge F5:+y|F5:-x
RightWall edge F5:+y|F5:-z
RightWall edge F5:+z|F5:-x
RightWall edge F5:+z|F5:-y
RightWall edge F5:-x|F5:-y
RightWall edge F5:-x|F5:-z
RightWall edge F5:-y|F5:-z
body FrontWall: 6 faces, 12 edges
FrontWall face F6:+x
FrontWall face F6:+y
FrontWall face F6:+z
FrontWall face F6:-x
FrontWall face F6:-y
FrontWall face F6:-z
FrontWall edge F6:+x|F6:+y
FrontWall edge F6:+x|F6:+z
FrontWall edge F6:+x|F6:-y
FrontWall edge F6:+x|F6:-z
FrontWall edge F6:+y|F6:+z
FrontWall edge F6:+y|F6:-x
FrontWall edge F6:+y|F6:-z
FrontWall edge F6:+z|F6:-x
FrontWall edge F6:+z|F6:-y
FrontWall edge F6:-x|F6:-y
FrontWall edge F6:-x|F6:-z
FrontWall edge F6:-y|F6:-z
body BackWall: 6 faces, 12 edges
BackWall face F7:+x
BackWall face F7:+y
BackWall face F7:+z
BackWall face F7:-x
BackWall face F7:-y
BackWall face F7:-z
BackWall edge F7:+x|F7:+y
BackWall edge F7:+x|F7:+z
BackWall edge F7:+x|F7:-y
BackWall edge F7:+x|F7:-z
BackWall edge F7:+y|F7:+z
BackWall edge F7:+y|F7:-x
BackWall edge F7:+y|F7:-z
BackWall edge F7:+z|F7:-x
BackWall edge F7:+z|F7:-y
BackWall edge F7:-x|F7:-y
BackWall edge F7:-x|F7:-z
BackWall edge F7:-y|F7:-z
body Insert: 6 faces, 12 edges
Insert face F10:+x
Insert face F10:+y
Insert face F10:+z
Insert face F10:-x
Insert face F10:-y
Insert face F10:-z
Insert edge F10:+x|F10:+y
Insert edge F10:+x|F10:+z
Insert edge F10:+x|F10:-y
Insert edge F10:+x|F10:-z
Insert edge F10:+y|F10:+z
Insert edge F10:+y|F10:-x
Insert edge F10:+y|F10:-z
Insert edge F10:+z|F10:-x
Insert edge F10:+z|F10:-y
Insert edge F10:-x|F10:-y
Insert edge F10:-x|F10:-z
Insert edge F10:-y|F10:-z
body Pad1: 4 faces, 6 edges
Pad1 face F11:bottom
Pad1 face F11:side#1
Pad1 face F11:side#2
Pad1 face F11:top
Pad1 edge F11:bottom|F11:side#1
Pad1 edge F11:bottom|F11:side#2
Pad1 edge F11:side#1|F11:side#2~1 [geometric]
Pad1 edge F11:side#1|F11:side#2~2 [geometric]
Pad1 edge F11:side#1|F11:top
Pad1 edge F11:side#2|F11:top
body Pad2: 4 faces, 6 edges
Pad2 face F12:bottom
Pad2 face F12:side#1
Pad2 face F12:side#2
Pad2 face F12:top
Pad2 edge F12:bottom|F12:side#1
Pad2 edge F12:bottom|F12:side#2
Pad2 edge F12:side#1|F12:side#2~1 [geometric]
Pad2 edge F12:side#1|F12:side#2~2 [geometric]
Pad2 edge F12:side#1|F12:top
Pad2 edge F12:side#2|F12:top
body Pad3: 4 faces, 6 edges
Pad3 face F13:bottom
Pad3 face F13:side#1
Pad3 face F13:side#2
Pad3 face F13:top
Pad3 edge F13:bottom|F13:side#1
Pad3 edge F13:bottom|F13:side#2
Pad3 edge F13:side#1|F13:side#2~1 [geometric]
Pad3 edge F13:side#1|F13:side#2~2 [geometric]
Pad3 edge F13:side#1|F13:top
Pad3 edge F13:side#2|F13:top
body Pad4: 4 faces, 6 edges
Pad4 face F14:bottom
Pad4 face F14:side#1
Pad4 face F14:side#2
Pad4 face F14:top
Pad4 edge F14:bottom|F14:side#1
Pad4 edge F14:bottom|F14:side#2
Pad4 edge F14:side#1|F14:side#2~1 [geometric]
Pad4 edge F14:side#1|F14:side#2~2 [geometric]
Pad4 edge F14:side#1|F14:top
Pad4 edge F14:side#2|F14:top
body Pad5: 4 faces, 6 edges
Pad5 face F15:bottom
Pad5 face F15:side#1
Pad5 face F15:side#2
Pad5 face F15:top
Pad5 edge F15:bottom|F15:side#1
Pad5 edge F15:bottom|F15:side#2
Pad5 edge F15:side#1|F15:side#2~1 [geometric]
Pad5 edge F15:side#1|F15:side#2~2 [geometric]
Pad5 edge F15:side#1|F15:top
Pad5 edge F15:side#2|F15:top
body Pad6: 4 faces, 6 edges
Pad6 face F16:bottom
Pad6 face F16:side#1
Pad6 face F16:side#2
Pad6 face F16:top
Pad6 edge F16:bottom|F16:side#1
Pad6 edge F16:bottom|F16:side#2
Pad6 edge F16:side#1|F16:side#2~1 [geometric]
Pad6 edge F16:side#1|F16:side#2~2 [geometric]
Pad6 edge F16:side#1|F16:top
Pad6 edge F16:side#2|F16:top
body Post1: 4 faces, 6 edges
Post1 face F19:bottom
Post1 face F19:side#1
Post1 face F19:side#2
Post1 face F19:top
Post1 edge F19:bottom|F19:side#1
Post1 edge F19:bottom|F19:side#2
Post1 edge F19:side#1|F19:side#2~1 [geometric]
Post1 edge F19:side#1|F19:side#2~2 [geometric]
Post1 edge F19:side#1|F19:top
Post1 edge F19:side#2|F19:top
body Post2: 4 faces, 6 edges
Post2 face F20:bottom
Post2 face F20:side#1
Post2 face F20:side#2
Post2 face F20:top
Post2 edge F20:bottom|F20:side#1
Post2 edge F20:bottom|F20:side#2
Post2 edge F20:side#1|F20:side#2~1 [geometric]
Post2 edge F20:side#1|F20:side#2~2 [geometric]
Post2 edge F20:side#1|F20:top
Post2 edge F20:side#2|F20:top
body Post3: 4 faces, 6 edges
Post3 face F21:bottom
Post3 face F21:side#1
Post3 face F21:side#2
Post3 face F21:top
Post3 edge F21:bottom|F21:side#1
Post3 edge F21:bottom|F21:side#2
Post3 edge F21:side#1|F21:side#2~1 [geometric]
Post3 edge F21:side#1|F21:side#2~2 [geometric]
Post3 edge F21:side#1|F21:top
Post3 edge F21:side#2|F21:top
body Post4: 4 faces, 6 edges
Post4 face F22:bottom
Post4 face F22:side#1
Post4 face F22:side#2
Post4 face F22:top
Post4 edge F22:bottom|F22:side#1
Post4 edge F22:bottom|F22:side#2
Post4 edge F22:side#1|F22:side#2~1 [geometric]
Post4 edge F22:side#1|F22:side#2~2 [geometric]
Post4 edge F22:side#1|F22:top
Post4 edge F22:side#2|F22:top
body ClearLid: 6 faces, 12 edges
ClearLid face F25:+x
ClearLid face F25:+y
ClearLid face F25:+z
ClearLid face F25:-x
ClearLid face F25:-y
ClearLid face F25:-z
ClearLid edge F25:+x|F25:+y
ClearLid edge F25:+x|F25:+z
ClearLid edge F25:+x|F25:-y
ClearLid edge F25:+x|F25:-z
ClearLid edge F25:+y|F25:+z
ClearLid edge F25:+y|F25:-x
ClearLid edge F25:+y|F25:-z
ClearLid edge F25:+z|F25:-x
ClearLid edge F25:+z|F25:-y
ClearLid edge F25:-x|F25:-y
ClearLid edge F25:-x|F25:-z
ClearLid edge F25:-y|F25:-z
-669
View File
@@ -1,669 +0,0 @@
# examples/sensor_enclosure: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Case: 158 faces, 366 edges
Case face F11:side:bs#1 [geometric]
Case face F11:side:bs#2 [geometric]
Case face F11:side:bs#3 [geometric]
Case face F11:side:bs#4 [geometric]
Case face F11:side:bs#[F11:top]#1 [geometric]
Case face F11:side:bs#[F11:top]#2 [geometric]
Case face F11:side:bs#[F4:inner:F2:start]#1 [geometric]
Case face F11:side:bs#[F4:inner:F2:start]#2 [geometric]
Case face F11:side:bs_hole#1 [geometric]
Case face F11:side:bs_hole#2 [geometric]
Case face F11:side:bs_hole#3 [geometric]
Case face F11:side:bs_hole#4 [geometric]
Case face F11:side:bs_hole#[F11:top]#1 [geometric]
Case face F11:side:bs_hole#[F11:top]#2 [geometric]
Case face F11:side:bs_hole#[F4:inner:F2:start]#1 [geometric]
Case face F11:side:bs_hole#[F4:inner:F2:start]#2 [geometric]
Case face F11:top [geometric]
Case face F12:face:110 [geometric]
Case face F12:face:111 [geometric]
Case face F12:face:112 [geometric]
Case face F12:face:113 [geometric]
Case face F12:face:114 [geometric]
Case face F12:face:115 [geometric]
Case face F12:face:116 [geometric]
Case face F12:face:117 [geometric]
Case face F12:face:118 [geometric]
Case face F12:face:119 [geometric]
Case face F12:face:120 [geometric]
Case face F12:face:121 [geometric]
Case face F12:face:147 [geometric]
Case face F12:face:148 [geometric]
Case face F12:face:149 [geometric]
Case face F12:face:32 [geometric]
Case face F12:face:33 [geometric]
Case face F12:face:34 [geometric]
Case face F12:face:35 [geometric]
Case face F12:face:36 [geometric]
Case face F12:face:37 [geometric]
Case face F12:face:38 [geometric]
Case face F12:face:39 [geometric]
Case face F12:face:40 [geometric]
Case face F12:face:41 [geometric]
Case face F12:face:42 [geometric]
Case face F12:face:43 [geometric]
Case face F12:face:60 [geometric]
Case face F12:face:61 [geometric]
Case face F12:face:62 [geometric]
Case face F12:face:63 [geometric]
Case face F12:face:64 [geometric]
Case face F12:face:65 [geometric]
Case face F12:face:66 [geometric]
Case face F12:face:67 [geometric]
Case face F12:face:68 [geometric]
Case face F12:face:69 [geometric]
Case face F12:face:70 [geometric]
Case face F12:face:71 [geometric]
Case face F12:face:84 [geometric]
Case face F12:face:85 [geometric]
Case face F12:face:86 [geometric]
Case face F12:face:87 [geometric]
Case face F12:face:88 [geometric]
Case face F12:face:89 [geometric]
Case face F12:face:90 [geometric]
Case face F12:face:91 [geometric]
Case face F12:face:92 [geometric]
Case face F12:face:93 [geometric]
Case face F12:face:94 [geometric]
Case face F12:face:95 [geometric]
Case face F16:arm:base
Case face F16:arm:side:1
Case face F16:arm:side:2
Case face F16:arm:side:3
Case face F16:arm:side:4
Case face F16:arm:side:5
Case face F16:arm:top
Case face F2:side:l1 [geometric]
Case face F2:side:l2 [geometric]
Case face F2:side:l3 [geometric]
Case face F2:side:l4 [geometric]
Case face F2:start [geometric]
Case face F2:top [geometric]
Case face F3:blend:F2:side:l1|F2:side:l2#1 [geometric]
Case face F3:blend:F2:side:l1|F2:side:l2#2 [geometric]
Case face F3:blend:F2:side:l1|F2:side:l2#3 [geometric]
Case face F3:blend:F2:side:l1|F2:side:l2#4 [geometric]
Case face F3:blend:F2:side:l1|F2:side:l2#[F2:start] [geometric]
Case face F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case face F3:blend:F2:side:l1|F2:side:l4#1 [geometric]
Case face F3:blend:F2:side:l1|F2:side:l4#2 [geometric]
Case face F3:blend:F2:side:l1|F2:side:l4#3 [geometric]
Case face F3:blend:F2:side:l1|F2:side:l4#4 [geometric]
Case face F3:blend:F2:side:l1|F2:side:l4#[F2:start] [geometric]
Case face F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case face F3:blend:F2:side:l2|F2:side:l3#1 [geometric]
Case face F3:blend:F2:side:l2|F2:side:l3#2 [geometric]
Case face F3:blend:F2:side:l2|F2:side:l3#3 [geometric]
Case face F3:blend:F2:side:l2|F2:side:l3#4 [geometric]
Case face F3:blend:F2:side:l2|F2:side:l3#[F2:start] [geometric]
Case face F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case face F3:blend:F2:side:l3|F2:side:l4#1 [geometric]
Case face F3:blend:F2:side:l3|F2:side:l4#2 [geometric]
Case face F3:blend:F2:side:l3|F2:side:l4#3 [geometric]
Case face F3:blend:F2:side:l3|F2:side:l4#4 [geometric]
Case face F3:blend:F2:side:l3|F2:side:l4#[F2:start] [geometric]
Case face F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case face F4:inner:F2:side:l1 [geometric]
Case face F4:inner:F2:side:l2 [geometric]
Case face F4:inner:F2:side:l3 [geometric]
Case face F4:inner:F2:side:l4 [geometric]
Case face F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case face F4:inner:F2:start#[F11:side:bs_hole] [geometric]
Case face F4:inner:F2:start#[F12:face:34,F12:face:35] [geometric]
Case face F4:inner:F2:start#[F12:face:38,F12:face:39] [geometric]
Case face F4:inner:F2:start#[F12:face:42,F12:face:43] [geometric]
Case face F4:inner:F2:start#[F6:side:so_hole@F7.1] [geometric]
Case face F4:inner:F2:start#[F6:side:so_hole@F7.2] [geometric]
Case face F4:inner:F2:start#[F6:side:so_hole@F7.3] [geometric]
Case face F4:inner:F2:start#[F6:side:so_hole] [geometric]
Case face F4:inner:F3:blend:F2:side:l1|F2:side:l2#1 [geometric]
Case face F4:inner:F3:blend:F2:side:l1|F2:side:l2#2 [geometric]
Case face F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case face F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F4:inner:F2:start] [geometric]
Case face F4:inner:F3:blend:F2:side:l1|F2:side:l4#1 [geometric]
Case face F4:inner:F3:blend:F2:side:l1|F2:side:l4#2 [geometric]
Case face F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case face F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F4:inner:F2:start] [geometric]
Case face F4:inner:F3:blend:F2:side:l2|F2:side:l3#1 [geometric]
Case face F4:inner:F3:blend:F2:side:l2|F2:side:l3#2 [geometric]
Case face F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case face F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F4:inner:F2:start] [geometric]
Case face F4:inner:F3:blend:F2:side:l3|F2:side:l4#1 [geometric]
Case face F4:inner:F3:blend:F2:side:l3|F2:side:l4#2 [geometric]
Case face F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case face F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F4:inner:F2:start] [geometric]
Case face F6:side:so#1 [geometric]
Case face F6:side:so#2 [geometric]
Case face F6:side:so@F7.1#1 [geometric]
Case face F6:side:so@F7.1#2 [geometric]
Case face F6:side:so@F7.2#1 [geometric]
Case face F6:side:so@F7.2#2 [geometric]
Case face F6:side:so@F7.3#1 [geometric]
Case face F6:side:so@F7.3#2 [geometric]
Case face F6:side:so_hole#1 [geometric]
Case face F6:side:so_hole#2 [geometric]
Case face F6:side:so_hole@F7.1#1 [geometric]
Case face F6:side:so_hole@F7.1#2 [geometric]
Case face F6:side:so_hole@F7.2#1 [geometric]
Case face F6:side:so_hole@F7.2#2 [geometric]
Case face F6:side:so_hole@F7.3#1 [geometric]
Case face F6:side:so_hole@F7.3#2 [geometric]
Case face F6:top [geometric]
Case face F6:top@F7.1 [geometric]
Case face F6:top@F7.2 [geometric]
Case face F6:top@F7.3 [geometric]
Case face F9:side:l1 [geometric]
Case face F9:side:l2 [geometric]
Case face F9:side:l3 [geometric]
Case face F9:side:l4 [geometric]
Case edge F11:side:bs#1|F11:side:bs#2~1 [geometric]
Case edge F11:side:bs#1|F11:side:bs#2~2 [geometric]
Case edge F11:side:bs#1|F11:side:bs#3 [geometric]
Case edge F11:side:bs#1|F11:side:bs#[F4:inner:F2:start]#1 [geometric]
Case edge F11:side:bs#2|F11:side:bs#4 [geometric]
Case edge F11:side:bs#2|F11:side:bs#[F4:inner:F2:start]#2 [geometric]
Case edge F11:side:bs#3|F11:side:bs#4~1 [geometric]
Case edge F11:side:bs#3|F11:side:bs#4~2 [geometric]
Case edge F11:side:bs#3|F11:side:bs#[F11:top]#1 [geometric]
Case edge F11:side:bs#4|F11:side:bs#[F11:top]#2 [geometric]
Case edge F11:side:bs#[F11:top]#1|F11:side:bs#[F11:top]#2~1 [geometric]
Case edge F11:side:bs#[F11:top]#1|F11:side:bs#[F11:top]#2~2 [geometric]
Case edge F11:side:bs#[F11:top]#1|F11:top [geometric]
Case edge F11:side:bs#[F11:top]#2|F11:top [geometric]
Case edge F11:side:bs#[F4:inner:F2:start]#1|F11:side:bs#[F4:inner:F2:start]#2~1 [geometric]
Case edge F11:side:bs#[F4:inner:F2:start]#1|F11:side:bs#[F4:inner:F2:start]#2~2 [geometric]
Case edge F11:side:bs#[F4:inner:F2:start]#1|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F11:side:bs#[F4:inner:F2:start]#2|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F11:side:bs_hole#1|F11:side:bs_hole#2~1 [geometric]
Case edge F11:side:bs_hole#1|F11:side:bs_hole#2~2 [geometric]
Case edge F11:side:bs_hole#1|F11:side:bs_hole#3 [geometric]
Case edge F11:side:bs_hole#1|F11:side:bs_hole#[F4:inner:F2:start]#1 [geometric]
Case edge F11:side:bs_hole#2|F11:side:bs_hole#4 [geometric]
Case edge F11:side:bs_hole#2|F11:side:bs_hole#[F4:inner:F2:start]#2 [geometric]
Case edge F11:side:bs_hole#3|F11:side:bs_hole#4~1 [geometric]
Case edge F11:side:bs_hole#3|F11:side:bs_hole#4~2 [geometric]
Case edge F11:side:bs_hole#3|F11:side:bs_hole#[F11:top]#1 [geometric]
Case edge F11:side:bs_hole#4|F11:side:bs_hole#[F11:top]#2 [geometric]
Case edge F11:side:bs_hole#[F11:top]#1|F11:side:bs_hole#[F11:top]#2~1 [geometric]
Case edge F11:side:bs_hole#[F11:top]#1|F11:side:bs_hole#[F11:top]#2~2 [geometric]
Case edge F11:side:bs_hole#[F11:top]#1|F11:top [geometric]
Case edge F11:side:bs_hole#[F11:top]#2|F11:top [geometric]
Case edge F11:side:bs_hole#[F4:inner:F2:start]#1|F11:side:bs_hole#[F4:inner:F2:start]#2~1 [geometric]
Case edge F11:side:bs_hole#[F4:inner:F2:start]#1|F11:side:bs_hole#[F4:inner:F2:start]#2~2 [geometric]
Case edge F11:side:bs_hole#[F4:inner:F2:start]#1|F4:inner:F2:start#[F11:side:bs_hole] [geometric]
Case edge F11:side:bs_hole#[F4:inner:F2:start]#2|F4:inner:F2:start#[F11:side:bs_hole] [geometric]
Case edge F12:face:110|F12:face:111~1 [geometric]
Case edge F12:face:110|F12:face:111~2 [geometric]
Case edge F12:face:110|F12:face:147 [geometric]
Case edge F12:face:110|F12:face:84 [geometric]
Case edge F12:face:111|F12:face:147 [geometric]
Case edge F12:face:111|F12:face:85 [geometric]
Case edge F12:face:112|F12:face:113~1 [geometric]
Case edge F12:face:112|F12:face:113~2 [geometric]
Case edge F12:face:112|F12:face:147 [geometric]
Case edge F12:face:112|F12:face:86 [geometric]
Case edge F12:face:113|F12:face:147 [geometric]
Case edge F12:face:113|F12:face:87 [geometric]
Case edge F12:face:114|F12:face:115~1 [geometric]
Case edge F12:face:114|F12:face:115~2 [geometric]
Case edge F12:face:114|F12:face:148 [geometric]
Case edge F12:face:114|F12:face:88 [geometric]
Case edge F12:face:115|F12:face:148 [geometric]
Case edge F12:face:115|F12:face:89 [geometric]
Case edge F12:face:116|F12:face:117~1 [geometric]
Case edge F12:face:116|F12:face:117~2 [geometric]
Case edge F12:face:116|F12:face:148 [geometric]
Case edge F12:face:116|F12:face:90 [geometric]
Case edge F12:face:117|F12:face:148 [geometric]
Case edge F12:face:117|F12:face:91 [geometric]
Case edge F12:face:118|F12:face:119~1 [geometric]
Case edge F12:face:118|F12:face:119~2 [geometric]
Case edge F12:face:118|F12:face:149 [geometric]
Case edge F12:face:118|F12:face:92 [geometric]
Case edge F12:face:119|F12:face:149 [geometric]
Case edge F12:face:119|F12:face:93 [geometric]
Case edge F12:face:120|F12:face:121~1 [geometric]
Case edge F12:face:120|F12:face:121~2 [geometric]
Case edge F12:face:120|F12:face:149 [geometric]
Case edge F12:face:120|F12:face:94 [geometric]
Case edge F12:face:121|F12:face:149 [geometric]
Case edge F12:face:121|F12:face:95 [geometric]
Case edge F12:face:32|F12:face:33~1 [geometric]
Case edge F12:face:32|F12:face:33~2 [geometric]
Case edge F12:face:32|F12:face:60 [geometric]
Case edge F12:face:32|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F12:face:33|F12:face:61 [geometric]
Case edge F12:face:33|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F12:face:34|F12:face:35~1 [geometric]
Case edge F12:face:34|F12:face:35~2 [geometric]
Case edge F12:face:34|F12:face:62 [geometric]
Case edge F12:face:34|F4:inner:F2:start#[F12:face:34,F12:face:35] [geometric]
Case edge F12:face:35|F12:face:63 [geometric]
Case edge F12:face:35|F4:inner:F2:start#[F12:face:34,F12:face:35] [geometric]
Case edge F12:face:36|F12:face:37~1 [geometric]
Case edge F12:face:36|F12:face:37~2 [geometric]
Case edge F12:face:36|F12:face:64 [geometric]
Case edge F12:face:36|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F12:face:37|F12:face:65 [geometric]
Case edge F12:face:37|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F12:face:38|F12:face:39~1 [geometric]
Case edge F12:face:38|F12:face:39~2 [geometric]
Case edge F12:face:38|F12:face:66 [geometric]
Case edge F12:face:38|F4:inner:F2:start#[F12:face:38,F12:face:39] [geometric]
Case edge F12:face:39|F12:face:67 [geometric]
Case edge F12:face:39|F4:inner:F2:start#[F12:face:38,F12:face:39] [geometric]
Case edge F12:face:40|F12:face:41~1 [geometric]
Case edge F12:face:40|F12:face:41~2 [geometric]
Case edge F12:face:40|F12:face:68 [geometric]
Case edge F12:face:40|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F12:face:41|F12:face:69 [geometric]
Case edge F12:face:41|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F12:face:42|F12:face:43~1 [geometric]
Case edge F12:face:42|F12:face:43~2 [geometric]
Case edge F12:face:42|F12:face:70 [geometric]
Case edge F12:face:42|F4:inner:F2:start#[F12:face:42,F12:face:43] [geometric]
Case edge F12:face:43|F12:face:71 [geometric]
Case edge F12:face:43|F4:inner:F2:start#[F12:face:42,F12:face:43] [geometric]
Case edge F12:face:60|F12:face:61~1 [geometric]
Case edge F12:face:60|F12:face:61~2 [geometric]
Case edge F12:face:60|F12:face:84 [geometric]
Case edge F12:face:61|F12:face:85 [geometric]
Case edge F12:face:62|F12:face:63~1 [geometric]
Case edge F12:face:62|F12:face:63~2 [geometric]
Case edge F12:face:62|F12:face:86 [geometric]
Case edge F12:face:63|F12:face:87 [geometric]
Case edge F12:face:64|F12:face:65~1 [geometric]
Case edge F12:face:64|F12:face:65~2 [geometric]
Case edge F12:face:64|F12:face:88 [geometric]
Case edge F12:face:65|F12:face:89 [geometric]
Case edge F12:face:66|F12:face:67~1 [geometric]
Case edge F12:face:66|F12:face:67~2 [geometric]
Case edge F12:face:66|F12:face:90 [geometric]
Case edge F12:face:67|F12:face:91 [geometric]
Case edge F12:face:68|F12:face:69~1 [geometric]
Case edge F12:face:68|F12:face:69~2 [geometric]
Case edge F12:face:68|F12:face:92 [geometric]
Case edge F12:face:69|F12:face:93 [geometric]
Case edge F12:face:70|F12:face:71~1 [geometric]
Case edge F12:face:70|F12:face:71~2 [geometric]
Case edge F12:face:70|F12:face:94 [geometric]
Case edge F12:face:71|F12:face:95 [geometric]
Case edge F12:face:84|F12:face:85~1 [geometric]
Case edge F12:face:84|F12:face:85~2 [geometric]
Case edge F12:face:86|F12:face:87~1 [geometric]
Case edge F12:face:86|F12:face:87~2 [geometric]
Case edge F12:face:88|F12:face:89~1 [geometric]
Case edge F12:face:88|F12:face:89~2 [geometric]
Case edge F12:face:90|F12:face:91~1 [geometric]
Case edge F12:face:90|F12:face:91~2 [geometric]
Case edge F12:face:92|F12:face:93~1 [geometric]
Case edge F12:face:92|F12:face:93~2 [geometric]
Case edge F12:face:94|F12:face:95~1 [geometric]
Case edge F12:face:94|F12:face:95~2 [geometric]
Case edge F16:arm:base|F16:arm:side:1
Case edge F16:arm:base|F16:arm:side:2
Case edge F16:arm:base|F16:arm:side:3
Case edge F16:arm:base|F16:arm:side:4
Case edge F16:arm:base|F16:arm:side:5
Case edge F16:arm:base|F4:inner:F2:side:l1 [geometric]
Case edge F16:arm:side:1|F16:arm:side:2
Case edge F16:arm:side:1|F16:arm:top
Case edge F16:arm:side:1|F4:inner:F2:side:l1 [geometric]
Case edge F16:arm:side:2|F16:arm:side:3
Case edge F16:arm:side:2|F16:arm:top
Case edge F16:arm:side:3|F16:arm:side:4
Case edge F16:arm:side:3|F16:arm:top
Case edge F16:arm:side:4|F16:arm:side:5
Case edge F16:arm:side:4|F16:arm:top
Case edge F16:arm:side:5|F16:arm:top
Case edge F16:arm:side:5|F4:inner:F2:side:l1 [geometric]
Case edge F16:arm:top|F4:inner:F2:side:l1 [geometric]
Case edge F2:side:l1|F2:start [geometric]
Case edge F2:side:l1|F2:top [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#1 [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#2 [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#3 [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#4 [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#[F2:start] [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4#1 [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4#2 [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4#3 [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4#4 [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4#[F2:start] [geometric]
Case edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case edge F2:side:l1|F9:side:l1 [geometric]
Case edge F2:side:l1|F9:side:l2 [geometric]
Case edge F2:side:l1|F9:side:l3 [geometric]
Case edge F2:side:l1|F9:side:l4 [geometric]
Case edge F2:side:l2|F2:start [geometric]
Case edge F2:side:l2|F2:top [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2#1 [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2#2 [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2#3 [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2#4 [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2#[F2:start] [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3#1 [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3#2 [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3#3 [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3#4 [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3#[F2:start] [geometric]
Case edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case edge F2:side:l3|F2:start [geometric]
Case edge F2:side:l3|F2:top [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3#1 [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3#2 [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3#3 [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3#4 [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3#[F2:start] [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4#1 [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4#2 [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4#3 [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4#4 [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4#[F2:start] [geometric]
Case edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case edge F2:side:l4|F2:start [geometric]
Case edge F2:side:l4|F2:top [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4#1 [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4#2 [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4#3 [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4#4 [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4#[F2:start] [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4#1 [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4#2 [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4#3 [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4#4 [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4#[F2:start] [geometric]
Case edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case edge F2:start|F3:blend:F2:side:l1|F2:side:l2#[F2:start] [geometric]
Case edge F2:start|F3:blend:F2:side:l1|F2:side:l4#[F2:start] [geometric]
Case edge F2:start|F3:blend:F2:side:l2|F2:side:l3#[F2:start] [geometric]
Case edge F2:start|F3:blend:F2:side:l3|F2:side:l4#[F2:start] [geometric]
Case edge F2:top|F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case edge F2:top|F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case edge F2:top|F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case edge F2:top|F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case edge F2:top|F4:inner:F2:side:l1 [geometric]
Case edge F2:top|F4:inner:F2:side:l2 [geometric]
Case edge F2:top|F4:inner:F2:side:l3 [geometric]
Case edge F2:top|F4:inner:F2:side:l4 [geometric]
Case edge F2:top|F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case edge F2:top|F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case edge F2:top|F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case edge F2:top|F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l2#1|F3:blend:F2:side:l1|F2:side:l2#2 [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l2#1|F3:blend:F2:side:l1|F2:side:l2#[F2:start] [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l2#2|F3:blend:F2:side:l1|F2:side:l2#3 [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l2#3|F3:blend:F2:side:l1|F2:side:l2#4 [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l2#4|F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l4#1|F3:blend:F2:side:l1|F2:side:l4#2 [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l4#1|F3:blend:F2:side:l1|F2:side:l4#[F2:start] [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l4#2|F3:blend:F2:side:l1|F2:side:l4#3 [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l4#3|F3:blend:F2:side:l1|F2:side:l4#4 [geometric]
Case edge F3:blend:F2:side:l1|F2:side:l4#4|F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case edge F3:blend:F2:side:l2|F2:side:l3#1|F3:blend:F2:side:l2|F2:side:l3#2 [geometric]
Case edge F3:blend:F2:side:l2|F2:side:l3#1|F3:blend:F2:side:l2|F2:side:l3#[F2:start] [geometric]
Case edge F3:blend:F2:side:l2|F2:side:l3#2|F3:blend:F2:side:l2|F2:side:l3#3 [geometric]
Case edge F3:blend:F2:side:l2|F2:side:l3#3|F3:blend:F2:side:l2|F2:side:l3#4 [geometric]
Case edge F3:blend:F2:side:l2|F2:side:l3#4|F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case edge F3:blend:F2:side:l3|F2:side:l4#1|F3:blend:F2:side:l3|F2:side:l4#2 [geometric]
Case edge F3:blend:F2:side:l3|F2:side:l4#1|F3:blend:F2:side:l3|F2:side:l4#[F2:start] [geometric]
Case edge F3:blend:F2:side:l3|F2:side:l4#2|F3:blend:F2:side:l3|F2:side:l4#3 [geometric]
Case edge F3:blend:F2:side:l3|F2:side:l4#3|F3:blend:F2:side:l3|F2:side:l4#4 [geometric]
Case edge F3:blend:F2:side:l3|F2:side:l4#4|F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case edge F4:inner:F2:side:l1|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l2#1 [geometric]
Case edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l2#2 [geometric]
Case edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l4#1 [geometric]
Case edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l4#2 [geometric]
Case edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case edge F4:inner:F2:side:l1|F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:side:l1|F9:side:l1 [geometric]
Case edge F4:inner:F2:side:l1|F9:side:l2 [geometric]
Case edge F4:inner:F2:side:l1|F9:side:l3 [geometric]
Case edge F4:inner:F2:side:l1|F9:side:l4 [geometric]
Case edge F4:inner:F2:side:l2|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l1|F2:side:l2#1 [geometric]
Case edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l1|F2:side:l2#2 [geometric]
Case edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l2|F2:side:l3#1 [geometric]
Case edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l2|F2:side:l3#2 [geometric]
Case edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case edge F4:inner:F2:side:l2|F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:side:l3|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l2|F2:side:l3#1 [geometric]
Case edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l2|F2:side:l3#2 [geometric]
Case edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l3|F2:side:l4#1 [geometric]
Case edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l3|F2:side:l4#2 [geometric]
Case edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case edge F4:inner:F2:side:l3|F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:side:l4|F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3] [geometric]
Case edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l1|F2:side:l4#1 [geometric]
Case edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l1|F2:side:l4#2 [geometric]
Case edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l3|F2:side:l4#1 [geometric]
Case edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l3|F2:side:l4#2 [geometric]
Case edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case edge F4:inner:F2:side:l4|F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F6:side:so#1 [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F6:side:so#2 [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F6:side:so@F7.1#1 [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F6:side:so@F7.1#2 [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F6:side:so@F7.2#1 [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F6:side:so@F7.2#2 [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F6:side:so@F7.3#1 [geometric]
Case edge F4:inner:F2:start#[F11:side:bs,F12:face:32,F12:face:33,F12:face:36,F12:face:37,F12:face:40,F12:face:41,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,F6:side:so,F6:side:so@F7.1,F6:side:so@F7.2,F6:side:so@F7.3]|F6:side:so@F7.3#2 [geometric]
Case edge F4:inner:F2:start#[F6:side:so_hole@F7.1]|F6:side:so_hole@F7.1#1 [geometric]
Case edge F4:inner:F2:start#[F6:side:so_hole@F7.1]|F6:side:so_hole@F7.1#2 [geometric]
Case edge F4:inner:F2:start#[F6:side:so_hole@F7.2]|F6:side:so_hole@F7.2#1 [geometric]
Case edge F4:inner:F2:start#[F6:side:so_hole@F7.2]|F6:side:so_hole@F7.2#2 [geometric]
Case edge F4:inner:F2:start#[F6:side:so_hole@F7.3]|F6:side:so_hole@F7.3#1 [geometric]
Case edge F4:inner:F2:start#[F6:side:so_hole@F7.3]|F6:side:so_hole@F7.3#2 [geometric]
Case edge F4:inner:F2:start#[F6:side:so_hole]|F6:side:so_hole#1 [geometric]
Case edge F4:inner:F2:start#[F6:side:so_hole]|F6:side:so_hole#2 [geometric]
Case edge F4:inner:F3:blend:F2:side:l1|F2:side:l2#1|F4:inner:F3:blend:F2:side:l1|F2:side:l2#2 [geometric]
Case edge F4:inner:F3:blend:F2:side:l1|F2:side:l2#1|F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F3:blend:F2:side:l1|F2:side:l2#2|F4:inner:F3:blend:F2:side:l1|F2:side:l2#[F2:top] [geometric]
Case edge F4:inner:F3:blend:F2:side:l1|F2:side:l4#1|F4:inner:F3:blend:F2:side:l1|F2:side:l4#2 [geometric]
Case edge F4:inner:F3:blend:F2:side:l1|F2:side:l4#1|F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F3:blend:F2:side:l1|F2:side:l4#2|F4:inner:F3:blend:F2:side:l1|F2:side:l4#[F2:top] [geometric]
Case edge F4:inner:F3:blend:F2:side:l2|F2:side:l3#1|F4:inner:F3:blend:F2:side:l2|F2:side:l3#2 [geometric]
Case edge F4:inner:F3:blend:F2:side:l2|F2:side:l3#1|F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F3:blend:F2:side:l2|F2:side:l3#2|F4:inner:F3:blend:F2:side:l2|F2:side:l3#[F2:top] [geometric]
Case edge F4:inner:F3:blend:F2:side:l3|F2:side:l4#1|F4:inner:F3:blend:F2:side:l3|F2:side:l4#2 [geometric]
Case edge F4:inner:F3:blend:F2:side:l3|F2:side:l4#1|F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F4:inner:F2:start] [geometric]
Case edge F4:inner:F3:blend:F2:side:l3|F2:side:l4#2|F4:inner:F3:blend:F2:side:l3|F2:side:l4#[F2:top] [geometric]
Case edge F6:side:so#1|F6:side:so#2~1 [geometric]
Case edge F6:side:so#1|F6:side:so#2~2 [geometric]
Case edge F6:side:so#1|F6:top [geometric]
Case edge F6:side:so#2|F6:top [geometric]
Case edge F6:side:so@F7.1#1|F6:side:so@F7.1#2~1 [geometric]
Case edge F6:side:so@F7.1#1|F6:side:so@F7.1#2~2 [geometric]
Case edge F6:side:so@F7.1#1|F6:top@F7.1 [geometric]
Case edge F6:side:so@F7.1#2|F6:top@F7.1 [geometric]
Case edge F6:side:so@F7.2#1|F6:side:so@F7.2#2~1 [geometric]
Case edge F6:side:so@F7.2#1|F6:side:so@F7.2#2~2 [geometric]
Case edge F6:side:so@F7.2#1|F6:top@F7.2 [geometric]
Case edge F6:side:so@F7.2#2|F6:top@F7.2 [geometric]
Case edge F6:side:so@F7.3#1|F6:side:so@F7.3#2~1 [geometric]
Case edge F6:side:so@F7.3#1|F6:side:so@F7.3#2~2 [geometric]
Case edge F6:side:so@F7.3#1|F6:top@F7.3 [geometric]
Case edge F6:side:so@F7.3#2|F6:top@F7.3 [geometric]
Case edge F6:side:so_hole#1|F6:side:so_hole#2~1 [geometric]
Case edge F6:side:so_hole#1|F6:side:so_hole#2~2 [geometric]
Case edge F6:side:so_hole#1|F6:top [geometric]
Case edge F6:side:so_hole#2|F6:top [geometric]
Case edge F6:side:so_hole@F7.1#1|F6:side:so_hole@F7.1#2~1 [geometric]
Case edge F6:side:so_hole@F7.1#1|F6:side:so_hole@F7.1#2~2 [geometric]
Case edge F6:side:so_hole@F7.1#1|F6:top@F7.1 [geometric]
Case edge F6:side:so_hole@F7.1#2|F6:top@F7.1 [geometric]
Case edge F6:side:so_hole@F7.2#1|F6:side:so_hole@F7.2#2~1 [geometric]
Case edge F6:side:so_hole@F7.2#1|F6:side:so_hole@F7.2#2~2 [geometric]
Case edge F6:side:so_hole@F7.2#1|F6:top@F7.2 [geometric]
Case edge F6:side:so_hole@F7.2#2|F6:top@F7.2 [geometric]
Case edge F6:side:so_hole@F7.3#1|F6:side:so_hole@F7.3#2~1 [geometric]
Case edge F6:side:so_hole@F7.3#1|F6:side:so_hole@F7.3#2~2 [geometric]
Case edge F6:side:so_hole@F7.3#1|F6:top@F7.3 [geometric]
Case edge F6:side:so_hole@F7.3#2|F6:top@F7.3 [geometric]
Case edge F9:side:l1|F9:side:l2 [geometric]
Case edge F9:side:l1|F9:side:l4 [geometric]
Case edge F9:side:l2|F9:side:l3 [geometric]
Case edge F9:side:l3|F9:side:l4 [geometric]
body Lid: 36 faces, 96 edges
Lid face F14:side:l1 [geometric]
Lid face F14:side:l2 [geometric]
Lid face F14:side:l3 [geometric]
Lid face F14:side:l4 [geometric]
Lid face F14:start [geometric]
Lid face F14:top [geometric]
Lid face F15:blend:F14:side:l1|F14:side:l2 [geometric]
Lid face F15:blend:F14:side:l1|F14:side:l4 [geometric]
Lid face F15:blend:F14:side:l2|F14:side:l3 [geometric]
Lid face F15:blend:F14:side:l3|F14:side:l4 [geometric]
Lid face F18:side:a13 [geometric]
Lid face F18:side:a14 [geometric]
Lid face F18:side:a15 [geometric]
Lid face F18:side:a16 [geometric]
Lid face F18:side:a17 [geometric]
Lid face F18:side:a18 [geometric]
Lid face F18:side:a19 [geometric]
Lid face F18:side:a20 [geometric]
Lid face F18:side:l13 [geometric]
Lid face F18:side:l14 [geometric]
Lid face F18:side:l15 [geometric]
Lid face F18:side:l16 [geometric]
Lid face F18:side:l17 [geometric]
Lid face F18:side:l18 [geometric]
Lid face F18:side:l19 [geometric]
Lid face F18:side:l20 [geometric]
Lid face F18:top [geometric]
Lid face F20:side:ls#1 [geometric]
Lid face F20:side:ls#2 [geometric]
Lid face F20:side:ls@F21.1#1
Lid face F20:side:ls@F21.1#2
Lid face F20:side:ls@F21.2#1
Lid face F20:side:ls@F21.2#2
Lid face F20:side:ls@F21.3#1
Lid face F20:side:ls@F21.3#2
Lid face F2:top [geometric]
Lid edge F14:side:l1|F14:top [geometric]
Lid edge F14:side:l1|F15:blend:F14:side:l1|F14:side:l2 [geometric]
Lid edge F14:side:l1|F15:blend:F14:side:l1|F14:side:l4 [geometric]
Lid edge F14:side:l1|F2:top [geometric]
Lid edge F14:side:l2|F14:top [geometric]
Lid edge F14:side:l2|F15:blend:F14:side:l1|F14:side:l2 [geometric]
Lid edge F14:side:l2|F15:blend:F14:side:l2|F14:side:l3 [geometric]
Lid edge F14:side:l2|F2:top [geometric]
Lid edge F14:side:l3|F14:top [geometric]
Lid edge F14:side:l3|F15:blend:F14:side:l2|F14:side:l3 [geometric]
Lid edge F14:side:l3|F15:blend:F14:side:l3|F14:side:l4 [geometric]
Lid edge F14:side:l3|F2:top [geometric]
Lid edge F14:side:l4|F14:top [geometric]
Lid edge F14:side:l4|F15:blend:F14:side:l1|F14:side:l4 [geometric]
Lid edge F14:side:l4|F15:blend:F14:side:l3|F14:side:l4 [geometric]
Lid edge F14:side:l4|F2:top [geometric]
Lid edge F14:start|F18:side:a17 [geometric]
Lid edge F14:start|F18:side:a18 [geometric]
Lid edge F14:start|F18:side:a19 [geometric]
Lid edge F14:start|F18:side:a20 [geometric]
Lid edge F14:start|F18:side:l17 [geometric]
Lid edge F14:start|F18:side:l18 [geometric]
Lid edge F14:start|F18:side:l19 [geometric]
Lid edge F14:start|F18:side:l20 [geometric]
Lid edge F14:start|F20:side:ls#1 [geometric]
Lid edge F14:start|F20:side:ls#2 [geometric]
Lid edge F14:start|F20:side:ls@F21.1#1 [geometric]
Lid edge F14:start|F20:side:ls@F21.1#2 [geometric]
Lid edge F14:start|F20:side:ls@F21.2#1 [geometric]
Lid edge F14:start|F20:side:ls@F21.2#2 [geometric]
Lid edge F14:start|F20:side:ls@F21.3#1 [geometric]
Lid edge F14:start|F20:side:ls@F21.3#2 [geometric]
Lid edge F14:top|F15:blend:F14:side:l1|F14:side:l2 [geometric]
Lid edge F14:top|F15:blend:F14:side:l1|F14:side:l4 [geometric]
Lid edge F14:top|F15:blend:F14:side:l2|F14:side:l3 [geometric]
Lid edge F14:top|F15:blend:F14:side:l3|F14:side:l4 [geometric]
Lid edge F14:top|F20:side:ls#1 [geometric]
Lid edge F14:top|F20:side:ls#2 [geometric]
Lid edge F14:top|F20:side:ls@F21.1#1 [geometric]
Lid edge F14:top|F20:side:ls@F21.1#2 [geometric]
Lid edge F14:top|F20:side:ls@F21.2#1 [geometric]
Lid edge F14:top|F20:side:ls@F21.2#2 [geometric]
Lid edge F14:top|F20:side:ls@F21.3#1 [geometric]
Lid edge F14:top|F20:side:ls@F21.3#2 [geometric]
Lid edge F15:blend:F14:side:l1|F14:side:l2|F2:top [geometric]
Lid edge F15:blend:F14:side:l1|F14:side:l4|F2:top [geometric]
Lid edge F15:blend:F14:side:l2|F14:side:l3|F2:top [geometric]
Lid edge F15:blend:F14:side:l3|F14:side:l4|F2:top [geometric]
Lid edge F18:side:a13|F18:side:l13 [geometric]
Lid edge F18:side:a13|F18:side:l14 [geometric]
Lid edge F18:side:a13|F18:top [geometric]
Lid edge F18:side:a13|F2:top [geometric]
Lid edge F18:side:a14|F18:side:l14 [geometric]
Lid edge F18:side:a14|F18:side:l15 [geometric]
Lid edge F18:side:a14|F18:top [geometric]
Lid edge F18:side:a14|F2:top [geometric]
Lid edge F18:side:a15|F18:side:l15 [geometric]
Lid edge F18:side:a15|F18:side:l16 [geometric]
Lid edge F18:side:a15|F18:top [geometric]
Lid edge F18:side:a15|F2:top [geometric]
Lid edge F18:side:a16|F18:side:l13 [geometric]
Lid edge F18:side:a16|F18:side:l16 [geometric]
Lid edge F18:side:a16|F18:top [geometric]
Lid edge F18:side:a16|F2:top [geometric]
Lid edge F18:side:a17|F18:side:l17 [geometric]
Lid edge F18:side:a17|F18:side:l18 [geometric]
Lid edge F18:side:a17|F18:top [geometric]
Lid edge F18:side:a18|F18:side:l18 [geometric]
Lid edge F18:side:a18|F18:side:l19 [geometric]
Lid edge F18:side:a18|F18:top [geometric]
Lid edge F18:side:a19|F18:side:l19 [geometric]
Lid edge F18:side:a19|F18:side:l20 [geometric]
Lid edge F18:side:a19|F18:top [geometric]
Lid edge F18:side:a20|F18:side:l17 [geometric]
Lid edge F18:side:a20|F18:side:l20 [geometric]
Lid edge F18:side:a20|F18:top [geometric]
Lid edge F18:side:l13|F18:top [geometric]
Lid edge F18:side:l13|F2:top [geometric]
Lid edge F18:side:l14|F18:top [geometric]
Lid edge F18:side:l14|F2:top [geometric]
Lid edge F18:side:l15|F18:top [geometric]
Lid edge F18:side:l15|F2:top [geometric]
Lid edge F18:side:l16|F18:top [geometric]
Lid edge F18:side:l16|F2:top [geometric]
Lid edge F18:side:l17|F18:top [geometric]
Lid edge F18:side:l18|F18:top [geometric]
Lid edge F18:side:l19|F18:top [geometric]
Lid edge F18:side:l20|F18:top [geometric]
Lid edge F20:side:ls#1|F20:side:ls#2~1 [geometric]
Lid edge F20:side:ls#1|F20:side:ls#2~2 [geometric]
Lid edge F20:side:ls@F21.1#1|F20:side:ls@F21.1#2~1 [geometric]
Lid edge F20:side:ls@F21.1#1|F20:side:ls@F21.1#2~2 [geometric]
Lid edge F20:side:ls@F21.2#1|F20:side:ls@F21.2#2~1 [geometric]
Lid edge F20:side:ls@F21.2#1|F20:side:ls@F21.2#2~2 [geometric]
Lid edge F20:side:ls@F21.3#1|F20:side:ls@F21.3#2~1 [geometric]
Lid edge F20:side:ls@F21.3#1|F20:side:ls@F21.3#2~2 [geometric]
ref Fillet1 (3) edge 0 `F2:side:l2|F2:side:l3` -> Case edge F2:side:l2|F2:side:l3
ref Fillet1 (3) edge 1 `F2:side:l3|F2:side:l4` -> Case edge F2:side:l3|F2:side:l4
ref Fillet1 (3) edge 2 `F2:side:l1|F2:side:l4` -> Case edge F2:side:l1|F2:side:l4
ref Fillet1 (3) edge 3 `F2:side:l1|F2:side:l2` -> Case edge F2:side:l1|F2:side:l2
ref Shell1 (4) face 0 `F2:top` -> Case face F2:top
ref Fillet2 (15) edge 0 `F14:side:l2|F14:side:l3` -> Lid edge F14:side:l2|F14:side:l3
ref Fillet2 (15) edge 1 `F14:side:l3|F14:side:l4` -> Lid edge F14:side:l3|F14:side:l4
ref Fillet2 (15) edge 2 `F14:side:l1|F14:side:l4` -> Lid edge F14:side:l1|F14:side:l4
ref Fillet2 (15) edge 3 `F14:side:l1|F14:side:l2` -> Lid edge F14:side:l1|F14:side:l2
ref SnapFit1 (16) face 0 `F4:inner:F2:side:l1` -> Case face F4:inner:F2:side:l1 [geometric]
@@ -1,516 +0,0 @@
# fixtures/battery-tpu-case-v2: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Battery: 12 faces, 30 edges
Battery face F2:side:l1
Battery face F2:side:l2
Battery face F2:side:l3
Battery face F2:side:l4
Battery face F2:side:l5
Battery face F2:side:l6
Battery face F2:start
Battery face F4:side:a1
Battery face F4:side:a2
Battery face F4:side:l3
Battery face F4:side:l4
Battery face F4:side:l5
Battery edge F2:side:l1|F2:side:l2
Battery edge F2:side:l1|F2:side:l6
Battery edge F2:side:l1|F2:start
Battery edge F2:side:l1|F4:side:a1
Battery edge F2:side:l1|F4:side:a2
Battery edge F2:side:l1|F4:side:l3
Battery edge F2:side:l1|F4:side:l4
Battery edge F2:side:l1|F4:side:l5
Battery edge F2:side:l2|F2:side:l3
Battery edge F2:side:l2|F2:start
Battery edge F2:side:l2|F4:side:l3
Battery edge F2:side:l3|F2:side:l4
Battery edge F2:side:l3|F2:start
Battery edge F2:side:l3|F4:side:l3
Battery edge F2:side:l4|F2:side:l5
Battery edge F2:side:l4|F2:start
Battery edge F2:side:l4|F4:side:a1
Battery edge F2:side:l4|F4:side:a2
Battery edge F2:side:l4|F4:side:l3
Battery edge F2:side:l4|F4:side:l4
Battery edge F2:side:l4|F4:side:l5
Battery edge F2:side:l5|F2:side:l6
Battery edge F2:side:l5|F2:start
Battery edge F2:side:l5|F4:side:l5
Battery edge F2:side:l6|F2:start
Battery edge F2:side:l6|F4:side:l5
Battery edge F4:side:a1|F4:side:l3
Battery edge F4:side:a1|F4:side:l4
Battery edge F4:side:a2|F4:side:l4
Battery edge F4:side:a2|F4:side:l5
body Case: 122 faces, 320 edges
Case face F11:end
Case face F11:end@F13.1
Case face F11:side:l1
Case face F11:side:l10
Case face F11:side:l10@F13.1
Case face F11:side:l11
Case face F11:side:l11@F13.1
Case face F11:side:l12
Case face F11:side:l12@F13.1
Case face F11:side:l13
Case face F11:side:l13@F13.1
Case face F11:side:l14
Case face F11:side:l14@F13.1
Case face F11:side:l15
Case face F11:side:l15@F13.1
Case face F11:side:l16
Case face F11:side:l16@F13.1
Case face F11:side:l17
Case face F11:side:l17@F13.1
Case face F11:side:l18
Case face F11:side:l18@F13.1
Case face F11:side:l1@F13.1
Case face F11:side:l2
Case face F11:side:l2@F13.1
Case face F11:side:l3
Case face F11:side:l3@F13.1
Case face F11:side:l4
Case face F11:side:l4@F13.1
Case face F11:side:l5
Case face F11:side:l5@F13.1
Case face F11:side:l6
Case face F11:side:l6@F13.1
Case face F11:side:l7
Case face F11:side:l7@F13.1
Case face F11:side:l8
Case face F11:side:l8@F13.1
Case face F11:side:l9
Case face F11:side:l9@F13.1
Case face F11:start
Case face F11:start@F13.1
Case face F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case face F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case face F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case face F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case face F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case face F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case face F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case face F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case face F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F2:start@F5.1
Case face F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F2:start@F5.1
Case face F15:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F2:start@F5.1
Case face F15:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F2:start@F5.1
Case face F15:blend:F2:side:l1@F5.1|F2:start@F5.1
Case face F15:blend:F2:side:l2@F5.1|F2:start@F5.1
Case face F15:blend:F2:side:l3@F5.1|F2:start@F5.1
Case face F15:blend:F2:side:l5@F5.1|F2:start@F5.1
Case face F15:blend:F2:side:l6@F5.1|F2:start@F5.1
Case face F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F4:side:l3@F5.1
Case face F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1
Case face F16:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F4:side:l3@F5.1
Case face F16:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1
Case face F16:blend:F2:side:l1@F5.1|F4:side:a1@F5.1
Case face F16:blend:F2:side:l1@F5.1|F4:side:a2@F5.1
Case face F16:blend:F2:side:l1@F5.1|F4:side:l3@F5.1
Case face F16:blend:F2:side:l1@F5.1|F4:side:l4@F5.1
Case face F16:blend:F2:side:l1@F5.1|F4:side:l5@F5.1
Case face F16:blend:F2:side:l2@F5.1|F4:side:l3@F5.1
Case face F16:blend:F2:side:l3@F5.1|F4:side:l3@F5.1
Case face F16:blend:F2:side:l5@F5.1|F4:side:l5@F5.1
Case face F16:blend:F2:side:l6@F5.1|F4:side:l5@F5.1
Case face F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1
Case face F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case face F17:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1
Case face F17:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case face F17:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1
Case face F17:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1
Case face F17:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1
Case face F17:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1
Case face F17:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case face F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1
Case face F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case face F18:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case face F18:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case face F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1
Case face F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1
Case face F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1
Case face F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1
Case face F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1
Case face F18:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1
Case face F18:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case face F18:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case face F18:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case face F2:side:l1@F5.1
Case face F2:side:l2@F5.1
Case face F2:side:l3@F5.1
Case face F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]
Case face F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]
Case face F2:side:l5@F5.1
Case face F2:side:l6@F5.1
Case face F2:start@F5.1
Case face F4:side:a1@F5.1
Case face F4:side:a2@F5.1
Case face F4:side:l3@F5.1
Case face F4:side:l4@F5.1
Case face F4:side:l5@F5.1
Case face F6:inner:F2:side:l1@F5.1
Case face F6:inner:F2:side:l2@F5.1
Case face F6:inner:F2:side:l3@F5.1
Case face F6:inner:F2:side:l5@F5.1
Case face F6:inner:F2:side:l6@F5.1
Case face F6:inner:F2:start@F5.1
Case face F6:inner:F4:side:a1@F5.1
Case face F6:inner:F4:side:a2@F5.1
Case face F6:inner:F4:side:l3@F5.1
Case face F6:inner:F4:side:l4@F5.1
Case face F6:inner:F4:side:l5@F5.1
Case face F8:side:l2
Case face F8:side:l2@F13.1
Case face F8:side:l4
Case face F8:side:l4@F13.1
Case face F8:top
Case face F8:top@F13.1
Case edge F11:end@F13.1|F11:side:l18@F13.1
Case edge F11:end@F13.1|F11:side:l1@F13.1
Case edge F11:end@F13.1|F11:side:l2@F13.1
Case edge F11:end@F13.1|F11:side:l3@F13.1
Case edge F11:end@F13.1|F11:side:l4@F13.1
Case edge F11:end@F13.1|F11:side:l5@F13.1
Case edge F11:end@F13.1|F11:side:l6@F13.1
Case edge F11:end@F13.1|F11:side:l7@F13.1
Case edge F11:end@F13.1|F11:side:l8@F13.1
Case edge F11:end@F13.1|F11:side:l9@F13.1
Case edge F11:end@F13.1|F4:side:l3@F5.1
Case edge F11:end|F11:side:l1
Case edge F11:end|F11:side:l18
Case edge F11:end|F11:side:l2
Case edge F11:end|F11:side:l3
Case edge F11:end|F11:side:l4
Case edge F11:end|F11:side:l5
Case edge F11:end|F11:side:l6
Case edge F11:end|F11:side:l7
Case edge F11:end|F11:side:l8
Case edge F11:end|F11:side:l9
Case edge F11:end|F2:start@F5.1
Case edge F11:side:l10@F13.1|F11:side:l11@F13.1
Case edge F11:side:l10@F13.1|F11:start@F13.1
Case edge F11:side:l10@F13.1|F8:side:l2@F13.1
Case edge F11:side:l10@F13.1|F8:top@F13.1
Case edge F11:side:l10|F11:side:l11
Case edge F11:side:l10|F11:side:l9
Case edge F11:side:l10|F11:start
Case edge F11:side:l10|F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]
Case edge F11:side:l10|F8:side:l2
Case edge F11:side:l10|F8:top
Case edge F11:side:l11@F13.1|F11:side:l12@F13.1
Case edge F11:side:l11@F13.1|F11:start@F13.1
Case edge F11:side:l11@F13.1|F8:top@F13.1
Case edge F11:side:l11|F11:side:l12
Case edge F11:side:l11|F11:start
Case edge F11:side:l11|F8:top
Case edge F11:side:l12@F13.1|F11:side:l13@F13.1
Case edge F11:side:l12@F13.1|F11:start@F13.1
Case edge F11:side:l12@F13.1|F8:top@F13.1
Case edge F11:side:l12|F11:side:l13
Case edge F11:side:l12|F11:start
Case edge F11:side:l12|F8:top
Case edge F11:side:l13@F13.1|F11:side:l14@F13.1
Case edge F11:side:l13@F13.1|F11:start@F13.1
Case edge F11:side:l13@F13.1|F8:top@F13.1
Case edge F11:side:l13|F11:side:l14
Case edge F11:side:l13|F11:start
Case edge F11:side:l13|F8:top
Case edge F11:side:l14@F13.1|F11:side:l15@F13.1
Case edge F11:side:l14@F13.1|F11:start@F13.1
Case edge F11:side:l14@F13.1|F8:top@F13.1
Case edge F11:side:l14|F11:side:l15
Case edge F11:side:l14|F11:start
Case edge F11:side:l14|F8:top
Case edge F11:side:l15@F13.1|F11:side:l16@F13.1
Case edge F11:side:l15@F13.1|F11:start@F13.1
Case edge F11:side:l15@F13.1|F8:top@F13.1
Case edge F11:side:l15|F11:side:l16
Case edge F11:side:l15|F11:start
Case edge F11:side:l15|F8:top
Case edge F11:side:l16@F13.1|F11:side:l17@F13.1
Case edge F11:side:l16@F13.1|F11:start@F13.1
Case edge F11:side:l16@F13.1|F8:top@F13.1
Case edge F11:side:l16|F11:side:l17
Case edge F11:side:l16|F11:start
Case edge F11:side:l16|F8:top
Case edge F11:side:l17@F13.1|F11:start@F13.1
Case edge F11:side:l17@F13.1|F8:side:l4@F13.1
Case edge F11:side:l17@F13.1|F8:top@F13.1
Case edge F11:side:l17|F11:side:l18
Case edge F11:side:l17|F11:start
Case edge F11:side:l17|F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]
Case edge F11:side:l17|F8:side:l4
Case edge F11:side:l17|F8:top
Case edge F11:side:l18@F13.1|F11:side:l1@F13.1
Case edge F11:side:l18@F13.1|F11:start@F13.1
Case edge F11:side:l18@F13.1|F4:side:l3@F5.1
Case edge F11:side:l18|F11:start
Case edge F11:side:l18|F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]
Case edge F11:side:l18|F2:start@F5.1
Case edge F11:side:l1@F13.1|F11:side:l2@F13.1
Case edge F11:side:l1@F13.1|F11:start@F13.1
Case edge F11:side:l1|F11:side:l18
Case edge F11:side:l1|F11:side:l2
Case edge F11:side:l1|F11:start
Case edge F11:side:l2@F13.1|F11:side:l3@F13.1
Case edge F11:side:l2@F13.1|F11:start@F13.1
Case edge F11:side:l2|F11:side:l3
Case edge F11:side:l2|F11:start
Case edge F11:side:l3@F13.1|F11:side:l4@F13.1
Case edge F11:side:l3@F13.1|F11:start@F13.1
Case edge F11:side:l3|F11:side:l4
Case edge F11:side:l3|F11:start
Case edge F11:side:l4@F13.1|F11:side:l5@F13.1
Case edge F11:side:l4@F13.1|F11:start@F13.1
Case edge F11:side:l4|F11:side:l5
Case edge F11:side:l4|F11:start
Case edge F11:side:l5@F13.1|F11:side:l6@F13.1
Case edge F11:side:l5@F13.1|F11:start@F13.1
Case edge F11:side:l5|F11:side:l6
Case edge F11:side:l5|F11:start
Case edge F11:side:l6@F13.1|F11:side:l7@F13.1
Case edge F11:side:l6@F13.1|F11:start@F13.1
Case edge F11:side:l6|F11:side:l7
Case edge F11:side:l6|F11:start
Case edge F11:side:l7@F13.1|F11:side:l8@F13.1
Case edge F11:side:l7@F13.1|F11:start@F13.1
Case edge F11:side:l7|F11:side:l8
Case edge F11:side:l7|F11:start
Case edge F11:side:l8@F13.1|F11:side:l9@F13.1
Case edge F11:side:l8@F13.1|F11:start@F13.1
Case edge F11:side:l8|F11:side:l9
Case edge F11:side:l8|F11:start
Case edge F11:side:l9@F13.1|F11:start@F13.1
Case edge F11:side:l9@F13.1|F4:side:l3@F5.1
Case edge F11:side:l9|F11:start
Case edge F11:side:l9|F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]
Case edge F11:side:l9|F2:start@F5.1
Case edge F11:start@F13.1|F4:side:l3@F5.1~1 [geometric]
Case edge F11:start@F13.1|F4:side:l3@F5.1~2 [geometric]
Case edge F11:start@F13.1|F8:side:l2@F13.1
Case edge F11:start@F13.1|F8:side:l4@F13.1
Case edge F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F2:start@F5.1
Case edge F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F4:side:l3@F5.1
Case edge F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F2:side:l1@F5.1
Case edge F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F2:side:l2@F5.1
Case edge F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F2:start@F5.1
Case edge F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1
Case edge F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F2:side:l1@F5.1
Case edge F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F2:side:l6@F5.1
Case edge F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F15:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F2:start@F5.1
Case edge F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F16:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F4:side:l3@F5.1
Case edge F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F2:side:l2@F5.1
Case edge F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F2:side:l3@F5.1
Case edge F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F15:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F2:start@F5.1
Case edge F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F16:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1
Case edge F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F2:side:l5@F5.1
Case edge F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F2:side:l6@F5.1
Case edge F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1
Case edge F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l1@F5.1
Case edge F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case edge F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:side:l1@F5.1
Case edge F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F17:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1
Case edge F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F18:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F17:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case edge F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F18:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:side:l5@F5.1
Case edge F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F2:start@F5.1|F15:blend:F2:side:l1@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F2:start@F5.1|F15:blend:F2:side:l2@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F2:start@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F2:start@F5.1|F15:blend:F2:side:l1@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F2:start@F5.1|F15:blend:F2:side:l6@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F2:start@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F2:start@F5.1|F15:blend:F2:side:l2@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F2:start@F5.1|F15:blend:F2:side:l3@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F2:start@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F2:start@F5.1|F15:blend:F2:side:l5@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F2:start@F5.1|F15:blend:F2:side:l6@F5.1|F2:start@F5.1
Case edge F15:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F2:start@F5.1|F2:start@F5.1
Case edge F15:blend:F2:side:l1@F5.1|F2:start@F5.1|F2:side:l1@F5.1
Case edge F15:blend:F2:side:l1@F5.1|F2:start@F5.1|F2:start@F5.1
Case edge F15:blend:F2:side:l2@F5.1|F2:start@F5.1|F2:side:l2@F5.1
Case edge F15:blend:F2:side:l2@F5.1|F2:start@F5.1|F2:start@F5.1
Case edge F15:blend:F2:side:l3@F5.1|F2:start@F5.1|F2:side:l3@F5.1
Case edge F15:blend:F2:side:l3@F5.1|F2:start@F5.1|F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]
Case edge F15:blend:F2:side:l3@F5.1|F2:start@F5.1|F2:start@F5.1
Case edge F15:blend:F2:side:l5@F5.1|F2:start@F5.1|F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]
Case edge F15:blend:F2:side:l5@F5.1|F2:start@F5.1|F2:side:l5@F5.1
Case edge F15:blend:F2:side:l5@F5.1|F2:start@F5.1|F2:start@F5.1
Case edge F15:blend:F2:side:l6@F5.1|F2:start@F5.1|F2:side:l6@F5.1
Case edge F15:blend:F2:side:l6@F5.1|F2:start@F5.1|F2:start@F5.1
Case edge F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F4:side:l3@F5.1|F16:blend:F2:side:l1@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F4:side:l3@F5.1|F16:blend:F2:side:l2@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F4:side:l3@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1|F16:blend:F2:side:l1@F5.1|F4:side:l5@F5.1
Case edge F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1|F16:blend:F2:side:l6@F5.1|F4:side:l5@F5.1
Case edge F16:blend:F14:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1|F4:side:l5@F5.1
Case edge F16:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F4:side:l3@F5.1|F16:blend:F2:side:l2@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F4:side:l3@F5.1|F16:blend:F2:side:l3@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F14:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F4:side:l3@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1|F16:blend:F2:side:l5@F5.1|F4:side:l5@F5.1
Case edge F16:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1|F16:blend:F2:side:l6@F5.1|F4:side:l5@F5.1
Case edge F16:blend:F14:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F4:side:l5@F5.1|F4:side:l5@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:a1@F5.1|F16:blend:F2:side:l1@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:a1@F5.1|F16:blend:F2:side:l1@F5.1|F4:side:l4@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:a1@F5.1|F2:side:l1@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:a1@F5.1|F4:side:a1@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:a2@F5.1|F16:blend:F2:side:l1@F5.1|F4:side:l4@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:a2@F5.1|F16:blend:F2:side:l1@F5.1|F4:side:l5@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:a2@F5.1|F2:side:l1@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:a2@F5.1|F4:side:a2@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:l3@F5.1|F2:side:l1@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:l3@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:l4@F5.1|F2:side:l1@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:l4@F5.1|F4:side:l4@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:l5@F5.1|F2:side:l1@F5.1
Case edge F16:blend:F2:side:l1@F5.1|F4:side:l5@F5.1|F4:side:l5@F5.1
Case edge F16:blend:F2:side:l2@F5.1|F4:side:l3@F5.1|F2:side:l2@F5.1
Case edge F16:blend:F2:side:l2@F5.1|F4:side:l3@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F2:side:l3@F5.1|F4:side:l3@F5.1|F2:side:l3@F5.1
Case edge F16:blend:F2:side:l3@F5.1|F4:side:l3@F5.1|F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]
Case edge F16:blend:F2:side:l3@F5.1|F4:side:l3@F5.1|F4:side:l3@F5.1
Case edge F16:blend:F2:side:l5@F5.1|F4:side:l5@F5.1|F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]
Case edge F16:blend:F2:side:l5@F5.1|F4:side:l5@F5.1|F2:side:l5@F5.1
Case edge F16:blend:F2:side:l5@F5.1|F4:side:l5@F5.1|F4:side:l5@F5.1
Case edge F16:blend:F2:side:l6@F5.1|F4:side:l5@F5.1|F2:side:l6@F5.1
Case edge F16:blend:F2:side:l6@F5.1|F4:side:l5@F5.1|F4:side:l5@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1|F17:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1|F17:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F17:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F17:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F17:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F17:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F17:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F17:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l1@F5.1
Case edge F17:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F17:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]
Case edge F17:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F17:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1|F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]
Case edge F17:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l5@F5.1
Case edge F17:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F17:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F17:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1|F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1|F18:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F18:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1|F18:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1|F18:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F18:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F18:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F18:blend:F14:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1|F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1|F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1|F6:inner:F2:side:l1@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1|F6:inner:F4:side:a1@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1|F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1|F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1|F6:inner:F2:side:l1@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1|F6:inner:F4:side:a2@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1|F6:inner:F2:side:l1@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1|F6:inner:F2:side:l1@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1|F6:inner:F2:side:l1@F5.1
Case edge F18:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F18:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F18:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1|F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]
Case edge F18:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F18:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F18:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1|F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]
Case edge F18:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1|F6:inner:F2:side:l5@F5.1
Case edge F18:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F18:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F18:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F2:side:l3@F5.1|F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]
Case edge F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]|F2:start@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]|F4:side:l3@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]|F6:inner:F2:side:l3@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]|F6:inner:F2:start@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]|F6:inner:F4:side:l3@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]|F8:side:l2
Case edge F2:side:l4@F5.1#[F11:side:l10,F11:side:l9,F2:side:l3@F5.1,F6:inner:F2:side:l3@F5.1,F8:side:l2,F8:side:l2@F13.1]|F8:side:l2@F13.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F2:side:l5@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F2:start@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F4:side:a1@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F4:side:a2@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F4:side:l3@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F4:side:l4@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F4:side:l5@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F6:inner:F2:side:l5@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F6:inner:F2:start@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F6:inner:F4:side:a1@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F6:inner:F4:side:a2@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F6:inner:F4:side:l3@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F6:inner:F4:side:l4@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F6:inner:F4:side:l5@F5.1
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F8:side:l4
Case edge F2:side:l4@F5.1#[F11:side:l17,F11:side:l18,F2:side:l5@F5.1,F4:side:a1@F5.1,F4:side:a2@F5.1,F4:side:l4@F5.1,F4:side:l5@F5.1,F6:inner:F2:side:l5@F5.1,F6:inner:F4:side:a1@F5.1,F6:inner:F4:side:a2@F5.1,F6:inner:F4:side:l4@F5.1,F6:inner:F4:side:l5@F5.1,F8:side:l4,F8:side:l4@F13.1]|F8:side:l4@F13.1
Case edge F4:side:a1@F5.1|F4:side:l3@F5.1
Case edge F4:side:a1@F5.1|F4:side:l4@F5.1
Case edge F4:side:a2@F5.1|F4:side:l4@F5.1
Case edge F4:side:a2@F5.1|F4:side:l5@F5.1
Case edge F4:side:l3@F5.1|F8:side:l2@F13.1
Case edge F4:side:l3@F5.1|F8:side:l4@F13.1
Case edge F6:inner:F2:start@F5.1|F8:side:l2
Case edge F6:inner:F2:start@F5.1|F8:side:l4
Case edge F6:inner:F2:start@F5.1|F8:top
Case edge F6:inner:F4:side:a1@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F6:inner:F4:side:a1@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F6:inner:F4:side:a2@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F6:inner:F4:side:a2@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F6:inner:F4:side:l3@F5.1|F8:side:l2@F13.1
Case edge F6:inner:F4:side:l3@F5.1|F8:side:l4@F13.1
Case edge F6:inner:F4:side:l3@F5.1|F8:top@F13.1
Case edge F8:side:l2@F13.1|F8:top@F13.1
Case edge F8:side:l2|F8:top
Case edge F8:side:l4@F13.1|F8:top@F13.1
Case edge F8:side:l4|F8:top
ref CaseShell (6) face 0 `F2:side:l4` -> Battery face F2:side:l4
ref FilletBig (14) edge 0 `F2:side:l5@F5.1|F2:side:l6@F5.1` -> Case edge F2:side:l5@F5.1|F2:side:l6@F5.1
ref FilletBig (14) edge 1 `F2:side:l1@F5.1|F2:side:l6@F5.1` -> Case edge F2:side:l1@F5.1|F2:side:l6@F5.1
ref FilletBig (14) edge 2 `F2:side:l1@F5.1|F2:side:l2@F5.1` -> Case edge F2:side:l1@F5.1|F2:side:l2@F5.1
ref FilletBig (14) edge 3 `F2:side:l2@F5.1|F2:side:l3@F5.1` -> Case edge F2:side:l2@F5.1|F2:side:l3@F5.1
ref FilletBig (14) edge 4 `F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1` -> Case edge F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
ref FilletBig (14) edge 5 `F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1` -> Case edge F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
ref FilletBig (14) edge 6 `F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1` -> Case edge F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
ref FilletBig (14) edge 7 `F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1` -> Case edge F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
ref FilletFrontOuter (15) edge 0 `F2:side:l2@F5.1|F2:start@F5.1` -> Case edge F2:side:l2@F5.1|F2:start@F5.1
ref FilletFrontOuter (15) edge 1 `F2:side:l3@F5.1|F2:start@F5.1` -> Case edge F2:side:l3@F5.1|F2:start@F5.1
ref FilletFrontOuter (15) edge 2 `F2:side:l5@F5.1|F2:start@F5.1` -> Case edge F2:side:l5@F5.1|F2:start@F5.1
ref FilletFrontOuter (15) edge 3 `F2:side:l6@F5.1|F2:start@F5.1` -> Case edge F2:side:l6@F5.1|F2:start@F5.1
ref FilletFrontOuter (15) edge 4 `F2:side:l1@F5.1|F2:start@F5.1` -> Case edge F2:side:l1@F5.1|F2:start@F5.1
ref FilletRearOuter (16) edge 0 `F2:side:l3@F5.1|F4:side:l3@F5.1` -> Case edge F2:side:l3@F5.1|F4:side:l3@F5.1
ref FilletRearOuter (16) edge 1 `F2:side:l2@F5.1|F4:side:l3@F5.1` -> Case edge F2:side:l2@F5.1|F4:side:l3@F5.1
ref FilletRearOuter (16) edge 2 `F2:side:l5@F5.1|F4:side:l5@F5.1` -> Case edge F2:side:l5@F5.1|F4:side:l5@F5.1
ref FilletRearOuter (16) edge 3 `F2:side:l6@F5.1|F4:side:l5@F5.1` -> Case edge F2:side:l6@F5.1|F4:side:l5@F5.1
ref FilletRearOuter (16) edge 4 `F2:side:l1@F5.1|F4:side:l3@F5.1` -> Case edge F2:side:l1@F5.1|F4:side:l3@F5.1
ref FilletFrontInner (17) edge 0 `F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1
ref FilletFrontInner (17) edge 1 `F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1
ref FilletFrontInner (17) edge 2 `F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1
ref FilletFrontInner (17) edge 3 `F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
ref FilletFrontInner (17) edge 4 `F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1
ref FilletRearInner (18) edge 0 `F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1` -> Case edge F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
ref FilletRearInner (18) edge 1 `F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1` -> Case edge F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1
ref FilletRearInner (18) edge 2 `F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1` -> Case edge F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1
ref FilletRearInner (18) edge 3 `F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1` -> Case edge F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
ref FilletRearInner (18) edge 4 `F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1` -> Case edge F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
-276
View File
@@ -1,276 +0,0 @@
# fixtures/battery-tpu-case: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Battery: 12 faces, 30 edges
Battery face F2:side:l1
Battery face F2:side:l2
Battery face F2:side:l3
Battery face F2:side:l4
Battery face F2:side:l5
Battery face F2:side:l6
Battery face F2:start
Battery face F4:side:a1
Battery face F4:side:a2
Battery face F4:side:l3
Battery face F4:side:l4
Battery face F4:side:l5
Battery edge F2:side:l1|F2:side:l2
Battery edge F2:side:l1|F2:side:l6
Battery edge F2:side:l1|F2:start
Battery edge F2:side:l1|F4:side:a1
Battery edge F2:side:l1|F4:side:a2
Battery edge F2:side:l1|F4:side:l3
Battery edge F2:side:l1|F4:side:l4
Battery edge F2:side:l1|F4:side:l5
Battery edge F2:side:l2|F2:side:l3
Battery edge F2:side:l2|F2:start
Battery edge F2:side:l2|F4:side:l3
Battery edge F2:side:l3|F2:side:l4
Battery edge F2:side:l3|F2:start
Battery edge F2:side:l3|F4:side:l3
Battery edge F2:side:l4|F2:side:l5
Battery edge F2:side:l4|F2:start
Battery edge F2:side:l4|F4:side:a1
Battery edge F2:side:l4|F4:side:a2
Battery edge F2:side:l4|F4:side:l3
Battery edge F2:side:l4|F4:side:l4
Battery edge F2:side:l4|F4:side:l5
Battery edge F2:side:l5|F2:side:l6
Battery edge F2:side:l5|F2:start
Battery edge F2:side:l5|F4:side:l5
Battery edge F2:side:l6|F2:start
Battery edge F2:side:l6|F4:side:l5
Battery edge F4:side:a1|F4:side:l3
Battery edge F4:side:a1|F4:side:l4
Battery edge F4:side:a2|F4:side:l4
Battery edge F4:side:a2|F4:side:l5
body Case: 62 faces, 149 edges
Case face F10:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1
Case face F10:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1
Case face F10:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1
Case face F10:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1
Case face F10:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case face F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case face F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case face F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case face F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case face F2:side:l1@F5.1
Case face F2:side:l2@F5.1
Case face F2:side:l3@F5.1
Case face F2:side:l4@F5.1
Case face F2:side:l5@F5.1
Case face F2:side:l6@F5.1
Case face F2:start@F5.1
Case face F4:side:a1@F5.1
Case face F4:side:a2@F5.1
Case face F4:side:l3@F5.1
Case face F4:side:l4@F5.1
Case face F4:side:l5@F5.1
Case face F6:inner:F2:side:l1@F5.1
Case face F6:inner:F2:side:l2@F5.1
Case face F6:inner:F2:side:l3@F5.1
Case face F6:inner:F2:side:l5@F5.1
Case face F6:inner:F2:side:l6@F5.1
Case face F6:inner:F2:start@F5.1
Case face F6:inner:F4:side:a1@F5.1
Case face F6:inner:F4:side:a2@F5.1
Case face F6:inner:F4:side:l3@F5.1
Case face F6:inner:F4:side:l4@F5.1
Case face F6:inner:F4:side:l5@F5.1
Case face F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case face F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case face F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case face F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case face F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case face F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case face F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case face F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case face F8:blend:F2:side:l1@F5.1|F2:start@F5.1
Case face F8:blend:F2:side:l2@F5.1|F2:start@F5.1
Case face F8:blend:F2:side:l3@F5.1|F2:start@F5.1
Case face F8:blend:F2:side:l5@F5.1|F2:start@F5.1
Case face F8:blend:F2:side:l6@F5.1|F2:start@F5.1
Case face F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case face F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case face F8:blend:F2:start@F5.1|F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case face F8:blend:F2:start@F5.1|F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case face F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1
Case face F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1
Case face F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1
Case face F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1
Case face F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1
Case face F9:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1
Case face F9:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case face F9:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case face F9:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case face F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case face F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case face F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case face F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F10:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1|F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F10:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1|F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F10:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l1@F5.1
Case edge F10:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F10:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1|F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F10:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1|F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F10:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F10:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F10:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F10:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F2:side:l4@F5.1
Case edge F10:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F10:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F10:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1|F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F10:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1|F2:side:l4@F5.1
Case edge F10:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l5@F5.1
Case edge F10:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F10:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F10:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F10:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F10:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1|F6:inner:F2:start@F5.1
Case edge F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1
Case edge F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case edge F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1
Case edge F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
Case edge F10:blend:F6:inner:F2:start@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F2:side:l1@F5.1|F4:side:a1@F5.1
Case edge F2:side:l1@F5.1|F4:side:a2@F5.1
Case edge F2:side:l1@F5.1|F4:side:l3@F5.1
Case edge F2:side:l1@F5.1|F4:side:l4@F5.1
Case edge F2:side:l1@F5.1|F4:side:l5@F5.1
Case edge F2:side:l1@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case edge F2:side:l1@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case edge F2:side:l1@F5.1|F8:blend:F2:side:l1@F5.1|F2:start@F5.1
Case edge F2:side:l2@F5.1|F4:side:l3@F5.1
Case edge F2:side:l2@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case edge F2:side:l2@F5.1|F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case edge F2:side:l2@F5.1|F8:blend:F2:side:l2@F5.1|F2:start@F5.1
Case edge F2:side:l3@F5.1|F2:side:l4@F5.1
Case edge F2:side:l3@F5.1|F4:side:l3@F5.1
Case edge F2:side:l3@F5.1|F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case edge F2:side:l3@F5.1|F8:blend:F2:side:l3@F5.1|F2:start@F5.1
Case edge F2:side:l4@F5.1|F2:side:l5@F5.1
Case edge F2:side:l4@F5.1|F2:start@F5.1
Case edge F2:side:l4@F5.1|F4:side:a1@F5.1
Case edge F2:side:l4@F5.1|F4:side:a2@F5.1
Case edge F2:side:l4@F5.1|F4:side:l3@F5.1
Case edge F2:side:l4@F5.1|F4:side:l4@F5.1
Case edge F2:side:l4@F5.1|F4:side:l5@F5.1
Case edge F2:side:l4@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F2:side:l4@F5.1|F6:inner:F2:side:l5@F5.1
Case edge F2:side:l4@F5.1|F6:inner:F2:start@F5.1
Case edge F2:side:l4@F5.1|F6:inner:F4:side:a1@F5.1
Case edge F2:side:l4@F5.1|F6:inner:F4:side:a2@F5.1
Case edge F2:side:l4@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F2:side:l4@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F2:side:l4@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F2:side:l4@F5.1|F8:blend:F2:side:l3@F5.1|F2:start@F5.1
Case edge F2:side:l4@F5.1|F8:blend:F2:side:l5@F5.1|F2:start@F5.1
Case edge F2:side:l4@F5.1|F9:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F2:side:l4@F5.1|F9:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F2:side:l5@F5.1|F4:side:l5@F5.1
Case edge F2:side:l5@F5.1|F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case edge F2:side:l5@F5.1|F8:blend:F2:side:l5@F5.1|F2:start@F5.1
Case edge F2:side:l6@F5.1|F4:side:l5@F5.1
Case edge F2:side:l6@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case edge F2:side:l6@F5.1|F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case edge F2:side:l6@F5.1|F8:blend:F2:side:l6@F5.1|F2:start@F5.1
Case edge F2:start@F5.1|F8:blend:F2:side:l1@F5.1|F2:start@F5.1
Case edge F2:start@F5.1|F8:blend:F2:side:l2@F5.1|F2:start@F5.1
Case edge F2:start@F5.1|F8:blend:F2:side:l3@F5.1|F2:start@F5.1
Case edge F2:start@F5.1|F8:blend:F2:side:l5@F5.1|F2:start@F5.1
Case edge F2:start@F5.1|F8:blend:F2:side:l6@F5.1|F2:start@F5.1
Case edge F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case edge F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case edge F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case edge F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case edge F4:side:a1@F5.1|F4:side:l3@F5.1
Case edge F4:side:a1@F5.1|F4:side:l4@F5.1
Case edge F4:side:a2@F5.1|F4:side:l4@F5.1
Case edge F4:side:a2@F5.1|F4:side:l5@F5.1
Case edge F4:side:l3@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case edge F4:side:l3@F5.1|F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case edge F4:side:l5@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case edge F4:side:l5@F5.1|F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case edge F6:inner:F2:side:l1@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F6:inner:F2:side:l1@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F6:inner:F2:side:l1@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1
Case edge F6:inner:F2:side:l1@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1
Case edge F6:inner:F2:side:l1@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F6:inner:F2:side:l1@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F6:inner:F2:side:l1@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F6:inner:F2:side:l2@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F6:inner:F2:side:l2@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F6:inner:F2:side:l2@F5.1|F9:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F6:inner:F2:side:l3@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F6:inner:F2:side:l3@F5.1|F9:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F6:inner:F2:side:l5@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F6:inner:F2:side:l5@F5.1|F9:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F6:inner:F2:side:l6@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F6:inner:F2:side:l6@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F6:inner:F2:side:l6@F5.1|F9:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F6:inner:F4:side:a1@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F6:inner:F4:side:a1@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F6:inner:F4:side:a1@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1
Case edge F6:inner:F4:side:a2@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F6:inner:F4:side:a2@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F6:inner:F4:side:a2@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1
Case edge F6:inner:F4:side:l3@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F6:inner:F4:side:l3@F5.1|F9:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F6:inner:F4:side:l3@F5.1|F9:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F6:inner:F4:side:l3@F5.1|F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F6:inner:F4:side:l3@F5.1|F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F6:inner:F4:side:l4@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F6:inner:F4:side:l5@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F6:inner:F4:side:l5@F5.1|F9:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F6:inner:F4:side:l5@F5.1|F9:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F6:inner:F4:side:l5@F5.1|F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F6:inner:F4:side:l5@F5.1|F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case edge F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case edge F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case edge F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case edge F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1|F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1|F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1|F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1|F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F8:blend:F2:side:l1@F5.1|F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case edge F8:blend:F2:side:l1@F5.1|F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case edge F8:blend:F2:side:l2@F5.1|F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l2@F5.1
Case edge F8:blend:F2:side:l2@F5.1|F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case edge F8:blend:F2:side:l3@F5.1|F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l2@F5.1|F2:side:l3@F5.1
Case edge F8:blend:F2:side:l5@F5.1|F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case edge F8:blend:F2:side:l6@F5.1|F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l1@F5.1|F2:side:l6@F5.1
Case edge F8:blend:F2:side:l6@F5.1|F2:start@F5.1|F8:blend:F2:start@F5.1|F7:blend:F2:side:l5@F5.1|F2:side:l6@F5.1
Case edge F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1
Case edge F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a1@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l4@F5.1
Case edge F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:a2@F5.1|F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1
Case edge F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1|F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F9:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l5@F5.1|F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F9:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1|F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
Case edge F9:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F4:side:l3@F5.1|F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F9:blend:F6:inner:F2:side:l3@F5.1|F6:inner:F4:side:l3@F5.1|F9:blend:F6:inner:F4:side:l3@F5.1|F7:blend:F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
Case edge F9:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F4:side:l5@F5.1|F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F9:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
Case edge F9:blend:F6:inner:F2:side:l6@F5.1|F6:inner:F4:side:l5@F5.1|F9:blend:F6:inner:F4:side:l5@F5.1|F7:blend:F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
ref CaseShell (6) face 0 `F2:side:l4` -> Battery face F2:side:l4
ref Fillet1 (7) edge 0 `F2:side:l5@F5.1|F2:side:l6@F5.1` -> Case edge F2:side:l5@F5.1|F2:side:l6@F5.1
ref Fillet1 (7) edge 1 `F2:side:l1@F5.1|F2:side:l6@F5.1` -> Case edge F2:side:l1@F5.1|F2:side:l6@F5.1
ref Fillet1 (7) edge 2 `F2:side:l1@F5.1|F2:side:l2@F5.1` -> Case edge F2:side:l1@F5.1|F2:side:l2@F5.1
ref Fillet1 (7) edge 3 `F2:side:l2@F5.1|F2:side:l3@F5.1` -> Case edge F2:side:l2@F5.1|F2:side:l3@F5.1
ref Fillet1 (7) edge 4 `F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1` -> Case edge F6:inner:F2:side:l5@F5.1|F6:inner:F2:side:l6@F5.1
ref Fillet1 (7) edge 5 `F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1` -> Case edge F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l6@F5.1
ref Fillet1 (7) edge 6 `F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1` -> Case edge F6:inner:F2:side:l1@F5.1|F6:inner:F2:side:l2@F5.1
ref Fillet1 (7) edge 7 `F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1` -> Case edge F6:inner:F2:side:l2@F5.1|F6:inner:F2:side:l3@F5.1
ref Fillet2 (8) edge 0 `F2:side:l2@F5.1|F2:start@F5.1` -> Case edge F2:side:l2@F5.1|F2:start@F5.1
ref Fillet2 (8) edge 1 `F2:side:l3@F5.1|F2:start@F5.1` -> Case edge F2:side:l3@F5.1|F2:start@F5.1
ref Fillet2 (8) edge 2 `F2:side:l5@F5.1|F2:start@F5.1` -> Case edge F2:side:l5@F5.1|F2:start@F5.1
ref Fillet2 (8) edge 3 `F2:side:l6@F5.1|F2:start@F5.1` -> Case edge F2:side:l6@F5.1|F2:start@F5.1
ref Fillet2 (8) edge 4 `F2:side:l1@F5.1|F2:start@F5.1` -> Case edge F2:side:l1@F5.1|F2:start@F5.1
ref Fillet3 (9) edge 0 `F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1` -> Case edge F6:inner:F2:side:l1@F5.1|F6:inner:F4:side:l3@F5.1
ref Fillet4 (10) edge 0 `F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l3@F5.1|F6:inner:F2:start@F5.1
ref Fillet4 (10) edge 1 `F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l2@F5.1|F6:inner:F2:start@F5.1
ref Fillet4 (10) edge 2 `F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l1@F5.1|F6:inner:F2:start@F5.1
ref Fillet4 (10) edge 3 `F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l6@F5.1|F6:inner:F2:start@F5.1
ref Fillet4 (10) edge 4 `F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1` -> Case edge F6:inner:F2:side:l5@F5.1|F6:inner:F2:start@F5.1
@@ -1,114 +0,0 @@
# fixtures/cubeish-chamfer-too-large: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
failed Chamfer1 (9)
body Body1: 30 faces, 72 edges
Body1 face F2:side:l1
Body1 face F2:side:l2
Body1 face F2:side:l3
Body1 face F2:side:l4
Body1 face F2:start
Body1 face F2:top
Body1 face F4:side:l5#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]
Body1 face F4:side:l5#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]
Body1 face F4:side:l5#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]
Body1 face F4:side:l5#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]
Body1 face F4:side:l6#[F2:start,F6:side:l6]
Body1 face F4:side:l6#[F2:top,F6:side:l8]
Body1 face F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]
Body1 face F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]
Body1 face F4:side:l7#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]
Body1 face F4:side:l7#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]
Body1 face F4:side:l7#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]
Body1 face F4:side:l7#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]
Body1 face F4:side:l8#[F2:start,F6:side:l6]
Body1 face F4:side:l8#[F2:top,F6:side:l8]
Body1 face F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]
Body1 face F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]
Body1 face F6:side:l6#[F2:side:l2,F4:side:l6]
Body1 face F6:side:l6#[F2:side:l4,F4:side:l8]
Body1 face F6:side:l8#[F2:side:l2,F4:side:l6]
Body1 face F6:side:l8#[F2:side:l4,F4:side:l8]
Body1 face F8:side:l6#[F2:side:l1,F4:side:l5]
Body1 face F8:side:l6#[F2:side:l3,F4:side:l7]
Body1 face F8:side:l8#[F2:side:l1,F4:side:l5]
Body1 face F8:side:l8#[F2:side:l3,F4:side:l7]
Body1 edge F2:side:l1|F2:side:l2
Body1 edge F2:side:l1|F2:side:l4
Body1 edge F2:side:l1|F2:start
Body1 edge F2:side:l1|F2:top
Body1 edge F2:side:l1|F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]
Body1 edge F2:side:l1|F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]
Body1 edge F2:side:l1|F8:side:l6#[F2:side:l1,F4:side:l5]
Body1 edge F2:side:l1|F8:side:l8#[F2:side:l1,F4:side:l5]
Body1 edge F2:side:l2|F2:side:l3
Body1 edge F2:side:l2|F2:start
Body1 edge F2:side:l2|F2:top
Body1 edge F2:side:l2|F4:side:l5#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]
Body1 edge F2:side:l2|F4:side:l7#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]
Body1 edge F2:side:l2|F6:side:l6#[F2:side:l2,F4:side:l6]
Body1 edge F2:side:l2|F6:side:l8#[F2:side:l2,F4:side:l6]
Body1 edge F2:side:l3|F2:side:l4
Body1 edge F2:side:l3|F2:start
Body1 edge F2:side:l3|F2:top
Body1 edge F2:side:l3|F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]
Body1 edge F2:side:l3|F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]
Body1 edge F2:side:l3|F8:side:l6#[F2:side:l3,F4:side:l7]
Body1 edge F2:side:l3|F8:side:l8#[F2:side:l3,F4:side:l7]
Body1 edge F2:side:l4|F2:start
Body1 edge F2:side:l4|F2:top
Body1 edge F2:side:l4|F4:side:l5#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]
Body1 edge F2:side:l4|F4:side:l7#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]
Body1 edge F2:side:l4|F6:side:l6#[F2:side:l4,F4:side:l8]
Body1 edge F2:side:l4|F6:side:l8#[F2:side:l4,F4:side:l8]
Body1 edge F2:start|F4:side:l5#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]
Body1 edge F2:start|F4:side:l6#[F2:start,F6:side:l6]
Body1 edge F2:start|F4:side:l7#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]
Body1 edge F2:start|F4:side:l8#[F2:start,F6:side:l6]
Body1 edge F2:top|F4:side:l5#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]
Body1 edge F2:top|F4:side:l6#[F2:top,F6:side:l8]
Body1 edge F2:top|F4:side:l7#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]
Body1 edge F2:top|F4:side:l8#[F2:top,F6:side:l8]
Body1 edge F4:side:l5#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]|F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]
Body1 edge F4:side:l5#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]|F6:side:l6#[F2:side:l2,F4:side:l6]
Body1 edge F4:side:l5#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]|F6:side:l8#[F2:side:l2,F4:side:l6]
Body1 edge F4:side:l5#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]|F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]
Body1 edge F4:side:l5#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]|F6:side:l6#[F2:side:l4,F4:side:l8]
Body1 edge F4:side:l5#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]|F6:side:l8#[F2:side:l4,F4:side:l8]
Body1 edge F4:side:l5#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]|F4:side:l6#[F2:start,F6:side:l6]
Body1 edge F4:side:l5#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]|F4:side:l8#[F2:start,F6:side:l6]
Body1 edge F4:side:l5#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]|F8:side:l6#[F2:side:l1,F4:side:l5]
Body1 edge F4:side:l5#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]|F4:side:l6#[F2:top,F6:side:l8]
Body1 edge F4:side:l5#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]|F4:side:l8#[F2:top,F6:side:l8]
Body1 edge F4:side:l5#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]|F8:side:l8#[F2:side:l1,F4:side:l5]
Body1 edge F4:side:l6#[F2:start,F6:side:l6]|F4:side:l7#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]
Body1 edge F4:side:l6#[F2:start,F6:side:l6]|F6:side:l6#[F2:side:l2,F4:side:l6]
Body1 edge F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]|F8:side:l6#[F2:side:l1,F4:side:l5]
Body1 edge F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]|F8:side:l8#[F2:side:l1,F4:side:l5]
Body1 edge F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]|F4:side:l7#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]
Body1 edge F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]|F8:side:l6#[F2:side:l3,F4:side:l7]
Body1 edge F4:side:l6#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]|F8:side:l8#[F2:side:l3,F4:side:l7]
Body1 edge F4:side:l6#[F2:top,F6:side:l8]|F4:side:l7#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]
Body1 edge F4:side:l6#[F2:top,F6:side:l8]|F6:side:l8#[F2:side:l2,F4:side:l6]
Body1 edge F4:side:l7#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]|F6:side:l6#[F2:side:l2,F4:side:l6]
Body1 edge F4:side:l7#[F2:side:l2,F4:side:l6,F6:side:l6,F6:side:l8]|F6:side:l8#[F2:side:l2,F4:side:l6]
Body1 edge F4:side:l7#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]|F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]
Body1 edge F4:side:l7#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]|F6:side:l6#[F2:side:l4,F4:side:l8]
Body1 edge F4:side:l7#[F2:side:l4,F4:side:l8,F6:side:l6,F6:side:l8]|F6:side:l8#[F2:side:l4,F4:side:l8]
Body1 edge F4:side:l7#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]|F4:side:l8#[F2:start,F6:side:l6]
Body1 edge F4:side:l7#[F2:start,F4:side:l6,F4:side:l8,F8:side:l6]|F8:side:l6#[F2:side:l3,F4:side:l7]
Body1 edge F4:side:l7#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]|F4:side:l8#[F2:top,F6:side:l8]
Body1 edge F4:side:l7#[F2:top,F4:side:l6,F4:side:l8,F8:side:l8]|F8:side:l8#[F2:side:l3,F4:side:l7]
Body1 edge F4:side:l8#[F2:start,F6:side:l6]|F6:side:l6#[F2:side:l4,F4:side:l8]
Body1 edge F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]|F8:side:l6#[F2:side:l1,F4:side:l5]
Body1 edge F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l1,F4:side:l5]|F8:side:l8#[F2:side:l1,F4:side:l5]
Body1 edge F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]|F8:side:l6#[F2:side:l3,F4:side:l7]
Body1 edge F4:side:l8#[F2:top,F6:side:l8]#[F2:side:l3,F4:side:l7]|F8:side:l8#[F2:side:l3,F4:side:l7]
Body1 edge F4:side:l8#[F2:top,F6:side:l8]|F6:side:l8#[F2:side:l4,F4:side:l8]
ref Sketch2 (3) plane `F2:cap:high:ed6121d9bed14d3fd103f347231990d103349f33b7874ad292d3c4d3539266c3` on Body1 (extrude_cap) -> healthy: Body1 faces F2:top
ref Extrude2 (4) face 0 `F2:start` -> Body1 face F2:start
ref Sketch3 (5) plane `F2:side:l2` on Body1 (extrude_side) -> healthy: Body1 faces F2:side:l2
ref Extrude3 (6) face 0 `F2:side:l4` -> Body1 face F2:side:l4
ref Sketch4 (7) plane `F2:side:l1` on Body1 (extrude_side) -> healthy: Body1 faces F2:side:l1
ref Extrude4 (8) face 0 `F2:side:l3` -> Body1 face F2:side:l3
ref Chamfer1 (9) edge 0 `F2:side:l2|F2:top~2` -> Body1 edge F2:side:l2|F2:top
ref Chamfer1 (9) edge 1 `F2:side:l2|F2:top~1` -> Body1 edge F2:side:l2|F2:top
ref Chamfer1 (9) edge 2 `F2:side:l2|F2:top~3` -> Body1 edge F2:side:l2|F2:top
@@ -1,49 +0,0 @@
# hole_matrix/mirror_bottom_blind: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body B: 6 faces, 12 edges
B face F2:side:l1
B face F2:side:l2
B face F2:side:l3
B face F2:side:l4
B face F2:start
B face F2:top
B edge F2:side:l1|F2:side:l2
B edge F2:side:l1|F2:side:l4
B edge F2:side:l1|F2:start
B edge F2:side:l1|F2:top
B edge F2:side:l2|F2:side:l3
B edge F2:side:l2|F2:start
B edge F2:side:l2|F2:top
B edge F2:side:l3|F2:side:l4
B edge F2:side:l3|F2:start
B edge F2:side:l3|F2:top
B edge F2:side:l4|F2:start
B edge F2:side:l4|F2:top
body B (2): 9 faces, 18 edges
B (2) face F2:side:l1@F3.1
B (2) face F2:side:l2@F3.1
B (2) face F2:side:l3@F3.1
B (2) face F2:side:l4@F3.1
B (2) face F2:start@F3.1
B (2) face F2:top@F3.1
B (2) face F4:bore:base
B (2) face F4:bore:side:0
B (2) face F4:bore:side:1
B (2) edge F2:side:l1@F3.1|F2:side:l2@F3.1
B (2) edge F2:side:l1@F3.1|F2:side:l4@F3.1
B (2) edge F2:side:l1@F3.1|F2:start@F3.1
B (2) edge F2:side:l1@F3.1|F2:top@F3.1
B (2) edge F2:side:l2@F3.1|F2:side:l3@F3.1
B (2) edge F2:side:l2@F3.1|F2:start@F3.1
B (2) edge F2:side:l2@F3.1|F2:top@F3.1
B (2) edge F2:side:l3@F3.1|F2:side:l4@F3.1
B (2) edge F2:side:l3@F3.1|F2:start@F3.1
B (2) edge F2:side:l3@F3.1|F2:top@F3.1
B (2) edge F2:side:l4@F3.1|F2:start@F3.1
B (2) edge F2:side:l4@F3.1|F2:top@F3.1
B (2) edge F2:top@F3.1|F4:bore:side:0
B (2) edge F2:top@F3.1|F4:bore:side:1
B (2) edge F4:bore:base|F4:bore:side:0
B (2) edge F4:bore:base|F4:bore:side:1
B (2) edge F4:bore:side:0|F4:bore:side:1~1 [geometric]
B (2) edge F4:bore:side:0|F4:bore:side:1~2 [geometric]
ref Hole1 (4) face 0 `F2:top@F3.1` -> B (2) face F2:top@F3.1
@@ -1,49 +0,0 @@
# hole_matrix/neighbour_top_blind: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body B: 9 faces, 18 edges
B face F2:side:l1
B face F2:side:l2
B face F2:side:l3
B face F2:side:l4
B face F2:start
B face F2:top
B face F5:bore:base
B face F5:bore:side:0
B face F5:bore:side:1
B edge F2:side:l1|F2:side:l2
B edge F2:side:l1|F2:side:l4
B edge F2:side:l1|F2:start
B edge F2:side:l1|F2:top
B edge F2:side:l2|F2:side:l3
B edge F2:side:l2|F2:start
B edge F2:side:l2|F2:top
B edge F2:side:l3|F2:side:l4
B edge F2:side:l3|F2:start
B edge F2:side:l3|F2:top
B edge F2:side:l4|F2:start
B edge F2:side:l4|F2:top
B edge F2:top|F5:bore:side:0
B edge F2:top|F5:bore:side:1
B edge F5:bore:base|F5:bore:side:0
B edge F5:bore:base|F5:bore:side:1
B edge F5:bore:side:0|F5:bore:side:1~1 [geometric]
B edge F5:bore:side:0|F5:bore:side:1~2 [geometric]
body N: 6 faces, 12 edges
N face F4:side:l1
N face F4:side:l2
N face F4:side:l3
N face F4:side:l4
N face F4:start
N face F4:top
N edge F4:side:l1|F4:side:l2
N edge F4:side:l1|F4:side:l4
N edge F4:side:l1|F4:start
N edge F4:side:l1|F4:top
N edge F4:side:l2|F4:side:l3
N edge F4:side:l2|F4:start
N edge F4:side:l2|F4:top
N edge F4:side:l3|F4:side:l4
N edge F4:side:l3|F4:start
N edge F4:side:l3|F4:top
N edge F4:side:l4|F4:start
N edge F4:side:l4|F4:top
ref Hole1 (5) face 0 `F2:top` -> B face F2:top
@@ -1,38 +0,0 @@
# hole_matrix/points_top_blind: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body B: 12 faces, 24 edges
B face F2:side:l1
B face F2:side:l2
B face F2:side:l3
B face F2:side:l4
B face F2:start
B face F2:top
B face F4:bore:base#1
B face F4:bore:base#2
B face F4:bore:side:0#1
B face F4:bore:side:0#2
B face F4:bore:side:1#1
B face F4:bore:side:1#2
B edge F2:side:l1|F2:side:l2
B edge F2:side:l1|F2:side:l4
B edge F2:side:l1|F2:start
B edge F2:side:l1|F2:top
B edge F2:side:l2|F2:side:l3
B edge F2:side:l2|F2:start
B edge F2:side:l2|F2:top
B edge F2:side:l3|F2:side:l4
B edge F2:side:l3|F2:start
B edge F2:side:l3|F2:top
B edge F2:side:l4|F2:start
B edge F2:side:l4|F2:top
B edge F2:top|F4:bore:side:0#1
B edge F2:top|F4:bore:side:0#2
B edge F2:top|F4:bore:side:1#1
B edge F2:top|F4:bore:side:1#2
B edge F4:bore:base#1|F4:bore:side:0#1
B edge F4:bore:base#1|F4:bore:side:1#1
B edge F4:bore:base#2|F4:bore:side:0#2
B edge F4:bore:base#2|F4:bore:side:1#2
B edge F4:bore:side:0#1|F4:bore:side:1#1~1 [geometric]
B edge F4:bore:side:0#1|F4:bore:side:1#1~2 [geometric]
B edge F4:bore:side:0#2|F4:bore:side:1#2~1 [geometric]
B edge F4:bore:side:0#2|F4:bore:side:1#2~2 [geometric]
@@ -1,30 +0,0 @@
# hole_matrix/thin_plate_bottom_blind: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body B: 9 faces, 18 edges
B face F2:side:l1
B face F2:side:l2
B face F2:side:l3
B face F2:side:l4
B face F2:start
B face F2:top
B face F3:bore:base
B face F3:bore:side:0
B face F3:bore:side:1
B edge F2:side:l1|F2:side:l2
B edge F2:side:l1|F2:side:l4
B edge F2:side:l1|F2:start
B edge F2:side:l1|F2:top
B edge F2:side:l2|F2:side:l3
B edge F2:side:l2|F2:start
B edge F2:side:l2|F2:top
B edge F2:side:l3|F2:side:l4
B edge F2:side:l3|F2:start
B edge F2:side:l3|F2:top
B edge F2:side:l4|F2:start
B edge F2:side:l4|F2:top
B edge F2:start|F3:bore:side:0
B edge F2:start|F3:bore:side:1
B edge F3:bore:base|F3:bore:side:0
B edge F3:bore:base|F3:bore:side:1
B edge F3:bore:side:0|F3:bore:side:1~1 [geometric]
B edge F3:bore:side:0|F3:bore:side:1~2 [geometric]
ref Hole1 (3) face 0 `F2:start` -> B face F2:start
-30
View File
@@ -1,30 +0,0 @@
# hole_matrix/top_blind: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body B: 9 faces, 18 edges
B face F2:side:l1
B face F2:side:l2
B face F2:side:l3
B face F2:side:l4
B face F2:start
B face F2:top
B face F3:bore:base
B face F3:bore:side:0
B face F3:bore:side:1
B edge F2:side:l1|F2:side:l2
B edge F2:side:l1|F2:side:l4
B edge F2:side:l1|F2:start
B edge F2:side:l1|F2:top
B edge F2:side:l2|F2:side:l3
B edge F2:side:l2|F2:start
B edge F2:side:l2|F2:top
B edge F2:side:l3|F2:side:l4
B edge F2:side:l3|F2:start
B edge F2:side:l3|F2:top
B edge F2:side:l4|F2:start
B edge F2:side:l4|F2:top
B edge F2:top|F3:bore:side:0
B edge F2:top|F3:bore:side:1
B edge F3:bore:base|F3:bore:side:0
B edge F3:bore:base|F3:bore:side:1
B edge F3:bore:side:0|F3:bore:side:1~1 [geometric]
B edge F3:bore:side:0|F3:bore:side:1~2 [geometric]
ref Hole1 (3) face 0 `F2:top` -> B face F2:top
-20
View File
@@ -1,20 +0,0 @@
# oracle/01-box: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 6 faces, 12 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box edge F2:side:l1|F2:side:l2
Box edge F2:side:l1|F2:side:l4
Box edge F2:side:l1|F2:start
Box edge F2:side:l1|F2:top
Box edge F2:side:l2|F2:side:l3
Box edge F2:side:l2|F2:start
Box edge F2:side:l2|F2:top
Box edge F2:side:l3|F2:side:l4
Box edge F2:side:l3|F2:start
Box edge F2:side:l3|F2:top
Box edge F2:side:l4|F2:start
Box edge F2:side:l4|F2:top
-12
View File
@@ -1,12 +0,0 @@
# oracle/02-cylinder: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Cylinder: 4 faces, 6 edges
Cylinder face F2:side:c1#1
Cylinder face F2:side:c1#2
Cylinder face F2:start
Cylinder face F2:top
Cylinder edge F2:side:c1#1|F2:side:c1#2~1 [geometric]
Cylinder edge F2:side:c1#1|F2:side:c1#2~2 [geometric]
Cylinder edge F2:side:c1#1|F2:start
Cylinder edge F2:side:c1#1|F2:top
Cylinder edge F2:side:c1#2|F2:start
Cylinder edge F2:side:c1#2|F2:top
@@ -1,28 +0,0 @@
# oracle/03-box-through-hole: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 8 faces, 18 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box face F4:side:c1#1
Box face F4:side:c1#2
Box edge F2:side:l1|F2:side:l2
Box edge F2:side:l1|F2:side:l4
Box edge F2:side:l1|F2:start
Box edge F2:side:l1|F2:top
Box edge F2:side:l2|F2:side:l3
Box edge F2:side:l2|F2:start
Box edge F2:side:l2|F2:top
Box edge F2:side:l3|F2:side:l4
Box edge F2:side:l3|F2:start
Box edge F2:side:l3|F2:top
Box edge F2:side:l4|F2:start
Box edge F2:side:l4|F2:top
Box edge F2:start|F4:side:c1#1
Box edge F2:start|F4:side:c1#2
Box edge F2:top|F4:side:c1#1
Box edge F2:top|F4:side:c1#2
Box edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Box edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
-34
View File
@@ -1,34 +0,0 @@
# oracle/04-revolve-vase: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Vase: 11 faces, 21 edges
Vase face F2:side:a1#1
Vase face F2:side:a1#2
Vase face F2:side:a1#3
Vase face F2:side:l1
Vase face F2:side:l2#1
Vase face F2:side:l2#2
Vase face F2:side:l2#3
Vase face F2:side:l3#1
Vase face F2:side:l3#2
Vase face F2:side:l3#3
Vase face F2:side:l4
Vase edge F2:side:a1#1|F2:side:a1#2
Vase edge F2:side:a1#1|F2:side:a1#3
Vase edge F2:side:a1#1|F2:side:l2#1
Vase edge F2:side:a1#1|F2:side:l3#1
Vase edge F2:side:a1#2|F2:side:a1#3
Vase edge F2:side:a1#2|F2:side:l2#2
Vase edge F2:side:a1#2|F2:side:l3#2
Vase edge F2:side:a1#3|F2:side:l2#3
Vase edge F2:side:a1#3|F2:side:l3#3
Vase edge F2:side:l1|F2:side:l2#1
Vase edge F2:side:l1|F2:side:l2#2
Vase edge F2:side:l1|F2:side:l2#3
Vase edge F2:side:l2#1|F2:side:l2#2
Vase edge F2:side:l2#1|F2:side:l2#3
Vase edge F2:side:l2#2|F2:side:l2#3
Vase edge F2:side:l3#1|F2:side:l3#2
Vase edge F2:side:l3#1|F2:side:l3#3
Vase edge F2:side:l3#1|F2:side:l4
Vase edge F2:side:l3#2|F2:side:l3#3
Vase edge F2:side:l3#2|F2:side:l4
Vase edge F2:side:l3#3|F2:side:l4
-20
View File
@@ -1,20 +0,0 @@
# oracle/05-taper-extrude: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Frustum: 6 faces, 12 edges
Frustum face F2:side:l1
Frustum face F2:side:l2
Frustum face F2:side:l3
Frustum face F2:side:l4
Frustum face F2:start
Frustum face F2:top
Frustum edge F2:side:l1|F2:side:l2
Frustum edge F2:side:l1|F2:side:l4
Frustum edge F2:side:l1|F2:start
Frustum edge F2:side:l1|F2:top
Frustum edge F2:side:l2|F2:side:l3
Frustum edge F2:side:l2|F2:start
Frustum edge F2:side:l2|F2:top
Frustum edge F2:side:l3|F2:side:l4
Frustum edge F2:side:l3|F2:start
Frustum edge F2:side:l3|F2:top
Frustum edge F2:side:l4|F2:start
Frustum edge F2:side:l4|F2:top
@@ -1,20 +0,0 @@
# oracle/06-symmetric-extrude: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Block: 6 faces, 12 edges
Block face F2:bottom
Block face F2:side:l1
Block face F2:side:l2
Block face F2:side:l3
Block face F2:side:l4
Block face F2:top
Block edge F2:bottom|F2:side:l1
Block edge F2:bottom|F2:side:l2
Block edge F2:bottom|F2:side:l3
Block edge F2:bottom|F2:side:l4
Block edge F2:side:l1|F2:side:l2
Block edge F2:side:l1|F2:side:l4
Block edge F2:side:l1|F2:top
Block edge F2:side:l2|F2:side:l3
Block edge F2:side:l2|F2:top
Block edge F2:side:l3|F2:side:l4
Block edge F2:side:l3|F2:top
Block edge F2:side:l4|F2:top
@@ -1,88 +0,0 @@
# oracle/07-fillet-all-edges: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 26 faces, 48 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box face F3:blend:F2:side:l1|F2:side:l2#[F2:side:l1,F2:side:l2,F3:blend:F2:side:l2|F2:start]
Box face F3:blend:F2:side:l1|F2:side:l2#[F3:blend:F2:side:l1|F2:top,F3:blend:F2:side:l2|F2:top]
Box face F3:blend:F2:side:l1|F2:side:l4
Box face F3:blend:F2:side:l1|F2:start
Box face F3:blend:F2:side:l1|F2:top#[F2:side:l1,F2:top,F3:blend:F2:side:l1|F2:side:l2]
Box face F3:blend:F2:side:l1|F2:top#[F3:blend:F2:side:l1|F2:side:l4,F3:blend:F2:side:l4|F2:top]
Box face F3:blend:F2:side:l2|F2:side:l3#[F2:side:l2,F2:side:l3,F3:blend:F2:side:l3|F2:start]
Box face F3:blend:F2:side:l2|F2:side:l3#[F3:blend:F2:side:l2|F2:top,F3:blend:F2:side:l3|F2:top]
Box face F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start,F3:blend:F2:side:l3|F2:start]
Box face F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:start]
Box face F3:blend:F2:side:l2|F2:top
Box face F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4,F3:blend:F2:side:l4|F2:start]
Box face F3:blend:F2:side:l3|F2:side:l4#[F3:blend:F2:side:l3|F2:top,F3:blend:F2:side:l4|F2:top]
Box face F3:blend:F2:side:l3|F2:start#[F2:side:l3,F2:start,F3:blend:F2:side:l4|F2:start]
Box face F3:blend:F2:side:l3|F2:start#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l2|F2:start]
Box face F3:blend:F2:side:l3|F2:top
Box face F3:blend:F2:side:l4|F2:start#[F2:side:l4,F2:start]
Box face F3:blend:F2:side:l4|F2:start#[F3:blend:F2:side:l1|F2:side:l4,F3:blend:F2:side:l1|F2:start]
Box face F3:blend:F2:side:l4|F2:start#[F3:blend:F2:side:l3|F2:side:l4,F3:blend:F2:side:l3|F2:start]
Box face F3:blend:F2:side:l4|F2:top
Box edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#[F2:side:l1,F2:side:l2,F3:blend:F2:side:l2|F2:start]
Box edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:side:l1|F3:blend:F2:side:l1|F2:start
Box edge F2:side:l1|F3:blend:F2:side:l1|F2:top#[F2:side:l1,F2:top,F3:blend:F2:side:l1|F2:side:l2]
Box edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2#[F2:side:l1,F2:side:l2,F3:blend:F2:side:l2|F2:start]
Box edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3#[F2:side:l2,F2:side:l3,F3:blend:F2:side:l3|F2:start]
Box edge F2:side:l2|F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start,F3:blend:F2:side:l3|F2:start]
Box edge F2:side:l2|F3:blend:F2:side:l2|F2:top
Box edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3#[F2:side:l2,F2:side:l3,F3:blend:F2:side:l3|F2:start]
Box edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4,F3:blend:F2:side:l4|F2:start]
Box edge F2:side:l3|F3:blend:F2:side:l3|F2:start#[F2:side:l3,F2:start,F3:blend:F2:side:l4|F2:start]
Box edge F2:side:l3|F3:blend:F2:side:l3|F2:top
Box edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4,F3:blend:F2:side:l4|F2:start]
Box edge F2:side:l4|F3:blend:F2:side:l4|F2:start#[F2:side:l4,F2:start]
Box edge F2:side:l4|F3:blend:F2:side:l4|F2:top
Box edge F2:start|F3:blend:F2:side:l1|F2:start
Box edge F2:start|F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start,F3:blend:F2:side:l3|F2:start]
Box edge F2:start|F3:blend:F2:side:l3|F2:start#[F2:side:l3,F2:start,F3:blend:F2:side:l4|F2:start]
Box edge F2:start|F3:blend:F2:side:l4|F2:start#[F2:side:l4,F2:start]
Box edge F2:top|F3:blend:F2:side:l1|F2:top#[F2:side:l1,F2:top,F3:blend:F2:side:l1|F2:side:l2]
Box edge F2:top|F3:blend:F2:side:l2|F2:top
Box edge F2:top|F3:blend:F2:side:l3|F2:top
Box edge F2:top|F3:blend:F2:side:l4|F2:top
Box edge F3:blend:F2:side:l1|F2:side:l2#[F2:side:l1,F2:side:l2,F3:blend:F2:side:l2|F2:start]|F3:blend:F2:side:l1|F2:side:l2#[F3:blend:F2:side:l1|F2:top,F3:blend:F2:side:l2|F2:top]
Box edge F3:blend:F2:side:l1|F2:side:l2#[F2:side:l1,F2:side:l2,F3:blend:F2:side:l2|F2:start]|F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:start]
Box edge F3:blend:F2:side:l1|F2:side:l2#[F3:blend:F2:side:l1|F2:top,F3:blend:F2:side:l2|F2:top]|F3:blend:F2:side:l1|F2:top#[F2:side:l1,F2:top,F3:blend:F2:side:l1|F2:side:l2]
Box edge F3:blend:F2:side:l1|F2:side:l2#[F3:blend:F2:side:l1|F2:top,F3:blend:F2:side:l2|F2:top]|F3:blend:F2:side:l2|F2:top
Box edge F3:blend:F2:side:l1|F2:side:l4|F3:blend:F2:side:l1|F2:top#[F3:blend:F2:side:l1|F2:side:l4,F3:blend:F2:side:l4|F2:top]
Box edge F3:blend:F2:side:l1|F2:side:l4|F3:blend:F2:side:l4|F2:start#[F3:blend:F2:side:l1|F2:side:l4,F3:blend:F2:side:l1|F2:start]
Box edge F3:blend:F2:side:l1|F2:start|F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:start]
Box edge F3:blend:F2:side:l1|F2:start|F3:blend:F2:side:l4|F2:start#[F3:blend:F2:side:l1|F2:side:l4,F3:blend:F2:side:l1|F2:start]
Box edge F3:blend:F2:side:l1|F2:top#[F2:side:l1,F2:top,F3:blend:F2:side:l1|F2:side:l2]|F3:blend:F2:side:l1|F2:top#[F3:blend:F2:side:l1|F2:side:l4,F3:blend:F2:side:l4|F2:top]
Box edge F3:blend:F2:side:l1|F2:top#[F3:blend:F2:side:l1|F2:side:l4,F3:blend:F2:side:l4|F2:top]|F3:blend:F2:side:l4|F2:top
Box edge F3:blend:F2:side:l2|F2:side:l3#[F2:side:l2,F2:side:l3,F3:blend:F2:side:l3|F2:start]|F3:blend:F2:side:l2|F2:side:l3#[F3:blend:F2:side:l2|F2:top,F3:blend:F2:side:l3|F2:top]
Box edge F3:blend:F2:side:l2|F2:side:l3#[F2:side:l2,F2:side:l3,F3:blend:F2:side:l3|F2:start]|F3:blend:F2:side:l3|F2:start#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l2|F2:start]
Box edge F3:blend:F2:side:l2|F2:side:l3#[F3:blend:F2:side:l2|F2:top,F3:blend:F2:side:l3|F2:top]|F3:blend:F2:side:l2|F2:top
Box edge F3:blend:F2:side:l2|F2:side:l3#[F3:blend:F2:side:l2|F2:top,F3:blend:F2:side:l3|F2:top]|F3:blend:F2:side:l3|F2:top
Box edge F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start,F3:blend:F2:side:l3|F2:start]|F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:start]
Box edge F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start,F3:blend:F2:side:l3|F2:start]|F3:blend:F2:side:l3|F2:start#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l2|F2:start]
Box edge F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4,F3:blend:F2:side:l4|F2:start]|F3:blend:F2:side:l3|F2:side:l4#[F3:blend:F2:side:l3|F2:top,F3:blend:F2:side:l4|F2:top]
Box edge F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4,F3:blend:F2:side:l4|F2:start]|F3:blend:F2:side:l4|F2:start#[F3:blend:F2:side:l3|F2:side:l4,F3:blend:F2:side:l3|F2:start]
Box edge F3:blend:F2:side:l3|F2:side:l4#[F3:blend:F2:side:l3|F2:top,F3:blend:F2:side:l4|F2:top]|F3:blend:F2:side:l3|F2:top
Box edge F3:blend:F2:side:l3|F2:side:l4#[F3:blend:F2:side:l3|F2:top,F3:blend:F2:side:l4|F2:top]|F3:blend:F2:side:l4|F2:top
Box edge F3:blend:F2:side:l3|F2:start#[F2:side:l3,F2:start,F3:blend:F2:side:l4|F2:start]|F3:blend:F2:side:l3|F2:start#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l2|F2:start]
Box edge F3:blend:F2:side:l3|F2:start#[F2:side:l3,F2:start,F3:blend:F2:side:l4|F2:start]|F3:blend:F2:side:l4|F2:start#[F3:blend:F2:side:l3|F2:side:l4,F3:blend:F2:side:l3|F2:start]
Box edge F3:blend:F2:side:l4|F2:start#[F2:side:l4,F2:start]|F3:blend:F2:side:l4|F2:start#[F3:blend:F2:side:l1|F2:side:l4,F3:blend:F2:side:l1|F2:start]
Box edge F3:blend:F2:side:l4|F2:start#[F2:side:l4,F2:start]|F3:blend:F2:side:l4|F2:start#[F3:blend:F2:side:l3|F2:side:l4,F3:blend:F2:side:l3|F2:start]
ref Fillet1 (3) edge 0 `F2:side:l3|F2:start` -> Box edge F2:side:l3|F2:start
ref Fillet1 (3) edge 1 `F2:side:l3|F2:side:l4` -> Box edge F2:side:l3|F2:side:l4
ref Fillet1 (3) edge 2 `F2:side:l3|F2:top` -> Box edge F2:side:l3|F2:top
ref Fillet1 (3) edge 3 `F2:side:l2|F2:side:l3` -> Box edge F2:side:l2|F2:side:l3
ref Fillet1 (3) edge 4 `F2:side:l2|F2:start` -> Box edge F2:side:l2|F2:start
ref Fillet1 (3) edge 5 `F2:side:l2|F2:top` -> Box edge F2:side:l2|F2:top
ref Fillet1 (3) edge 6 `F2:side:l1|F2:side:l2` -> Box edge F2:side:l1|F2:side:l2
ref Fillet1 (3) edge 7 `F2:side:l1|F2:start` -> Box edge F2:side:l1|F2:start
ref Fillet1 (3) edge 8 `F2:side:l1|F2:top` -> Box edge F2:side:l1|F2:top
ref Fillet1 (3) edge 9 `F2:side:l1|F2:side:l4` -> Box edge F2:side:l1|F2:side:l4
ref Fillet1 (3) edge 10 `F2:side:l4|F2:start` -> Box edge F2:side:l4|F2:start
ref Fillet1 (3) edge 11 `F2:side:l4|F2:top` -> Box edge F2:side:l4|F2:top
-36
View File
@@ -1,36 +0,0 @@
# oracle/08-chamfer: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 10 faces, 20 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box face F3:blend:F2:side:l1|F2:top
Box face F3:blend:F2:side:l2|F2:top
Box face F3:blend:F2:side:l3|F2:top
Box face F3:blend:F2:side:l4|F2:top
Box edge F2:side:l1|F2:side:l2
Box edge F2:side:l1|F2:side:l4
Box edge F2:side:l1|F2:start
Box edge F2:side:l1|F3:blend:F2:side:l1|F2:top
Box edge F2:side:l2|F2:side:l3
Box edge F2:side:l2|F2:start
Box edge F2:side:l2|F3:blend:F2:side:l2|F2:top
Box edge F2:side:l3|F2:side:l4
Box edge F2:side:l3|F2:start
Box edge F2:side:l3|F3:blend:F2:side:l3|F2:top
Box edge F2:side:l4|F2:start
Box edge F2:side:l4|F3:blend:F2:side:l4|F2:top
Box edge F2:top|F3:blend:F2:side:l1|F2:top
Box edge F2:top|F3:blend:F2:side:l2|F2:top
Box edge F2:top|F3:blend:F2:side:l3|F2:top
Box edge F2:top|F3:blend:F2:side:l4|F2:top
Box edge F3:blend:F2:side:l1|F2:top|F3:blend:F2:side:l2|F2:top
Box edge F3:blend:F2:side:l1|F2:top|F3:blend:F2:side:l4|F2:top
Box edge F3:blend:F2:side:l2|F2:top|F3:blend:F2:side:l3|F2:top
Box edge F3:blend:F2:side:l3|F2:top|F3:blend:F2:side:l4|F2:top
ref Chamfer1 (3) edge 0 `F2:side:l4|F2:top` -> Box edge F2:side:l4|F2:top
ref Chamfer1 (3) edge 1 `F2:side:l1|F2:top` -> Box edge F2:side:l1|F2:top
ref Chamfer1 (3) edge 2 `F2:side:l2|F2:top` -> Box edge F2:side:l2|F2:top
ref Chamfer1 (3) edge 3 `F2:side:l3|F2:top` -> Box edge F2:side:l3|F2:top
-38
View File
@@ -1,38 +0,0 @@
# oracle/09-shell: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 11 faces, 24 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box face F3:inner:F2:side:l1
Box face F3:inner:F2:side:l2
Box face F3:inner:F2:side:l3
Box face F3:inner:F2:side:l4
Box face F3:inner:F2:start
Box edge F2:side:l1|F2:side:l2
Box edge F2:side:l1|F2:side:l4
Box edge F2:side:l1|F2:start
Box edge F2:side:l1|F2:top
Box edge F2:side:l2|F2:side:l3
Box edge F2:side:l2|F2:start
Box edge F2:side:l2|F2:top
Box edge F2:side:l3|F2:side:l4
Box edge F2:side:l3|F2:start
Box edge F2:side:l3|F2:top
Box edge F2:side:l4|F2:start
Box edge F2:side:l4|F2:top
Box edge F2:top|F3:inner:F2:side:l1
Box edge F2:top|F3:inner:F2:side:l2
Box edge F2:top|F3:inner:F2:side:l3
Box edge F2:top|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box edge F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l1|F3:inner:F2:start
Box edge F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box edge F3:inner:F2:side:l2|F3:inner:F2:start
Box edge F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l3|F3:inner:F2:start
Box edge F3:inner:F2:side:l4|F3:inner:F2:start
ref Shell1 (3) face 0 `F2:top` -> Box face F2:top
@@ -1,116 +0,0 @@
# oracle/10-rect-pattern-holes: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Plate: 30 faces, 84 edges
Plate face F2:side:l1
Plate face F2:side:l2
Plate face F2:side:l3
Plate face F2:side:l4
Plate face F2:start
Plate face F2:top
Plate face F4:side:c1#1
Plate face F4:side:c1#2
Plate face F4:side:c1@F5.1#1
Plate face F4:side:c1@F5.1#2
Plate face F4:side:c1@F5.10#1
Plate face F4:side:c1@F5.10#2
Plate face F4:side:c1@F5.11#1
Plate face F4:side:c1@F5.11#2
Plate face F4:side:c1@F5.2#1
Plate face F4:side:c1@F5.2#2
Plate face F4:side:c1@F5.3#1
Plate face F4:side:c1@F5.3#2
Plate face F4:side:c1@F5.4#1
Plate face F4:side:c1@F5.4#2
Plate face F4:side:c1@F5.5#1
Plate face F4:side:c1@F5.5#2
Plate face F4:side:c1@F5.6#1
Plate face F4:side:c1@F5.6#2
Plate face F4:side:c1@F5.7#1
Plate face F4:side:c1@F5.7#2
Plate face F4:side:c1@F5.8#1
Plate face F4:side:c1@F5.8#2
Plate face F4:side:c1@F5.9#1
Plate face F4:side:c1@F5.9#2
Plate edge F2:side:l1|F2:side:l2
Plate edge F2:side:l1|F2:side:l4
Plate edge F2:side:l1|F2:start
Plate edge F2:side:l1|F2:top
Plate edge F2:side:l2|F2:side:l3
Plate edge F2:side:l2|F2:start
Plate edge F2:side:l2|F2:top
Plate edge F2:side:l3|F2:side:l4
Plate edge F2:side:l3|F2:start
Plate edge F2:side:l3|F2:top
Plate edge F2:side:l4|F2:start
Plate edge F2:side:l4|F2:top
Plate edge F2:start|F4:side:c1#1
Plate edge F2:start|F4:side:c1#2
Plate edge F2:start|F4:side:c1@F5.1#1
Plate edge F2:start|F4:side:c1@F5.1#2
Plate edge F2:start|F4:side:c1@F5.10#1
Plate edge F2:start|F4:side:c1@F5.10#2
Plate edge F2:start|F4:side:c1@F5.11#1
Plate edge F2:start|F4:side:c1@F5.11#2
Plate edge F2:start|F4:side:c1@F5.2#1
Plate edge F2:start|F4:side:c1@F5.2#2
Plate edge F2:start|F4:side:c1@F5.3#1
Plate edge F2:start|F4:side:c1@F5.3#2
Plate edge F2:start|F4:side:c1@F5.4#1
Plate edge F2:start|F4:side:c1@F5.4#2
Plate edge F2:start|F4:side:c1@F5.5#1
Plate edge F2:start|F4:side:c1@F5.5#2
Plate edge F2:start|F4:side:c1@F5.6#1
Plate edge F2:start|F4:side:c1@F5.6#2
Plate edge F2:start|F4:side:c1@F5.7#1
Plate edge F2:start|F4:side:c1@F5.7#2
Plate edge F2:start|F4:side:c1@F5.8#1
Plate edge F2:start|F4:side:c1@F5.8#2
Plate edge F2:start|F4:side:c1@F5.9#1
Plate edge F2:start|F4:side:c1@F5.9#2
Plate edge F2:top|F4:side:c1#1
Plate edge F2:top|F4:side:c1#2
Plate edge F2:top|F4:side:c1@F5.1#1
Plate edge F2:top|F4:side:c1@F5.1#2
Plate edge F2:top|F4:side:c1@F5.10#1
Plate edge F2:top|F4:side:c1@F5.10#2
Plate edge F2:top|F4:side:c1@F5.11#1
Plate edge F2:top|F4:side:c1@F5.11#2
Plate edge F2:top|F4:side:c1@F5.2#1
Plate edge F2:top|F4:side:c1@F5.2#2
Plate edge F2:top|F4:side:c1@F5.3#1
Plate edge F2:top|F4:side:c1@F5.3#2
Plate edge F2:top|F4:side:c1@F5.4#1
Plate edge F2:top|F4:side:c1@F5.4#2
Plate edge F2:top|F4:side:c1@F5.5#1
Plate edge F2:top|F4:side:c1@F5.5#2
Plate edge F2:top|F4:side:c1@F5.6#1
Plate edge F2:top|F4:side:c1@F5.6#2
Plate edge F2:top|F4:side:c1@F5.7#1
Plate edge F2:top|F4:side:c1@F5.7#2
Plate edge F2:top|F4:side:c1@F5.8#1
Plate edge F2:top|F4:side:c1@F5.8#2
Plate edge F2:top|F4:side:c1@F5.9#1
Plate edge F2:top|F4:side:c1@F5.9#2
Plate edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Plate edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Plate edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~1 [geometric]
Plate edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~2 [geometric]
Plate edge F4:side:c1@F5.10#1|F4:side:c1@F5.10#2~1 [geometric]
Plate edge F4:side:c1@F5.10#1|F4:side:c1@F5.10#2~2 [geometric]
Plate edge F4:side:c1@F5.11#1|F4:side:c1@F5.11#2~1 [geometric]
Plate edge F4:side:c1@F5.11#1|F4:side:c1@F5.11#2~2 [geometric]
Plate edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#2~1 [geometric]
Plate edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#2~2 [geometric]
Plate edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~1 [geometric]
Plate edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~2 [geometric]
Plate edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~1 [geometric]
Plate edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~2 [geometric]
Plate edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~1 [geometric]
Plate edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~2 [geometric]
Plate edge F4:side:c1@F5.6#1|F4:side:c1@F5.6#2~1 [geometric]
Plate edge F4:side:c1@F5.6#1|F4:side:c1@F5.6#2~2 [geometric]
Plate edge F4:side:c1@F5.7#1|F4:side:c1@F5.7#2~1 [geometric]
Plate edge F4:side:c1@F5.7#1|F4:side:c1@F5.7#2~2 [geometric]
Plate edge F4:side:c1@F5.8#1|F4:side:c1@F5.8#2~1 [geometric]
Plate edge F4:side:c1@F5.8#1|F4:side:c1@F5.8#2~2 [geometric]
Plate edge F4:side:c1@F5.9#1|F4:side:c1@F5.9#2~1 [geometric]
Plate edge F4:side:c1@F5.9#1|F4:side:c1@F5.9#2~2 [geometric]
@@ -1,68 +0,0 @@
# oracle/11-circular-pattern-flange: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Flange: 18 faces, 48 edges
Flange face F2:side:c_in#1
Flange face F2:side:c_in#2
Flange face F2:side:c_out#1
Flange face F2:side:c_out#2
Flange face F2:start
Flange face F2:top
Flange face F4:side:c1#1
Flange face F4:side:c1#2
Flange face F4:side:c1@F5.1#1
Flange face F4:side:c1@F5.1#2
Flange face F4:side:c1@F5.2#1
Flange face F4:side:c1@F5.2#2
Flange face F4:side:c1@F5.3#1
Flange face F4:side:c1@F5.3#2
Flange face F4:side:c1@F5.4#1
Flange face F4:side:c1@F5.4#2
Flange face F4:side:c1@F5.5#1
Flange face F4:side:c1@F5.5#2
Flange edge F2:side:c_in#1|F2:side:c_in#2~1 [geometric]
Flange edge F2:side:c_in#1|F2:side:c_in#2~2 [geometric]
Flange edge F2:side:c_in#1|F2:start
Flange edge F2:side:c_in#1|F2:top
Flange edge F2:side:c_in#2|F2:start
Flange edge F2:side:c_in#2|F2:top
Flange edge F2:side:c_out#1|F2:side:c_out#2~1 [geometric]
Flange edge F2:side:c_out#1|F2:side:c_out#2~2 [geometric]
Flange edge F2:side:c_out#1|F2:start
Flange edge F2:side:c_out#1|F2:top
Flange edge F2:side:c_out#2|F2:start
Flange edge F2:side:c_out#2|F2:top
Flange edge F2:start|F4:side:c1#1
Flange edge F2:start|F4:side:c1#2
Flange edge F2:start|F4:side:c1@F5.1#1
Flange edge F2:start|F4:side:c1@F5.1#2
Flange edge F2:start|F4:side:c1@F5.2#1
Flange edge F2:start|F4:side:c1@F5.2#2
Flange edge F2:start|F4:side:c1@F5.3#1
Flange edge F2:start|F4:side:c1@F5.3#2
Flange edge F2:start|F4:side:c1@F5.4#1
Flange edge F2:start|F4:side:c1@F5.4#2
Flange edge F2:start|F4:side:c1@F5.5#1
Flange edge F2:start|F4:side:c1@F5.5#2
Flange edge F2:top|F4:side:c1#1
Flange edge F2:top|F4:side:c1#2
Flange edge F2:top|F4:side:c1@F5.1#1
Flange edge F2:top|F4:side:c1@F5.1#2
Flange edge F2:top|F4:side:c1@F5.2#1
Flange edge F2:top|F4:side:c1@F5.2#2
Flange edge F2:top|F4:side:c1@F5.3#1
Flange edge F2:top|F4:side:c1@F5.3#2
Flange edge F2:top|F4:side:c1@F5.4#1
Flange edge F2:top|F4:side:c1@F5.4#2
Flange edge F2:top|F4:side:c1@F5.5#1
Flange edge F2:top|F4:side:c1@F5.5#2
Flange edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Flange edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Flange edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~1 [geometric]
Flange edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~2 [geometric]
Flange edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#2~1 [geometric]
Flange edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#2~2 [geometric]
Flange edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~1 [geometric]
Flange edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~2 [geometric]
Flange edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~1 [geometric]
Flange edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~2 [geometric]
Flange edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~1 [geometric]
Flange edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~2 [geometric]
-38
View File
@@ -1,38 +0,0 @@
# oracle/12-mirror-feature: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Base: 12 faces, 24 edges
Base face F2:side:l1
Base face F2:side:l2
Base face F2:side:l3
Base face F2:side:l4
Base face F2:start
Base face F2:top
Base face F4:side:c1#1
Base face F4:side:c1#2
Base face F4:side:c1@F5.1#1
Base face F4:side:c1@F5.1#2
Base face F4:top
Base face F4:top@F5.1
Base edge F2:side:l1|F2:side:l2
Base edge F2:side:l1|F2:side:l4
Base edge F2:side:l1|F2:start
Base edge F2:side:l1|F2:top
Base edge F2:side:l2|F2:side:l3
Base edge F2:side:l2|F2:start
Base edge F2:side:l2|F2:top
Base edge F2:side:l3|F2:side:l4
Base edge F2:side:l3|F2:start
Base edge F2:side:l3|F2:top
Base edge F2:side:l4|F2:start
Base edge F2:side:l4|F2:top
Base edge F2:top|F4:side:c1#1
Base edge F2:top|F4:side:c1#2
Base edge F2:top|F4:side:c1@F5.1#1
Base edge F2:top|F4:side:c1@F5.1#2
Base edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Base edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Base edge F4:side:c1#1|F4:top
Base edge F4:side:c1#2|F4:top
Base edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~1 [geometric]
Base edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~2 [geometric]
Base edge F4:side:c1@F5.1#1|F4:top@F5.1
Base edge F4:side:c1@F5.1#2|F4:top@F5.1
-47
View File
@@ -1,47 +0,0 @@
# oracle/13-combine-join: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body A: 14 faces, 31 edges
A face F2:side:l1
A face F2:side:l2#[F2:side:l1]
A face F2:side:l2#[F2:side:l3]
A face F2:side:l3
A face F2:side:l4
A face F2:start
A face F2:top
A face F4:side:c1#1#[F2:side:l2,F2:start]
A face F4:side:c1#1#[F2:top,F4:top]
A face F4:side:c1#1#[F4:top]
A face F4:side:c1#2#[F2:side:l2,F2:start]
A face F4:side:c1#2#[F2:top,F4:top]
A face F4:side:c1#2#[F4:top]
A face F4:top
A edge F2:side:l1|F2:side:l2#[F2:side:l1]
A edge F2:side:l1|F2:side:l4
A edge F2:side:l1|F2:start
A edge F2:side:l1|F2:top
A edge F2:side:l2#[F2:side:l1]|F2:start
A edge F2:side:l2#[F2:side:l1]|F2:top
A edge F2:side:l2#[F2:side:l1]|F4:side:c1#2#[F2:side:l2,F2:start]
A edge F2:side:l2#[F2:side:l3]|F2:side:l3
A edge F2:side:l2#[F2:side:l3]|F2:start
A edge F2:side:l2#[F2:side:l3]|F2:top
A edge F2:side:l2#[F2:side:l3]|F4:side:c1#1#[F2:side:l2,F2:start]
A edge F2:side:l3|F2:side:l4
A edge F2:side:l3|F2:start
A edge F2:side:l3|F2:top
A edge F2:side:l4|F2:start
A edge F2:side:l4|F2:top
A edge F2:start|F4:side:c1#1#[F2:side:l2,F2:start]
A edge F2:start|F4:side:c1#2#[F2:side:l2,F2:start]
A edge F2:top|F4:side:c1#1#[F2:top,F4:top]
A edge F2:top|F4:side:c1#2#[F2:top,F4:top]
A edge F4:side:c1#1#[F2:side:l2,F2:start]|F4:side:c1#1#[F4:top]
A edge F4:side:c1#1#[F2:side:l2,F2:start]|F4:side:c1#2#[F2:side:l2,F2:start]
A edge F4:side:c1#1#[F2:top,F4:top]|F4:side:c1#1#[F4:top]
A edge F4:side:c1#1#[F2:top,F4:top]|F4:side:c1#2#[F2:top,F4:top]
A edge F4:side:c1#1#[F2:top,F4:top]|F4:top
A edge F4:side:c1#1#[F4:top]|F4:side:c1#2#[F4:top]
A edge F4:side:c1#1#[F4:top]|F4:top
A edge F4:side:c1#2#[F2:side:l2,F2:start]|F4:side:c1#2#[F4:top]
A edge F4:side:c1#2#[F2:top,F4:top]|F4:side:c1#2#[F4:top]
A edge F4:side:c1#2#[F2:top,F4:top]|F4:top
A edge F4:side:c1#2#[F4:top]|F4:top
-37
View File
@@ -1,37 +0,0 @@
# oracle/14-combine-cut: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body A: 11 faces, 24 edges
A face F2:bottom
A face F2:side:l1
A face F2:side:l2
A face F2:side:l3
A face F2:side:l4
A face F2:start
A face F4:side:a1#1
A face F4:side:a1#2
A face F4:side:a1#3
A face F4:side:a1#4
A face F4:side:a1#6
A edge F2:bottom|F2:side:l1
A edge F2:bottom|F2:side:l2
A edge F2:bottom|F2:side:l3
A edge F2:bottom|F2:side:l4
A edge F2:side:l1|F2:side:l2
A edge F2:side:l1|F2:side:l4
A edge F2:side:l1|F2:start
A edge F2:side:l2|F2:side:l3
A edge F2:side:l2|F2:start
A edge F2:side:l3|F2:side:l4
A edge F2:side:l3|F2:start
A edge F2:side:l4|F2:start
A edge F2:start|F4:side:a1#1
A edge F2:start|F4:side:a1#2
A edge F2:start|F4:side:a1#3
A edge F2:start|F4:side:a1#4
A edge F4:side:a1#1|F4:side:a1#3
A edge F4:side:a1#1|F4:side:a1#4
A edge F4:side:a1#1|F4:side:a1#6
A edge F4:side:a1#2|F4:side:a1#3
A edge F4:side:a1#2|F4:side:a1#4
A edge F4:side:a1#2|F4:side:a1#6
A edge F4:side:a1#3|F4:side:a1#6
A edge F4:side:a1#4|F4:side:a1#6
@@ -1,38 +0,0 @@
# oracle/15-combine-intersect: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body A: 12 faces, 24 edges
A face F2:bottom
A face F2:side:l1
A face F2:side:l2
A face F2:side:l3
A face F2:side:l4
A face F2:top
A face F4:side:a1#1
A face F4:side:a1#2
A face F4:side:a1#3
A face F4:side:a1#4
A face F4:side:a1#5
A face F4:side:a1#6
A edge F2:bottom|F4:side:a1#6~1 [geometric]
A edge F2:bottom|F4:side:a1#6~2 [geometric]
A edge F2:side:l1|F4:side:a1#4~1 [geometric]
A edge F2:side:l1|F4:side:a1#4~2 [geometric]
A edge F2:side:l2|F4:side:a1#1~1 [geometric]
A edge F2:side:l2|F4:side:a1#1~2 [geometric]
A edge F2:side:l3|F4:side:a1#3~1 [geometric]
A edge F2:side:l3|F4:side:a1#3~2 [geometric]
A edge F2:side:l4|F4:side:a1#2~1 [geometric]
A edge F2:side:l4|F4:side:a1#2~2 [geometric]
A edge F2:top|F4:side:a1#5~1 [geometric]
A edge F2:top|F4:side:a1#5~2 [geometric]
A edge F4:side:a1#1|F4:side:a1#3
A edge F4:side:a1#1|F4:side:a1#4
A edge F4:side:a1#1|F4:side:a1#5
A edge F4:side:a1#1|F4:side:a1#6
A edge F4:side:a1#2|F4:side:a1#3
A edge F4:side:a1#2|F4:side:a1#4
A edge F4:side:a1#2|F4:side:a1#5
A edge F4:side:a1#2|F4:side:a1#6
A edge F4:side:a1#3|F4:side:a1#5
A edge F4:side:a1#3|F4:side:a1#6
A edge F4:side:a1#4|F4:side:a1#5
A edge F4:side:a1#4|F4:side:a1#6
-30
View File
@@ -1,30 +0,0 @@
# oracle/16-sweep: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Tube: 10 faces, 18 edges
Tube face F3:end
Tube face F3:side:c1#1
Tube face F3:side:c1#2
Tube face F3:side:c1#3
Tube face F3:side:c1#4
Tube face F3:side:c1#[F3:end]#1
Tube face F3:side:c1#[F3:end]#2
Tube face F3:side:c1#[F3:start]#1
Tube face F3:side:c1#[F3:start]#2
Tube face F3:start
Tube edge F3:end|F3:side:c1#[F3:end]#1
Tube edge F3:end|F3:side:c1#[F3:end]#2
Tube edge F3:side:c1#1|F3:side:c1#2~1 [geometric]
Tube edge F3:side:c1#1|F3:side:c1#2~2 [geometric]
Tube edge F3:side:c1#1|F3:side:c1#3
Tube edge F3:side:c1#1|F3:side:c1#[F3:start]#2
Tube edge F3:side:c1#2|F3:side:c1#4
Tube edge F3:side:c1#2|F3:side:c1#[F3:start]#1
Tube edge F3:side:c1#3|F3:side:c1#4~1 [geometric]
Tube edge F3:side:c1#3|F3:side:c1#4~2 [geometric]
Tube edge F3:side:c1#3|F3:side:c1#[F3:end]#2
Tube edge F3:side:c1#4|F3:side:c1#[F3:end]#1
Tube edge F3:side:c1#[F3:end]#1|F3:side:c1#[F3:end]#2~1 [geometric]
Tube edge F3:side:c1#[F3:end]#1|F3:side:c1#[F3:end]#2~2 [geometric]
Tube edge F3:side:c1#[F3:start]#1|F3:side:c1#[F3:start]#2~1 [geometric]
Tube edge F3:side:c1#[F3:start]#1|F3:side:c1#[F3:start]#2~2 [geometric]
Tube edge F3:side:c1#[F3:start]#1|F3:start
Tube edge F3:side:c1#[F3:start]#2|F3:start
-20
View File
@@ -1,20 +0,0 @@
# oracle/17-loft: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Loft: 6 faces, 12 edges
Loft face F4:end
Loft face F4:side:l1
Loft face F4:side:l2
Loft face F4:side:l3
Loft face F4:side:l4
Loft face F4:start
Loft edge F4:end|F4:side:l1
Loft edge F4:end|F4:side:l2
Loft edge F4:end|F4:side:l3
Loft edge F4:end|F4:side:l4
Loft edge F4:side:l1|F4:side:l2
Loft edge F4:side:l1|F4:side:l4
Loft edge F4:side:l1|F4:start
Loft edge F4:side:l2|F4:side:l3
Loft edge F4:side:l2|F4:start
Loft edge F4:side:l3|F4:side:l4
Loft edge F4:side:l3|F4:start
Loft edge F4:side:l4|F4:start
-74
View File
@@ -1,74 +0,0 @@
# oracle/18-hole-features: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Plate: 21 faces, 48 edges
Plate face F2:side:l1
Plate face F2:side:l2
Plate face F2:side:l3
Plate face F2:side:l4
Plate face F2:start
Plate face F2:top
Plate face F3:bore:side:0
Plate face F3:bore:side:1
Plate face F3:cbore:base
Plate face F3:cbore:side:0
Plate face F3:cbore:side:1
Plate face F4:bore:side:0
Plate face F4:bore:side:1
Plate face F4:csink:side:0
Plate face F4:csink:side:1
Plate face F5:bore:side:1#1
Plate face F5:bore:side:1#2
Plate face F5:bore:side:1#3
Plate face F5:bore:side:2#1
Plate face F5:bore:side:2#2
Plate face F5:bore:side:2#3
Plate edge F2:side:l1|F2:side:l2
Plate edge F2:side:l1|F2:side:l4
Plate edge F2:side:l1|F2:start
Plate edge F2:side:l1|F2:top
Plate edge F2:side:l2|F2:side:l3
Plate edge F2:side:l2|F2:start
Plate edge F2:side:l2|F2:top
Plate edge F2:side:l3|F2:side:l4
Plate edge F2:side:l3|F2:start
Plate edge F2:side:l3|F2:top
Plate edge F2:side:l4|F2:start
Plate edge F2:side:l4|F2:top
Plate edge F2:start|F3:bore:side:0
Plate edge F2:start|F3:bore:side:1
Plate edge F2:start|F4:bore:side:0
Plate edge F2:start|F4:bore:side:1
Plate edge F2:top|F3:cbore:side:0
Plate edge F2:top|F3:cbore:side:1
Plate edge F2:top|F4:csink:side:0
Plate edge F2:top|F4:csink:side:1
Plate edge F2:top|F5:bore:side:1#1
Plate edge F2:top|F5:bore:side:1#2
Plate edge F2:top|F5:bore:side:1#3
Plate edge F3:bore:side:0|F3:bore:side:1~1 [geometric]
Plate edge F3:bore:side:0|F3:bore:side:1~2 [geometric]
Plate edge F3:bore:side:0|F3:cbore:base
Plate edge F3:bore:side:1|F3:cbore:base
Plate edge F3:cbore:base|F3:cbore:side:0
Plate edge F3:cbore:base|F3:cbore:side:1
Plate edge F3:cbore:side:0|F3:cbore:side:1~1 [geometric]
Plate edge F3:cbore:side:0|F3:cbore:side:1~2 [geometric]
Plate edge F4:bore:side:0|F4:bore:side:1~1 [geometric]
Plate edge F4:bore:side:0|F4:bore:side:1~2 [geometric]
Plate edge F4:bore:side:0|F4:csink:side:0
Plate edge F4:bore:side:0|F4:csink:side:1
Plate edge F4:bore:side:1|F4:csink:side:0
Plate edge F4:bore:side:1|F4:csink:side:1
Plate edge F4:csink:side:0|F4:csink:side:1~1 [geometric]
Plate edge F4:csink:side:0|F4:csink:side:1~2 [geometric]
Plate edge F5:bore:side:1#1|F5:bore:side:1#2
Plate edge F5:bore:side:1#1|F5:bore:side:1#3
Plate edge F5:bore:side:1#1|F5:bore:side:2#1
Plate edge F5:bore:side:1#2|F5:bore:side:1#3
Plate edge F5:bore:side:1#2|F5:bore:side:2#2
Plate edge F5:bore:side:1#3|F5:bore:side:2#3
Plate edge F5:bore:side:2#1|F5:bore:side:2#2
Plate edge F5:bore:side:2#1|F5:bore:side:2#3
Plate edge F5:bore:side:2#2|F5:bore:side:2#3
ref CBore (3) face 0 `F2:top` -> Plate face F2:top
ref CSink (4) face 0 `F2:top` -> Plate face F2:top
ref Blind (5) face 0 `F2:top` -> Plate face F2:top
@@ -1,28 +0,0 @@
# oracle/19-l-bracket-constrained: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body LBracket: 8 faces, 18 edges
LBracket face F2:side:l1
LBracket face F2:side:l2
LBracket face F2:side:l3
LBracket face F2:side:l4
LBracket face F2:side:l5
LBracket face F2:side:l6
LBracket face F2:start
LBracket face F2:top
LBracket edge F2:side:l1|F2:side:l2
LBracket edge F2:side:l1|F2:side:l6
LBracket edge F2:side:l1|F2:start
LBracket edge F2:side:l1|F2:top
LBracket edge F2:side:l2|F2:side:l3
LBracket edge F2:side:l2|F2:start
LBracket edge F2:side:l2|F2:top
LBracket edge F2:side:l3|F2:side:l4
LBracket edge F2:side:l3|F2:start
LBracket edge F2:side:l3|F2:top
LBracket edge F2:side:l4|F2:side:l5
LBracket edge F2:side:l4|F2:start
LBracket edge F2:side:l4|F2:top
LBracket edge F2:side:l5|F2:side:l6
LBracket edge F2:side:l5|F2:start
LBracket edge F2:side:l5|F2:top
LBracket edge F2:side:l6|F2:start
LBracket edge F2:side:l6|F2:top
@@ -1,20 +0,0 @@
# oracle/20-slot-constrained: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Slot: 6 faces, 12 edges
Slot face F2:side:a1
Slot face F2:side:a2
Slot face F2:side:l1
Slot face F2:side:l2
Slot face F2:start
Slot face F2:top
Slot edge F2:side:a1|F2:side:l1
Slot edge F2:side:a1|F2:side:l2
Slot edge F2:side:a1|F2:start
Slot edge F2:side:a1|F2:top
Slot edge F2:side:a2|F2:side:l1
Slot edge F2:side:a2|F2:side:l2
Slot edge F2:side:a2|F2:start
Slot edge F2:side:a2|F2:top
Slot edge F2:side:l1|F2:start
Slot edge F2:side:l1|F2:top
Slot edge F2:side:l2|F2:start
Slot edge F2:side:l2|F2:top
-24
View File
@@ -1,24 +0,0 @@
# oracle/21-draft: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 6 faces, 12 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box edge F2:side:l1|F2:side:l2
Box edge F2:side:l1|F2:side:l4
Box edge F2:side:l1|F2:start
Box edge F2:side:l1|F2:top
Box edge F2:side:l2|F2:side:l3
Box edge F2:side:l2|F2:start
Box edge F2:side:l2|F2:top
Box edge F2:side:l3|F2:side:l4
Box edge F2:side:l3|F2:start
Box edge F2:side:l3|F2:top
Box edge F2:side:l4|F2:start
Box edge F2:side:l4|F2:top
ref Draft1 (3) face 0 `F2:side:l3` -> Box face F2:side:l3
ref Draft1 (3) face 1 `F2:side:l2` -> Box face F2:side:l2
ref Draft1 (3) face 2 `F2:side:l1` -> Box face F2:side:l1
ref Draft1 (3) face 3 `F2:side:l4` -> Box face F2:side:l4
-23
View File
@@ -1,23 +0,0 @@
# oracle/22-split-body: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Cyl: 4 faces, 6 edges
Cyl face F2:side:c1#1
Cyl face F2:side:c1#2
Cyl face F2:top
Cyl face F4:section
Cyl edge F2:side:c1#1|F2:side:c1#2~1 [geometric]
Cyl edge F2:side:c1#1|F2:side:c1#2~2 [geometric]
Cyl edge F2:side:c1#1|F2:top
Cyl edge F2:side:c1#1|F4:section
Cyl edge F2:side:c1#2|F2:top
Cyl edge F2:side:c1#2|F4:section
body Cyl (1): 4 faces, 6 edges
Cyl (1) face F2:bottom
Cyl (1) face F2:side:c1#1
Cyl (1) face F2:side:c1#2
Cyl (1) face F4:section
Cyl (1) edge F2:bottom|F2:side:c1#1
Cyl (1) edge F2:bottom|F2:side:c1#2
Cyl (1) edge F2:side:c1#1|F2:side:c1#2~1 [geometric]
Cyl (1) edge F2:side:c1#1|F2:side:c1#2~2 [geometric]
Cyl (1) edge F2:side:c1#1|F4:section
Cyl (1) edge F2:side:c1#2|F4:section
@@ -1,91 +0,0 @@
# oracle/23-bracket-multifeature: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Bracket: 23 faces, 63 edges
Bracket face F10:side:c1#1
Bracket face F10:side:c1#2
Bracket face F10:side:c2#1
Bracket face F10:side:c2#2
Bracket face F12:side:c1#1
Bracket face F12:side:c1#2
Bracket face F12:side:c2#1
Bracket face F12:side:c2#2
Bracket face F13:blend:F2:side:l1|F2:side:l2
Bracket face F13:blend:F2:side:l1|F2:side:l4
Bracket face F2:side:l1
Bracket face F2:side:l2
Bracket face F2:side:l3
Bracket face F2:side:l4
Bracket face F2:start
Bracket face F2:top
Bracket face F4:side:l1
Bracket face F4:top
Bracket face F5:blend:F2:top|F4:side:l1#[F2:side:l2,F8:top]
Bracket face F5:blend:F2:top|F4:side:l1#[F2:side:l4,F8:bottom]
Bracket face F8:bottom
Bracket face F8:side:l2
Bracket face F8:top
Bracket edge F10:side:c1#1|F10:side:c1#2~1 [geometric]
Bracket edge F10:side:c1#1|F10:side:c1#2~2 [geometric]
Bracket edge F10:side:c1#1|F2:start
Bracket edge F10:side:c1#1|F2:top
Bracket edge F10:side:c1#2|F2:start
Bracket edge F10:side:c1#2|F2:top
Bracket edge F10:side:c2#1|F10:side:c2#2~1 [geometric]
Bracket edge F10:side:c2#1|F10:side:c2#2~2 [geometric]
Bracket edge F10:side:c2#1|F2:start
Bracket edge F10:side:c2#1|F2:top
Bracket edge F10:side:c2#2|F2:start
Bracket edge F10:side:c2#2|F2:top
Bracket edge F12:side:c1#1|F12:side:c1#2~1 [geometric]
Bracket edge F12:side:c1#1|F12:side:c1#2~2 [geometric]
Bracket edge F12:side:c1#1|F2:side:l3
Bracket edge F12:side:c1#1|F4:side:l1
Bracket edge F12:side:c1#2|F2:side:l3
Bracket edge F12:side:c1#2|F4:side:l1
Bracket edge F12:side:c2#1|F12:side:c2#2~1 [geometric]
Bracket edge F12:side:c2#1|F12:side:c2#2~2 [geometric]
Bracket edge F12:side:c2#1|F2:side:l3
Bracket edge F12:side:c2#1|F4:side:l1
Bracket edge F12:side:c2#2|F2:side:l3
Bracket edge F12:side:c2#2|F4:side:l1
Bracket edge F13:blend:F2:side:l1|F2:side:l2|F2:side:l1
Bracket edge F13:blend:F2:side:l1|F2:side:l2|F2:side:l2
Bracket edge F13:blend:F2:side:l1|F2:side:l2|F2:start
Bracket edge F13:blend:F2:side:l1|F2:side:l2|F2:top
Bracket edge F13:blend:F2:side:l1|F2:side:l4|F2:side:l1
Bracket edge F13:blend:F2:side:l1|F2:side:l4|F2:side:l4
Bracket edge F13:blend:F2:side:l1|F2:side:l4|F2:start
Bracket edge F13:blend:F2:side:l1|F2:side:l4|F2:top
Bracket edge F2:side:l1|F2:start
Bracket edge F2:side:l1|F2:top
Bracket edge F2:side:l2|F2:side:l3
Bracket edge F2:side:l2|F2:start
Bracket edge F2:side:l2|F2:top
Bracket edge F2:side:l2|F4:side:l1
Bracket edge F2:side:l2|F4:top
Bracket edge F2:side:l2|F5:blend:F2:top|F4:side:l1#[F2:side:l2,F8:top]
Bracket edge F2:side:l3|F2:side:l4
Bracket edge F2:side:l3|F2:start
Bracket edge F2:side:l3|F4:top
Bracket edge F2:side:l4|F2:start
Bracket edge F2:side:l4|F2:top
Bracket edge F2:side:l4|F4:side:l1
Bracket edge F2:side:l4|F4:top
Bracket edge F2:side:l4|F5:blend:F2:top|F4:side:l1#[F2:side:l4,F8:bottom]
Bracket edge F2:top|F5:blend:F2:top|F4:side:l1#[F2:side:l2,F8:top]
Bracket edge F2:top|F5:blend:F2:top|F4:side:l1#[F2:side:l4,F8:bottom]
Bracket edge F2:top|F8:bottom
Bracket edge F2:top|F8:side:l2
Bracket edge F2:top|F8:top
Bracket edge F4:side:l1|F4:top
Bracket edge F4:side:l1|F5:blend:F2:top|F4:side:l1#[F2:side:l2,F8:top]
Bracket edge F4:side:l1|F5:blend:F2:top|F4:side:l1#[F2:side:l4,F8:bottom]
Bracket edge F4:side:l1|F8:bottom
Bracket edge F4:side:l1|F8:side:l2
Bracket edge F4:side:l1|F8:top
Bracket edge F5:blend:F2:top|F4:side:l1#[F2:side:l2,F8:top]|F8:top
Bracket edge F5:blend:F2:top|F4:side:l1#[F2:side:l4,F8:bottom]|F8:bottom
Bracket edge F8:bottom|F8:side:l2
Bracket edge F8:side:l2|F8:top
ref InnerFillet (5) edge 0 `F2:top|F4:side:l1` -> Bracket edge F2:top|F4:side:l1
ref FrontChamfer (13) edge 0 `F2:side:l1|F2:side:l2` -> Bracket edge F2:side:l1|F2:side:l2
ref FrontChamfer (13) edge 1 `F2:side:l1|F2:side:l4` -> Bracket edge F2:side:l1|F2:side:l4
@@ -1,28 +0,0 @@
# oracle/24-user-parameters: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Block: 8 faces, 18 edges
Block face F2:side:c1#1
Block face F2:side:c1#2
Block face F2:side:l1
Block face F2:side:l2
Block face F2:side:l3
Block face F2:side:l4
Block face F2:start
Block face F2:top
Block edge F2:side:c1#1|F2:side:c1#2~1 [geometric]
Block edge F2:side:c1#1|F2:side:c1#2~2 [geometric]
Block edge F2:side:c1#1|F2:start
Block edge F2:side:c1#1|F2:top
Block edge F2:side:c1#2|F2:start
Block edge F2:side:c1#2|F2:top
Block edge F2:side:l1|F2:side:l2
Block edge F2:side:l1|F2:side:l4
Block edge F2:side:l1|F2:start
Block edge F2:side:l1|F2:top
Block edge F2:side:l2|F2:side:l3
Block edge F2:side:l2|F2:start
Block edge F2:side:l2|F2:top
Block edge F2:side:l3|F2:side:l4
Block edge F2:side:l3|F2:start
Block edge F2:side:l3|F2:top
Block edge F2:side:l4|F2:start
Block edge F2:side:l4|F2:top
@@ -1,16 +0,0 @@
# oracle/25-sketch-triangle: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Triangle: 5 faces, 9 edges
Triangle face F2:side:l1
Triangle face F2:side:l2
Triangle face F2:side:l3
Triangle face F2:start
Triangle face F2:top
Triangle edge F2:side:l1|F2:side:l2
Triangle edge F2:side:l1|F2:side:l3
Triangle edge F2:side:l1|F2:start
Triangle edge F2:side:l1|F2:top
Triangle edge F2:side:l2|F2:side:l3
Triangle edge F2:side:l2|F2:start
Triangle edge F2:side:l2|F2:top
Triangle edge F2:side:l3|F2:start
Triangle edge F2:side:l3|F2:top
-28
View File
@@ -1,28 +0,0 @@
# oracle/26-sketch-belt: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Belt: 8 faces, 18 edges
Belt face F2:side:c1
Belt face F2:side:c2
Belt face F2:side:c3#1
Belt face F2:side:c3#2
Belt face F2:side:l1
Belt face F2:side:l2
Belt face F2:start
Belt face F2:top
Belt edge F2:side:c1|F2:side:l1
Belt edge F2:side:c1|F2:side:l2
Belt edge F2:side:c1|F2:start
Belt edge F2:side:c1|F2:top
Belt edge F2:side:c2|F2:side:l1
Belt edge F2:side:c2|F2:side:l2
Belt edge F2:side:c2|F2:start
Belt edge F2:side:c2|F2:top
Belt edge F2:side:c3#1|F2:side:c3#2~1 [geometric]
Belt edge F2:side:c3#1|F2:side:c3#2~2 [geometric]
Belt edge F2:side:c3#1|F2:start
Belt edge F2:side:c3#1|F2:top
Belt edge F2:side:c3#2|F2:start
Belt edge F2:side:c3#2|F2:top
Belt edge F2:side:l1|F2:start
Belt edge F2:side:l1|F2:top
Belt edge F2:side:l2|F2:start
Belt edge F2:side:l2|F2:top
@@ -1,36 +0,0 @@
# oracle/27-sketch-trapezoid: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Trapezoid: 10 faces, 24 edges
Trapezoid face F2:side:h1#1
Trapezoid face F2:side:h1#2
Trapezoid face F2:side:h2#1
Trapezoid face F2:side:h2#2
Trapezoid face F2:side:l1
Trapezoid face F2:side:l2
Trapezoid face F2:side:l3
Trapezoid face F2:side:l4
Trapezoid face F2:start
Trapezoid face F2:top
Trapezoid edge F2:side:h1#1|F2:side:h1#2~1 [geometric]
Trapezoid edge F2:side:h1#1|F2:side:h1#2~2 [geometric]
Trapezoid edge F2:side:h1#1|F2:start
Trapezoid edge F2:side:h1#1|F2:top
Trapezoid edge F2:side:h1#2|F2:start
Trapezoid edge F2:side:h1#2|F2:top
Trapezoid edge F2:side:h2#1|F2:side:h2#2~1 [geometric]
Trapezoid edge F2:side:h2#1|F2:side:h2#2~2 [geometric]
Trapezoid edge F2:side:h2#1|F2:start
Trapezoid edge F2:side:h2#1|F2:top
Trapezoid edge F2:side:h2#2|F2:start
Trapezoid edge F2:side:h2#2|F2:top
Trapezoid edge F2:side:l1|F2:side:l2
Trapezoid edge F2:side:l1|F2:side:l4
Trapezoid edge F2:side:l1|F2:start
Trapezoid edge F2:side:l1|F2:top
Trapezoid edge F2:side:l2|F2:side:l3
Trapezoid edge F2:side:l2|F2:start
Trapezoid edge F2:side:l2|F2:top
Trapezoid edge F2:side:l3|F2:side:l4
Trapezoid edge F2:side:l3|F2:start
Trapezoid edge F2:side:l3|F2:top
Trapezoid edge F2:side:l4|F2:start
Trapezoid edge F2:side:l4|F2:top
@@ -1,89 +0,0 @@
# oracle/28-blind-pocket-fillets: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Block: 23 faces, 52 edges
Block face F2:side:l1
Block face F2:side:l2
Block face F2:side:l3
Block face F2:side:l4
Block face F2:start
Block face F2:top
Block face F4:bottom
Block face F4:side:l1
Block face F4:side:l2
Block face F4:side:l3
Block face F4:side:l4
Block face F5:blend:F4:side:l1|F4:side:l2
Block face F5:blend:F4:side:l1|F4:side:l4
Block face F5:blend:F4:side:l2|F4:side:l3
Block face F5:blend:F4:side:l3|F4:side:l4
Block face F6:blend:F4:bottom|F4:side:l1
Block face F6:blend:F4:bottom|F4:side:l2
Block face F6:blend:F4:bottom|F4:side:l3
Block face F6:blend:F4:bottom|F4:side:l4
Block face F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l2
Block face F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l4
Block face F6:blend:F4:bottom|F5:blend:F4:side:l2|F4:side:l3
Block face F6:blend:F4:bottom|F5:blend:F4:side:l3|F4:side:l4
Block edge F2:side:l1|F2:side:l2
Block edge F2:side:l1|F2:side:l4
Block edge F2:side:l1|F2:start
Block edge F2:side:l1|F2:top
Block edge F2:side:l2|F2:side:l3
Block edge F2:side:l2|F2:start
Block edge F2:side:l2|F2:top
Block edge F2:side:l3|F2:side:l4
Block edge F2:side:l3|F2:start
Block edge F2:side:l3|F2:top
Block edge F2:side:l4|F2:start
Block edge F2:side:l4|F2:top
Block edge F2:top|F4:side:l1
Block edge F2:top|F4:side:l2
Block edge F2:top|F4:side:l3
Block edge F2:top|F4:side:l4
Block edge F2:top|F5:blend:F4:side:l1|F4:side:l2
Block edge F2:top|F5:blend:F4:side:l1|F4:side:l4
Block edge F2:top|F5:blend:F4:side:l2|F4:side:l3
Block edge F2:top|F5:blend:F4:side:l3|F4:side:l4
Block edge F4:bottom|F6:blend:F4:bottom|F4:side:l1
Block edge F4:bottom|F6:blend:F4:bottom|F4:side:l2
Block edge F4:bottom|F6:blend:F4:bottom|F4:side:l3
Block edge F4:bottom|F6:blend:F4:bottom|F4:side:l4
Block edge F4:bottom|F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l2
Block edge F4:bottom|F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l4
Block edge F4:bottom|F6:blend:F4:bottom|F5:blend:F4:side:l2|F4:side:l3
Block edge F4:bottom|F6:blend:F4:bottom|F5:blend:F4:side:l3|F4:side:l4
Block edge F4:side:l1|F5:blend:F4:side:l1|F4:side:l2
Block edge F4:side:l1|F5:blend:F4:side:l1|F4:side:l4
Block edge F4:side:l1|F6:blend:F4:bottom|F4:side:l1
Block edge F4:side:l2|F5:blend:F4:side:l1|F4:side:l2
Block edge F4:side:l2|F5:blend:F4:side:l2|F4:side:l3
Block edge F4:side:l2|F6:blend:F4:bottom|F4:side:l2
Block edge F4:side:l3|F5:blend:F4:side:l2|F4:side:l3
Block edge F4:side:l3|F5:blend:F4:side:l3|F4:side:l4
Block edge F4:side:l3|F6:blend:F4:bottom|F4:side:l3
Block edge F4:side:l4|F5:blend:F4:side:l1|F4:side:l4
Block edge F4:side:l4|F5:blend:F4:side:l3|F4:side:l4
Block edge F4:side:l4|F6:blend:F4:bottom|F4:side:l4
Block edge F5:blend:F4:side:l1|F4:side:l2|F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l2
Block edge F5:blend:F4:side:l1|F4:side:l4|F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l4
Block edge F5:blend:F4:side:l2|F4:side:l3|F6:blend:F4:bottom|F5:blend:F4:side:l2|F4:side:l3
Block edge F5:blend:F4:side:l3|F4:side:l4|F6:blend:F4:bottom|F5:blend:F4:side:l3|F4:side:l4
Block edge F6:blend:F4:bottom|F4:side:l1|F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l2
Block edge F6:blend:F4:bottom|F4:side:l1|F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l4
Block edge F6:blend:F4:bottom|F4:side:l2|F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l2
Block edge F6:blend:F4:bottom|F4:side:l2|F6:blend:F4:bottom|F5:blend:F4:side:l2|F4:side:l3
Block edge F6:blend:F4:bottom|F4:side:l3|F6:blend:F4:bottom|F5:blend:F4:side:l2|F4:side:l3
Block edge F6:blend:F4:bottom|F4:side:l3|F6:blend:F4:bottom|F5:blend:F4:side:l3|F4:side:l4
Block edge F6:blend:F4:bottom|F4:side:l4|F6:blend:F4:bottom|F5:blend:F4:side:l1|F4:side:l4
Block edge F6:blend:F4:bottom|F4:side:l4|F6:blend:F4:bottom|F5:blend:F4:side:l3|F4:side:l4
ref CornerFillet (5) edge 0 `F4:side:l1|F4:side:l2` -> Block edge F4:side:l1|F4:side:l2
ref CornerFillet (5) edge 1 `F4:side:l1|F4:side:l4` -> Block edge F4:side:l1|F4:side:l4
ref CornerFillet (5) edge 2 `F4:side:l2|F4:side:l3` -> Block edge F4:side:l2|F4:side:l3
ref CornerFillet (5) edge 3 `F4:side:l3|F4:side:l4` -> Block edge F4:side:l3|F4:side:l4
ref FloorFillet (6) edge 0 `F4:bottom|F5:blend:F4:side:l3|F4:side:l4` -> Block edge F4:bottom|F5:blend:F4:side:l3|F4:side:l4
ref FloorFillet (6) edge 1 `F4:bottom|F4:side:l4` -> Block edge F4:bottom|F4:side:l4
ref FloorFillet (6) edge 2 `F4:bottom|F5:blend:F4:side:l1|F4:side:l4` -> Block edge F4:bottom|F5:blend:F4:side:l1|F4:side:l4
ref FloorFillet (6) edge 3 `F4:bottom|F4:side:l1` -> Block edge F4:bottom|F4:side:l1
ref FloorFillet (6) edge 4 `F4:bottom|F5:blend:F4:side:l1|F4:side:l2` -> Block edge F4:bottom|F5:blend:F4:side:l1|F4:side:l2
ref FloorFillet (6) edge 5 `F4:bottom|F4:side:l2` -> Block edge F4:bottom|F4:side:l2
ref FloorFillet (6) edge 6 `F4:bottom|F5:blend:F4:side:l2|F4:side:l3` -> Block edge F4:bottom|F5:blend:F4:side:l2|F4:side:l3
ref FloorFillet (6) edge 7 `F4:bottom|F4:side:l3` -> Block edge F4:bottom|F4:side:l3
@@ -1,56 +0,0 @@
# oracle/29-two-sided-and-partial-revolve: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Block: 15 faces, 39 edges
Block face F2:bottom
Block face F2:side:l1
Block face F2:side:l2
Block face F2:side:l3
Block face F2:side:l4
Block face F2:top
Block face F4:end
Block face F4:side:l1
Block face F4:side:l2#[F2:top,F4:start]
Block face F4:side:l2#[F2:top]
Block face F4:side:l2#[F4:end]
Block face F4:side:l4
Block face F4:side:l4#[F4:end]
Block face F4:side:l4#[F4:start]
Block face F4:start
Block edge F2:bottom|F2:side:l1
Block edge F2:bottom|F2:side:l2
Block edge F2:bottom|F2:side:l3
Block edge F2:bottom|F2:side:l4
Block edge F2:side:l1|F2:side:l2
Block edge F2:side:l1|F2:side:l4
Block edge F2:side:l1|F2:top
Block edge F2:side:l2|F2:side:l3
Block edge F2:side:l2|F2:top
Block edge F2:side:l3|F2:side:l4
Block edge F2:side:l3|F2:top~1 [geometric]
Block edge F2:side:l3|F2:top~2 [geometric]
Block edge F2:side:l3|F4:end
Block edge F2:side:l3|F4:side:l2#[F2:top,F4:start]
Block edge F2:side:l3|F4:side:l2#[F2:top]
Block edge F2:side:l3|F4:side:l2#[F4:end]
Block edge F2:side:l3|F4:side:l4
Block edge F2:side:l3|F4:side:l4#[F4:end]
Block edge F2:side:l3|F4:side:l4#[F4:start]
Block edge F2:side:l3|F4:start
Block edge F2:side:l4|F2:top
Block edge F2:top|F4:side:l1
Block edge F2:top|F4:side:l2#[F2:top,F4:start]
Block edge F2:top|F4:side:l2#[F2:top]
Block edge F4:end|F4:side:l1
Block edge F4:end|F4:side:l2#[F4:end]
Block edge F4:end|F4:side:l4#[F4:end]
Block edge F4:side:l1|F4:side:l2#[F2:top,F4:start]
Block edge F4:side:l1|F4:side:l2#[F2:top]
Block edge F4:side:l1|F4:side:l2#[F4:end]
Block edge F4:side:l1|F4:side:l4
Block edge F4:side:l1|F4:side:l4#[F4:end]
Block edge F4:side:l1|F4:side:l4#[F4:start]
Block edge F4:side:l1|F4:start
Block edge F4:side:l2#[F2:top,F4:start]|F4:start
Block edge F4:side:l2#[F2:top]|F4:side:l2#[F4:end]
Block edge F4:side:l4#[F4:start]|F4:start
Block edge F4:side:l4|F4:side:l4#[F4:end]
Block edge F4:side:l4|F4:side:l4#[F4:start]
@@ -1,103 +0,0 @@
# oracle/30-fillet-after-shell: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 27 faces, 64 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box face F3:inner:F2:side:l1
Box face F3:inner:F2:side:l2
Box face F3:inner:F2:side:l3
Box face F3:inner:F2:side:l4
Box face F3:inner:F2:start
Box face F4:blend:F2:side:l1|F2:side:l2
Box face F4:blend:F2:side:l1|F2:side:l4
Box face F4:blend:F2:side:l2|F2:side:l3
Box face F4:blend:F2:side:l3|F2:side:l4
Box face F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box face F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box face F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box face F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box face F6:blend:F3:inner:F2:side:l1|F3:inner:F2:start
Box face F6:blend:F3:inner:F2:side:l2|F3:inner:F2:start
Box face F6:blend:F3:inner:F2:side:l3|F3:inner:F2:start
Box face F6:blend:F3:inner:F2:side:l4|F3:inner:F2:start
Box face F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box face F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box face F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box face F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box edge F2:side:l1|F2:start
Box edge F2:side:l1|F2:top
Box edge F2:side:l1|F4:blend:F2:side:l1|F2:side:l2
Box edge F2:side:l1|F4:blend:F2:side:l1|F2:side:l4
Box edge F2:side:l2|F2:start
Box edge F2:side:l2|F2:top
Box edge F2:side:l2|F4:blend:F2:side:l1|F2:side:l2
Box edge F2:side:l2|F4:blend:F2:side:l2|F2:side:l3
Box edge F2:side:l3|F2:start
Box edge F2:side:l3|F2:top
Box edge F2:side:l3|F4:blend:F2:side:l2|F2:side:l3
Box edge F2:side:l3|F4:blend:F2:side:l3|F2:side:l4
Box edge F2:side:l4|F2:start
Box edge F2:side:l4|F2:top
Box edge F2:side:l4|F4:blend:F2:side:l1|F2:side:l4
Box edge F2:side:l4|F4:blend:F2:side:l3|F2:side:l4
Box edge F2:start|F4:blend:F2:side:l1|F2:side:l2
Box edge F2:start|F4:blend:F2:side:l1|F2:side:l4
Box edge F2:start|F4:blend:F2:side:l2|F2:side:l3
Box edge F2:start|F4:blend:F2:side:l3|F2:side:l4
Box edge F2:top|F3:inner:F2:side:l1
Box edge F2:top|F3:inner:F2:side:l2
Box edge F2:top|F3:inner:F2:side:l3
Box edge F2:top|F3:inner:F2:side:l4
Box edge F2:top|F4:blend:F2:side:l1|F2:side:l2
Box edge F2:top|F4:blend:F2:side:l1|F2:side:l4
Box edge F2:top|F4:blend:F2:side:l2|F2:side:l3
Box edge F2:top|F4:blend:F2:side:l3|F2:side:l4
Box edge F2:top|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box edge F2:top|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box edge F2:top|F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box edge F2:top|F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l1|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box edge F3:inner:F2:side:l1|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l1|F6:blend:F3:inner:F2:side:l1|F3:inner:F2:start
Box edge F3:inner:F2:side:l2|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box edge F3:inner:F2:side:l2|F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box edge F3:inner:F2:side:l2|F6:blend:F3:inner:F2:side:l2|F3:inner:F2:start
Box edge F3:inner:F2:side:l3|F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box edge F3:inner:F2:side:l3|F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l3|F6:blend:F3:inner:F2:side:l3|F3:inner:F2:start
Box edge F3:inner:F2:side:l4|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l4|F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l4|F6:blend:F3:inner:F2:side:l4|F3:inner:F2:start
Box edge F3:inner:F2:start|F6:blend:F3:inner:F2:side:l1|F3:inner:F2:start
Box edge F3:inner:F2:start|F6:blend:F3:inner:F2:side:l2|F3:inner:F2:start
Box edge F3:inner:F2:start|F6:blend:F3:inner:F2:side:l3|F3:inner:F2:start
Box edge F3:inner:F2:start|F6:blend:F3:inner:F2:side:l4|F3:inner:F2:start
Box edge F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box edge F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box edge F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box edge F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box edge F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box edge F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box edge F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box edge F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box edge F6:blend:F3:inner:F2:side:l1|F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box edge F6:blend:F3:inner:F2:side:l1|F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box edge F6:blend:F3:inner:F2:side:l2|F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l2
Box edge F6:blend:F3:inner:F2:side:l2|F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box edge F6:blend:F3:inner:F2:side:l3|F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box edge F6:blend:F3:inner:F2:side:l3|F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box edge F6:blend:F3:inner:F2:side:l4|F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
Box edge F6:blend:F3:inner:F2:side:l4|F3:inner:F2:start|F6:blend:F3:inner:F2:start|F5:blend:F3:inner:F2:side:l3|F3:inner:F2:side:l4
ref Shell1 (3) face 0 `F2:top` -> Box face F2:top
ref OuterFillet (4) edge 0 `F2:side:l3|F2:side:l4` -> Box edge F2:side:l3|F2:side:l4
ref OuterFillet (4) edge 1 `F2:side:l2|F2:side:l3` -> Box edge F2:side:l2|F2:side:l3
ref OuterFillet (4) edge 2 `F2:side:l1|F2:side:l2` -> Box edge F2:side:l1|F2:side:l2
ref OuterFillet (4) edge 3 `F2:side:l1|F2:side:l4` -> Box edge F2:side:l1|F2:side:l4
ref InnerFillet (5) edge 0 `F3:inner:F2:side:l2|F3:inner:F2:side:l3` -> Box edge F3:inner:F2:side:l2|F3:inner:F2:side:l3
ref InnerFillet (5) edge 1 `F3:inner:F2:side:l3|F3:inner:F2:side:l4` -> Box edge F3:inner:F2:side:l3|F3:inner:F2:side:l4
ref InnerFillet (5) edge 2 `F3:inner:F2:side:l1|F3:inner:F2:side:l2` -> Box edge F3:inner:F2:side:l1|F3:inner:F2:side:l2
ref InnerFillet (5) edge 3 `F3:inner:F2:side:l1|F3:inner:F2:side:l4` -> Box edge F3:inner:F2:side:l1|F3:inner:F2:side:l4
ref FloorFillet (6) edge 0 `F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4` -> Box edge F3:inner:F2:start|F5:blend:F3:inner:F2:side:l1|F3:inner:F2:side:l4
@@ -1,132 +0,0 @@
# oracle/31-fillet-l-all-edges: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body L: 38 faces, 74 edges
L face F2:side:l1 [geometric]
L face F2:side:l2 [geometric]
L face F2:side:l3 [geometric]
L face F2:side:l4 [geometric]
L face F2:side:l5 [geometric]
L face F2:side:l6 [geometric]
L face F2:start [geometric]
L face F2:top [geometric]
L face F3:blend:F2:side:l1|F2:side:l2 [geometric]
L face F3:blend:F2:side:l1|F2:side:l6#[F2:side:l1,F2:side:l6] [geometric]
L face F3:blend:F2:side:l1|F2:side:l6#[F3:blend:F2:side:l1|F2:start,F3:blend:F2:side:l6|F2:start] [geometric]
L face F3:blend:F2:side:l1|F2:side:l6#[F3:blend:F2:side:l1|F2:top,F3:blend:F2:side:l6|F2:top] [geometric]
L face F3:blend:F2:side:l1|F2:start [geometric]
L face F3:blend:F2:side:l1|F2:top [geometric]
L face F3:blend:F2:side:l2|F2:side:l3 [geometric]
L face F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start] [geometric]
L face F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:start] [geometric]
L face F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l3|F2:start] [geometric]
L face F3:blend:F2:side:l2|F2:top#[F2:side:l2,F2:top] [geometric]
L face F3:blend:F2:side:l2|F2:top#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:top] [geometric]
L face F3:blend:F2:side:l2|F2:top#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l3|F2:top] [geometric]
L face F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4] [geometric]
L face F3:blend:F2:side:l3|F2:side:l4#[F2:start,F3:blend:F2:side:l3|F2:start,F3:blend:F2:side:l4|F2:start] [geometric]
L face F3:blend:F2:side:l3|F2:side:l4#[F2:top,F3:blend:F2:side:l3|F2:top,F3:blend:F2:side:l4|F2:top] [geometric]
L face F3:blend:F2:side:l3|F2:start [geometric]
L face F3:blend:F2:side:l3|F2:top [geometric]
L face F3:blend:F2:side:l4|F2:side:l5 [geometric]
L face F3:blend:F2:side:l4|F2:start [geometric]
L face F3:blend:F2:side:l4|F2:top [geometric]
L face F3:blend:F2:side:l5|F2:side:l6 [geometric]
L face F3:blend:F2:side:l5|F2:start#[F2:side:l5,F2:start] [geometric]
L face F3:blend:F2:side:l5|F2:start#[F3:blend:F2:side:l4|F2:side:l5,F3:blend:F2:side:l4|F2:start] [geometric]
L face F3:blend:F2:side:l5|F2:start#[F3:blend:F2:side:l5|F2:side:l6,F3:blend:F2:side:l6|F2:start] [geometric]
L face F3:blend:F2:side:l5|F2:top#[F2:side:l5,F2:top] [geometric]
L face F3:blend:F2:side:l5|F2:top#[F3:blend:F2:side:l4|F2:side:l5,F3:blend:F2:side:l4|F2:top] [geometric]
L face F3:blend:F2:side:l5|F2:top#[F3:blend:F2:side:l5|F2:side:l6,F3:blend:F2:side:l6|F2:top] [geometric]
L face F3:blend:F2:side:l6|F2:start [geometric]
L face F3:blend:F2:side:l6|F2:top [geometric]
L edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2 [geometric]
L edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l6#[F2:side:l1,F2:side:l6] [geometric]
L edge F2:side:l1|F3:blend:F2:side:l1|F2:start [geometric]
L edge F2:side:l1|F3:blend:F2:side:l1|F2:top [geometric]
L edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2 [geometric]
L edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3 [geometric]
L edge F2:side:l2|F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start] [geometric]
L edge F2:side:l2|F3:blend:F2:side:l2|F2:top#[F2:side:l2,F2:top] [geometric]
L edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3 [geometric]
L edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4] [geometric]
L edge F2:side:l3|F3:blend:F2:side:l3|F2:start [geometric]
L edge F2:side:l3|F3:blend:F2:side:l3|F2:top [geometric]
L edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4] [geometric]
L edge F2:side:l4|F3:blend:F2:side:l4|F2:side:l5 [geometric]
L edge F2:side:l4|F3:blend:F2:side:l4|F2:start [geometric]
L edge F2:side:l4|F3:blend:F2:side:l4|F2:top [geometric]
L edge F2:side:l5|F3:blend:F2:side:l4|F2:side:l5 [geometric]
L edge F2:side:l5|F3:blend:F2:side:l5|F2:side:l6 [geometric]
L edge F2:side:l5|F3:blend:F2:side:l5|F2:start#[F2:side:l5,F2:start] [geometric]
L edge F2:side:l5|F3:blend:F2:side:l5|F2:top#[F2:side:l5,F2:top] [geometric]
L edge F2:side:l6|F3:blend:F2:side:l1|F2:side:l6#[F2:side:l1,F2:side:l6] [geometric]
L edge F2:side:l6|F3:blend:F2:side:l5|F2:side:l6 [geometric]
L edge F2:side:l6|F3:blend:F2:side:l6|F2:start [geometric]
L edge F2:side:l6|F3:blend:F2:side:l6|F2:top [geometric]
L edge F2:start|F3:blend:F2:side:l1|F2:start [geometric]
L edge F2:start|F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start] [geometric]
L edge F2:start|F3:blend:F2:side:l3|F2:side:l4#[F2:start,F3:blend:F2:side:l3|F2:start,F3:blend:F2:side:l4|F2:start] [geometric]
L edge F2:start|F3:blend:F2:side:l3|F2:start [geometric]
L edge F2:start|F3:blend:F2:side:l4|F2:start [geometric]
L edge F2:start|F3:blend:F2:side:l5|F2:start#[F2:side:l5,F2:start] [geometric]
L edge F2:start|F3:blend:F2:side:l6|F2:start [geometric]
L edge F2:top|F3:blend:F2:side:l1|F2:top [geometric]
L edge F2:top|F3:blend:F2:side:l2|F2:top#[F2:side:l2,F2:top] [geometric]
L edge F2:top|F3:blend:F2:side:l3|F2:side:l4#[F2:top,F3:blend:F2:side:l3|F2:top,F3:blend:F2:side:l4|F2:top] [geometric]
L edge F2:top|F3:blend:F2:side:l3|F2:top [geometric]
L edge F2:top|F3:blend:F2:side:l4|F2:top [geometric]
L edge F2:top|F3:blend:F2:side:l5|F2:top#[F2:side:l5,F2:top] [geometric]
L edge F2:top|F3:blend:F2:side:l6|F2:top [geometric]
L edge F3:blend:F2:side:l1|F2:side:l2|F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:start] [geometric]
L edge F3:blend:F2:side:l1|F2:side:l2|F3:blend:F2:side:l2|F2:top#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:top] [geometric]
L edge F3:blend:F2:side:l1|F2:side:l6#[F2:side:l1,F2:side:l6]|F3:blend:F2:side:l1|F2:side:l6#[F3:blend:F2:side:l1|F2:start,F3:blend:F2:side:l6|F2:start] [geometric]
L edge F3:blend:F2:side:l1|F2:side:l6#[F2:side:l1,F2:side:l6]|F3:blend:F2:side:l1|F2:side:l6#[F3:blend:F2:side:l1|F2:top,F3:blend:F2:side:l6|F2:top] [geometric]
L edge F3:blend:F2:side:l1|F2:side:l6#[F3:blend:F2:side:l1|F2:start,F3:blend:F2:side:l6|F2:start]|F3:blend:F2:side:l1|F2:start [geometric]
L edge F3:blend:F2:side:l1|F2:side:l6#[F3:blend:F2:side:l1|F2:start,F3:blend:F2:side:l6|F2:start]|F3:blend:F2:side:l6|F2:start [geometric]
L edge F3:blend:F2:side:l1|F2:side:l6#[F3:blend:F2:side:l1|F2:top,F3:blend:F2:side:l6|F2:top]|F3:blend:F2:side:l1|F2:top [geometric]
L edge F3:blend:F2:side:l1|F2:side:l6#[F3:blend:F2:side:l1|F2:top,F3:blend:F2:side:l6|F2:top]|F3:blend:F2:side:l6|F2:top [geometric]
L edge F3:blend:F2:side:l1|F2:start|F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:start] [geometric]
L edge F3:blend:F2:side:l1|F2:top|F3:blend:F2:side:l2|F2:top#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:top] [geometric]
L edge F3:blend:F2:side:l2|F2:side:l3|F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l3|F2:start] [geometric]
L edge F3:blend:F2:side:l2|F2:side:l3|F3:blend:F2:side:l2|F2:top#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l3|F2:top] [geometric]
L edge F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start]|F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:start] [geometric]
L edge F3:blend:F2:side:l2|F2:start#[F2:side:l2,F2:start]|F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l3|F2:start] [geometric]
L edge F3:blend:F2:side:l2|F2:start#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l3|F2:start]|F3:blend:F2:side:l3|F2:start [geometric]
L edge F3:blend:F2:side:l2|F2:top#[F2:side:l2,F2:top]|F3:blend:F2:side:l2|F2:top#[F3:blend:F2:side:l1|F2:side:l2,F3:blend:F2:side:l1|F2:top] [geometric]
L edge F3:blend:F2:side:l2|F2:top#[F2:side:l2,F2:top]|F3:blend:F2:side:l2|F2:top#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l3|F2:top] [geometric]
L edge F3:blend:F2:side:l2|F2:top#[F3:blend:F2:side:l2|F2:side:l3,F3:blend:F2:side:l3|F2:top]|F3:blend:F2:side:l3|F2:top [geometric]
L edge F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4]|F3:blend:F2:side:l3|F2:side:l4#[F2:start,F3:blend:F2:side:l3|F2:start,F3:blend:F2:side:l4|F2:start] [geometric]
L edge F3:blend:F2:side:l3|F2:side:l4#[F2:side:l3,F2:side:l4]|F3:blend:F2:side:l3|F2:side:l4#[F2:top,F3:blend:F2:side:l3|F2:top,F3:blend:F2:side:l4|F2:top] [geometric]
L edge F3:blend:F2:side:l3|F2:side:l4#[F2:start,F3:blend:F2:side:l3|F2:start,F3:blend:F2:side:l4|F2:start]|F3:blend:F2:side:l3|F2:start [geometric]
L edge F3:blend:F2:side:l3|F2:side:l4#[F2:start,F3:blend:F2:side:l3|F2:start,F3:blend:F2:side:l4|F2:start]|F3:blend:F2:side:l4|F2:start [geometric]
L edge F3:blend:F2:side:l3|F2:side:l4#[F2:top,F3:blend:F2:side:l3|F2:top,F3:blend:F2:side:l4|F2:top]|F3:blend:F2:side:l3|F2:top [geometric]
L edge F3:blend:F2:side:l3|F2:side:l4#[F2:top,F3:blend:F2:side:l3|F2:top,F3:blend:F2:side:l4|F2:top]|F3:blend:F2:side:l4|F2:top [geometric]
L edge F3:blend:F2:side:l4|F2:side:l5|F3:blend:F2:side:l5|F2:start#[F3:blend:F2:side:l4|F2:side:l5,F3:blend:F2:side:l4|F2:start] [geometric]
L edge F3:blend:F2:side:l4|F2:side:l5|F3:blend:F2:side:l5|F2:top#[F3:blend:F2:side:l4|F2:side:l5,F3:blend:F2:side:l4|F2:top] [geometric]
L edge F3:blend:F2:side:l4|F2:start|F3:blend:F2:side:l5|F2:start#[F3:blend:F2:side:l4|F2:side:l5,F3:blend:F2:side:l4|F2:start] [geometric]
L edge F3:blend:F2:side:l4|F2:top|F3:blend:F2:side:l5|F2:top#[F3:blend:F2:side:l4|F2:side:l5,F3:blend:F2:side:l4|F2:top] [geometric]
L edge F3:blend:F2:side:l5|F2:side:l6|F3:blend:F2:side:l5|F2:start#[F3:blend:F2:side:l5|F2:side:l6,F3:blend:F2:side:l6|F2:start] [geometric]
L edge F3:blend:F2:side:l5|F2:side:l6|F3:blend:F2:side:l5|F2:top#[F3:blend:F2:side:l5|F2:side:l6,F3:blend:F2:side:l6|F2:top] [geometric]
L edge F3:blend:F2:side:l5|F2:start#[F2:side:l5,F2:start]|F3:blend:F2:side:l5|F2:start#[F3:blend:F2:side:l4|F2:side:l5,F3:blend:F2:side:l4|F2:start] [geometric]
L edge F3:blend:F2:side:l5|F2:start#[F2:side:l5,F2:start]|F3:blend:F2:side:l5|F2:start#[F3:blend:F2:side:l5|F2:side:l6,F3:blend:F2:side:l6|F2:start] [geometric]
L edge F3:blend:F2:side:l5|F2:start#[F3:blend:F2:side:l5|F2:side:l6,F3:blend:F2:side:l6|F2:start]|F3:blend:F2:side:l6|F2:start [geometric]
L edge F3:blend:F2:side:l5|F2:top#[F2:side:l5,F2:top]|F3:blend:F2:side:l5|F2:top#[F3:blend:F2:side:l4|F2:side:l5,F3:blend:F2:side:l4|F2:top] [geometric]
L edge F3:blend:F2:side:l5|F2:top#[F2:side:l5,F2:top]|F3:blend:F2:side:l5|F2:top#[F3:blend:F2:side:l5|F2:side:l6,F3:blend:F2:side:l6|F2:top] [geometric]
L edge F3:blend:F2:side:l5|F2:top#[F3:blend:F2:side:l5|F2:side:l6,F3:blend:F2:side:l6|F2:top]|F3:blend:F2:side:l6|F2:top [geometric]
ref Fillet1 (3) edge 0 `F2:side:l5|F2:start` -> L edge F2:side:l5|F2:start
ref Fillet1 (3) edge 1 `F2:side:l5|F2:side:l6` -> L edge F2:side:l5|F2:side:l6
ref Fillet1 (3) edge 2 `F2:side:l5|F2:top` -> L edge F2:side:l5|F2:top
ref Fillet1 (3) edge 3 `F2:side:l4|F2:side:l5` -> L edge F2:side:l4|F2:side:l5
ref Fillet1 (3) edge 4 `F2:side:l4|F2:start` -> L edge F2:side:l4|F2:start
ref Fillet1 (3) edge 5 `F2:side:l4|F2:top` -> L edge F2:side:l4|F2:top
ref Fillet1 (3) edge 6 `F2:side:l3|F2:side:l4` -> L edge F2:side:l3|F2:side:l4
ref Fillet1 (3) edge 7 `F2:side:l3|F2:start` -> L edge F2:side:l3|F2:start
ref Fillet1 (3) edge 8 `F2:side:l3|F2:top` -> L edge F2:side:l3|F2:top
ref Fillet1 (3) edge 9 `F2:side:l2|F2:side:l3` -> L edge F2:side:l2|F2:side:l3
ref Fillet1 (3) edge 10 `F2:side:l2|F2:start` -> L edge F2:side:l2|F2:start
ref Fillet1 (3) edge 11 `F2:side:l2|F2:top` -> L edge F2:side:l2|F2:top
ref Fillet1 (3) edge 12 `F2:side:l1|F2:side:l2` -> L edge F2:side:l1|F2:side:l2
ref Fillet1 (3) edge 13 `F2:side:l1|F2:start` -> L edge F2:side:l1|F2:start
ref Fillet1 (3) edge 14 `F2:side:l1|F2:top` -> L edge F2:side:l1|F2:top
ref Fillet1 (3) edge 15 `F2:side:l1|F2:side:l6` -> L edge F2:side:l1|F2:side:l6
ref Fillet1 (3) edge 16 `F2:side:l6|F2:start` -> L edge F2:side:l6|F2:start
ref Fillet1 (3) edge 17 `F2:side:l6|F2:top` -> L edge F2:side:l6|F2:top
@@ -1,43 +0,0 @@
# oracle/32-boss-plate-fillets: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Part: 13 faces, 26 edges
Part face F2:side:l1
Part face F2:side:l2
Part face F2:side:l3
Part face F2:side:l4
Part face F2:start
Part face F2:top
Part face F4:side:c1#1
Part face F4:side:c1#2
Part face F4:top
Part face F5:blend:F2:top|F4:side:c1#1
Part face F5:blend:F2:top|F4:side:c1#2
Part face F6:blend:F4:side:c1#1|F4:top
Part face F6:blend:F4:side:c1#2|F4:top
Part edge F2:side:l1|F2:side:l2
Part edge F2:side:l1|F2:side:l4
Part edge F2:side:l1|F2:start
Part edge F2:side:l1|F2:top
Part edge F2:side:l2|F2:side:l3
Part edge F2:side:l2|F2:start
Part edge F2:side:l2|F2:top
Part edge F2:side:l3|F2:side:l4
Part edge F2:side:l3|F2:start
Part edge F2:side:l3|F2:top
Part edge F2:side:l4|F2:start
Part edge F2:side:l4|F2:top
Part edge F2:top|F5:blend:F2:top|F4:side:c1#1
Part edge F2:top|F5:blend:F2:top|F4:side:c1#2
Part edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Part edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Part edge F4:side:c1#1|F5:blend:F2:top|F4:side:c1#1
Part edge F4:side:c1#1|F6:blend:F4:side:c1#1|F4:top
Part edge F4:side:c1#2|F5:blend:F2:top|F4:side:c1#2
Part edge F4:side:c1#2|F6:blend:F4:side:c1#2|F4:top
Part edge F4:top|F6:blend:F4:side:c1#1|F4:top
Part edge F4:top|F6:blend:F4:side:c1#2|F4:top
Part edge F5:blend:F2:top|F4:side:c1#1|F5:blend:F2:top|F4:side:c1#2~1 [geometric]
Part edge F5:blend:F2:top|F4:side:c1#1|F5:blend:F2:top|F4:side:c1#2~2 [geometric]
Part edge F6:blend:F4:side:c1#1|F4:top|F6:blend:F4:side:c1#2|F4:top~1 [geometric]
Part edge F6:blend:F4:side:c1#1|F4:top|F6:blend:F4:side:c1#2|F4:top~2 [geometric]
ref BaseFillet (5) edge 0 `F2:top|F4:side:c1#1` -> Part edge F2:top|F4:side:c1#1
ref TopFillet (6) edge 0 `F4:side:c1#1|F4:side:c1#2~2` -> Part edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
@@ -1,46 +0,0 @@
# oracle/33-fillet-tangent-chain: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Slot: 14 faces, 28 edges
Slot face F2:side:a1
Slot face F2:side:a2
Slot face F2:side:l1
Slot face F2:side:l2
Slot face F2:start
Slot face F2:top
Slot face F3:blend:F2:side:a1|F2:top
Slot face F3:blend:F2:side:a2|F2:top
Slot face F3:blend:F2:side:l1|F2:top
Slot face F3:blend:F2:side:l2|F2:top
Slot face F4:blend:F2:side:a1|F2:start
Slot face F4:blend:F2:side:a2|F2:start
Slot face F4:blend:F2:side:l1|F2:start
Slot face F4:blend:F2:side:l2|F2:start
Slot edge F2:side:a1|F2:side:l1
Slot edge F2:side:a1|F2:side:l2
Slot edge F2:side:a1|F3:blend:F2:side:a1|F2:top
Slot edge F2:side:a1|F4:blend:F2:side:a1|F2:start
Slot edge F2:side:a2|F2:side:l1
Slot edge F2:side:a2|F2:side:l2
Slot edge F2:side:a2|F3:blend:F2:side:a2|F2:top
Slot edge F2:side:a2|F4:blend:F2:side:a2|F2:start
Slot edge F2:side:l1|F3:blend:F2:side:l1|F2:top
Slot edge F2:side:l1|F4:blend:F2:side:l1|F2:start
Slot edge F2:side:l2|F3:blend:F2:side:l2|F2:top
Slot edge F2:side:l2|F4:blend:F2:side:l2|F2:start
Slot edge F2:start|F4:blend:F2:side:a1|F2:start
Slot edge F2:start|F4:blend:F2:side:a2|F2:start
Slot edge F2:start|F4:blend:F2:side:l1|F2:start
Slot edge F2:start|F4:blend:F2:side:l2|F2:start
Slot edge F2:top|F3:blend:F2:side:a1|F2:top
Slot edge F2:top|F3:blend:F2:side:a2|F2:top
Slot edge F2:top|F3:blend:F2:side:l1|F2:top
Slot edge F2:top|F3:blend:F2:side:l2|F2:top
Slot edge F3:blend:F2:side:a1|F2:top|F3:blend:F2:side:l1|F2:top
Slot edge F3:blend:F2:side:a1|F2:top|F3:blend:F2:side:l2|F2:top
Slot edge F3:blend:F2:side:a2|F2:top|F3:blend:F2:side:l1|F2:top
Slot edge F3:blend:F2:side:a2|F2:top|F3:blend:F2:side:l2|F2:top
Slot edge F4:blend:F2:side:a1|F2:start|F4:blend:F2:side:l1|F2:start
Slot edge F4:blend:F2:side:a1|F2:start|F4:blend:F2:side:l2|F2:start
Slot edge F4:blend:F2:side:a2|F2:start|F4:blend:F2:side:l1|F2:start
Slot edge F4:blend:F2:side:a2|F2:start|F4:blend:F2:side:l2|F2:start
ref TopFillet (3) edge 0 `F2:side:l1|F2:top` -> Slot edge F2:side:l1|F2:top
ref BottomChamfer (4) edge 0 `F2:side:l1|F2:start` -> Slot edge F2:side:l1|F2:start
@@ -1,72 +0,0 @@
# oracle/34-chamfer-then-fillet: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 18 faces, 40 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box face F3:blend:F2:side:l1|F2:side:l2
Box face F3:blend:F2:side:l1|F2:side:l4
Box face F3:blend:F2:side:l2|F2:side:l3
Box face F3:blend:F2:side:l3|F2:side:l4
Box face F4:blend:F2:side:l1|F2:top
Box face F4:blend:F2:side:l2|F2:top
Box face F4:blend:F2:side:l3|F2:top
Box face F4:blend:F2:side:l4|F2:top
Box face F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box face F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box face F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box face F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Box edge F2:side:l1|F2:start
Box edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2
Box edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:side:l1|F4:blend:F2:side:l1|F2:top
Box edge F2:side:l2|F2:start
Box edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2
Box edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3
Box edge F2:side:l2|F4:blend:F2:side:l2|F2:top
Box edge F2:side:l3|F2:start
Box edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3
Box edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4
Box edge F2:side:l3|F4:blend:F2:side:l3|F2:top
Box edge F2:side:l4|F2:start
Box edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4
Box edge F2:side:l4|F4:blend:F2:side:l4|F2:top
Box edge F2:start|F3:blend:F2:side:l1|F2:side:l2
Box edge F2:start|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:start|F3:blend:F2:side:l2|F2:side:l3
Box edge F2:start|F3:blend:F2:side:l3|F2:side:l4
Box edge F2:top|F4:blend:F2:side:l1|F2:top
Box edge F2:top|F4:blend:F2:side:l2|F2:top
Box edge F2:top|F4:blend:F2:side:l3|F2:top
Box edge F2:top|F4:blend:F2:side:l4|F2:top
Box edge F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box edge F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:top|F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box edge F2:top|F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Box edge F3:blend:F2:side:l1|F2:side:l2|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box edge F3:blend:F2:side:l1|F2:side:l4|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box edge F3:blend:F2:side:l2|F2:side:l3|F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box edge F3:blend:F2:side:l3|F2:side:l4|F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Box edge F4:blend:F2:side:l1|F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box edge F4:blend:F2:side:l1|F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box edge F4:blend:F2:side:l2|F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box edge F4:blend:F2:side:l2|F2:top|F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box edge F4:blend:F2:side:l3|F2:top|F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box edge F4:blend:F2:side:l3|F2:top|F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Box edge F4:blend:F2:side:l4|F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box edge F4:blend:F2:side:l4|F2:top|F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
ref Chamfer1 (3) edge 0 `F2:side:l3|F2:side:l4` -> Box edge F2:side:l3|F2:side:l4
ref Chamfer1 (3) edge 1 `F2:side:l2|F2:side:l3` -> Box edge F2:side:l2|F2:side:l3
ref Chamfer1 (3) edge 2 `F2:side:l1|F2:side:l2` -> Box edge F2:side:l1|F2:side:l2
ref Chamfer1 (3) edge 3 `F2:side:l1|F2:side:l4` -> Box edge F2:side:l1|F2:side:l4
ref Fillet1 (4) edge 0 `F2:top|F3:blend:F2:side:l1|F2:side:l4` -> Box edge F2:top|F3:blend:F2:side:l1|F2:side:l4
ref Fillet1 (4) edge 1 `F2:side:l1|F2:top` -> Box edge F2:side:l1|F2:top
ref Fillet1 (4) edge 2 `F2:top|F3:blend:F2:side:l1|F2:side:l2` -> Box edge F2:top|F3:blend:F2:side:l1|F2:side:l2
ref Fillet1 (4) edge 3 `F2:side:l2|F2:top` -> Box edge F2:side:l2|F2:top
ref Fillet1 (4) edge 4 `F2:top|F3:blend:F2:side:l2|F2:side:l3` -> Box edge F2:top|F3:blend:F2:side:l2|F2:side:l3
ref Fillet1 (4) edge 5 `F2:side:l3|F2:top` -> Box edge F2:side:l3|F2:top
ref Fillet1 (4) edge 6 `F2:top|F3:blend:F2:side:l3|F2:side:l4` -> Box edge F2:top|F3:blend:F2:side:l3|F2:side:l4
ref Fillet1 (4) edge 7 `F2:side:l4|F2:top` -> Box edge F2:side:l4|F2:top
@@ -1,29 +0,0 @@
# oracle/35-fillet-curved-curved: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Tee: 9 faces, 17 edges
Tee face F2:bottom
Tee face F2:side:c1#1
Tee face F2:side:c1#2
Tee face F2:top
Tee face F4:side:c1#1
Tee face F4:side:c1#2
Tee face F4:top
Tee face F5:blend:F2:side:c1#1|F4:side:c1#1
Tee face F5:blend:F2:side:c1#2|F4:side:c1#2
Tee edge F2:bottom|F2:side:c1#1
Tee edge F2:bottom|F2:side:c1#2
Tee edge F2:side:c1#1|F2:side:c1#2~1 [geometric]
Tee edge F2:side:c1#1|F2:side:c1#2~2 [geometric]
Tee edge F2:side:c1#1|F2:side:c1#2~3 [geometric]
Tee edge F2:side:c1#1|F2:top
Tee edge F2:side:c1#1|F5:blend:F2:side:c1#1|F4:side:c1#1
Tee edge F2:side:c1#2|F2:top
Tee edge F2:side:c1#2|F5:blend:F2:side:c1#2|F4:side:c1#2
Tee edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Tee edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Tee edge F4:side:c1#1|F4:top
Tee edge F4:side:c1#1|F5:blend:F2:side:c1#1|F4:side:c1#1
Tee edge F4:side:c1#2|F4:top
Tee edge F4:side:c1#2|F5:blend:F2:side:c1#2|F4:side:c1#2
Tee edge F5:blend:F2:side:c1#1|F4:side:c1#1|F5:blend:F2:side:c1#2|F4:side:c1#2~1 [geometric]
Tee edge F5:blend:F2:side:c1#1|F4:side:c1#1|F5:blend:F2:side:c1#2|F4:side:c1#2~2 [geometric]
ref SaddleFillet (5) edge 0 `F2:side:c1#1|F4:side:c1#1` -> Tee edge F2:side:c1#1|F4:side:c1#1
@@ -1,65 +0,0 @@
# oracle/36-corner-blend-two-radii: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 18 faces, 40 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box face F3:blend:F2:side:l1|F2:side:l2
Box face F3:blend:F2:side:l1|F2:side:l4
Box face F3:blend:F2:side:l2|F2:side:l3
Box face F3:blend:F2:side:l3|F2:side:l4
Box face F4:blend:F2:side:l1|F2:top
Box face F4:blend:F2:side:l2|F2:top
Box face F4:blend:F2:side:l3|F2:top
Box face F4:blend:F2:side:l4|F2:top
Box face F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box face F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box face F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box face F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Box edge F2:side:l1|F2:start
Box edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2
Box edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:side:l1|F4:blend:F2:side:l1|F2:top
Box edge F2:side:l2|F2:start
Box edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2
Box edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3
Box edge F2:side:l2|F4:blend:F2:side:l2|F2:top
Box edge F2:side:l3|F2:start
Box edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3
Box edge F2:side:l3|F3:blend:F2:side:l3|F2:side:l4
Box edge F2:side:l3|F4:blend:F2:side:l3|F2:top
Box edge F2:side:l4|F2:start
Box edge F2:side:l4|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:side:l4|F3:blend:F2:side:l3|F2:side:l4
Box edge F2:side:l4|F4:blend:F2:side:l4|F2:top
Box edge F2:start|F3:blend:F2:side:l1|F2:side:l2
Box edge F2:start|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:start|F3:blend:F2:side:l2|F2:side:l3
Box edge F2:start|F3:blend:F2:side:l3|F2:side:l4
Box edge F2:top|F4:blend:F2:side:l1|F2:top
Box edge F2:top|F4:blend:F2:side:l2|F2:top
Box edge F2:top|F4:blend:F2:side:l3|F2:top
Box edge F2:top|F4:blend:F2:side:l4|F2:top
Box edge F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box edge F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box edge F2:top|F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box edge F2:top|F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Box edge F3:blend:F2:side:l1|F2:side:l2|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box edge F3:blend:F2:side:l1|F2:side:l4|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box edge F3:blend:F2:side:l2|F2:side:l3|F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box edge F3:blend:F2:side:l3|F2:side:l4|F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Box edge F4:blend:F2:side:l1|F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box edge F4:blend:F2:side:l1|F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box edge F4:blend:F2:side:l2|F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l2
Box edge F4:blend:F2:side:l2|F2:top|F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box edge F4:blend:F2:side:l3|F2:top|F4:blend:F2:top|F3:blend:F2:side:l2|F2:side:l3
Box edge F4:blend:F2:side:l3|F2:top|F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
Box edge F4:blend:F2:side:l4|F2:top|F4:blend:F2:top|F3:blend:F2:side:l1|F2:side:l4
Box edge F4:blend:F2:side:l4|F2:top|F4:blend:F2:top|F3:blend:F2:side:l3|F2:side:l4
ref VerticalFillet (3) edge 0 `F2:side:l3|F2:side:l4` -> Box edge F2:side:l3|F2:side:l4
ref VerticalFillet (3) edge 1 `F2:side:l2|F2:side:l3` -> Box edge F2:side:l2|F2:side:l3
ref VerticalFillet (3) edge 2 `F2:side:l1|F2:side:l2` -> Box edge F2:side:l1|F2:side:l2
ref VerticalFillet (3) edge 3 `F2:side:l1|F2:side:l4` -> Box edge F2:side:l1|F2:side:l4
ref TopFillet (4) edge 0 `F2:top|F3:blend:F2:side:l1|F2:side:l4` -> Box edge F2:top|F3:blend:F2:side:l1|F2:side:l4
@@ -1,60 +0,0 @@
# oracle/37-pyramid-apex-blend: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Pyramid: 18 faces, 32 edges
Pyramid face F4:side:l1
Pyramid face F4:side:l2
Pyramid face F4:side:l3
Pyramid face F4:side:l4
Pyramid face F4:start
Pyramid face F5:blend:F4:side:l1|F4:side:l2
Pyramid face F5:blend:F4:side:l1|F4:side:l4#[F4:side:l1,F4:side:l4,F5:blend:F4:side:l4|F4:start]
Pyramid face F5:blend:F4:side:l1|F4:side:l4#[F5:blend:F4:side:l1|F4:side:l2,F5:blend:F4:side:l2|F4:side:l3,F5:blend:F4:side:l3|F4:side:l4]
Pyramid face F5:blend:F4:side:l1|F4:start
Pyramid face F5:blend:F4:side:l2|F4:side:l3
Pyramid face F5:blend:F4:side:l2|F4:start#[F4:side:l2,F4:start,F5:blend:F4:side:l3|F4:start]
Pyramid face F5:blend:F4:side:l2|F4:start#[F5:blend:F4:side:l1|F4:side:l2,F5:blend:F4:side:l1|F4:start]
Pyramid face F5:blend:F4:side:l3|F4:side:l4
Pyramid face F5:blend:F4:side:l3|F4:start#[F4:side:l3,F4:start,F5:blend:F4:side:l4|F4:start]
Pyramid face F5:blend:F4:side:l3|F4:start#[F5:blend:F4:side:l2|F4:side:l3,F5:blend:F4:side:l2|F4:start]
Pyramid face F5:blend:F4:side:l4|F4:start#[F4:side:l4,F4:start]
Pyramid face F5:blend:F4:side:l4|F4:start#[F5:blend:F4:side:l1|F4:side:l4,F5:blend:F4:side:l1|F4:start]
Pyramid face F5:blend:F4:side:l4|F4:start#[F5:blend:F4:side:l3|F4:side:l4,F5:blend:F4:side:l3|F4:start]
Pyramid edge F4:side:l1|F5:blend:F4:side:l1|F4:side:l2
Pyramid edge F4:side:l1|F5:blend:F4:side:l1|F4:side:l4#[F4:side:l1,F4:side:l4,F5:blend:F4:side:l4|F4:start]
Pyramid edge F4:side:l1|F5:blend:F4:side:l1|F4:start
Pyramid edge F4:side:l2|F5:blend:F4:side:l1|F4:side:l2
Pyramid edge F4:side:l2|F5:blend:F4:side:l2|F4:side:l3
Pyramid edge F4:side:l2|F5:blend:F4:side:l2|F4:start#[F4:side:l2,F4:start,F5:blend:F4:side:l3|F4:start]
Pyramid edge F4:side:l3|F5:blend:F4:side:l2|F4:side:l3
Pyramid edge F4:side:l3|F5:blend:F4:side:l3|F4:side:l4
Pyramid edge F4:side:l3|F5:blend:F4:side:l3|F4:start#[F4:side:l3,F4:start,F5:blend:F4:side:l4|F4:start]
Pyramid edge F4:side:l4|F5:blend:F4:side:l1|F4:side:l4#[F4:side:l1,F4:side:l4,F5:blend:F4:side:l4|F4:start]
Pyramid edge F4:side:l4|F5:blend:F4:side:l3|F4:side:l4
Pyramid edge F4:side:l4|F5:blend:F4:side:l4|F4:start#[F4:side:l4,F4:start]
Pyramid edge F4:start|F5:blend:F4:side:l1|F4:start
Pyramid edge F4:start|F5:blend:F4:side:l2|F4:start#[F4:side:l2,F4:start,F5:blend:F4:side:l3|F4:start]
Pyramid edge F4:start|F5:blend:F4:side:l3|F4:start#[F4:side:l3,F4:start,F5:blend:F4:side:l4|F4:start]
Pyramid edge F4:start|F5:blend:F4:side:l4|F4:start#[F4:side:l4,F4:start]
Pyramid edge F5:blend:F4:side:l1|F4:side:l2|F5:blend:F4:side:l1|F4:side:l4#[F5:blend:F4:side:l1|F4:side:l2,F5:blend:F4:side:l2|F4:side:l3,F5:blend:F4:side:l3|F4:side:l4]
Pyramid edge F5:blend:F4:side:l1|F4:side:l2|F5:blend:F4:side:l2|F4:start#[F5:blend:F4:side:l1|F4:side:l2,F5:blend:F4:side:l1|F4:start]
Pyramid edge F5:blend:F4:side:l1|F4:side:l4#[F4:side:l1,F4:side:l4,F5:blend:F4:side:l4|F4:start]|F5:blend:F4:side:l1|F4:side:l4#[F5:blend:F4:side:l1|F4:side:l2,F5:blend:F4:side:l2|F4:side:l3,F5:blend:F4:side:l3|F4:side:l4]
Pyramid edge F5:blend:F4:side:l1|F4:side:l4#[F4:side:l1,F4:side:l4,F5:blend:F4:side:l4|F4:start]|F5:blend:F4:side:l4|F4:start#[F5:blend:F4:side:l1|F4:side:l4,F5:blend:F4:side:l1|F4:start]
Pyramid edge F5:blend:F4:side:l1|F4:side:l4#[F5:blend:F4:side:l1|F4:side:l2,F5:blend:F4:side:l2|F4:side:l3,F5:blend:F4:side:l3|F4:side:l4]|F5:blend:F4:side:l2|F4:side:l3
Pyramid edge F5:blend:F4:side:l1|F4:side:l4#[F5:blend:F4:side:l1|F4:side:l2,F5:blend:F4:side:l2|F4:side:l3,F5:blend:F4:side:l3|F4:side:l4]|F5:blend:F4:side:l3|F4:side:l4
Pyramid edge F5:blend:F4:side:l1|F4:start|F5:blend:F4:side:l2|F4:start#[F5:blend:F4:side:l1|F4:side:l2,F5:blend:F4:side:l1|F4:start]
Pyramid edge F5:blend:F4:side:l1|F4:start|F5:blend:F4:side:l4|F4:start#[F5:blend:F4:side:l1|F4:side:l4,F5:blend:F4:side:l1|F4:start]
Pyramid edge F5:blend:F4:side:l2|F4:side:l3|F5:blend:F4:side:l3|F4:start#[F5:blend:F4:side:l2|F4:side:l3,F5:blend:F4:side:l2|F4:start]
Pyramid edge F5:blend:F4:side:l2|F4:start#[F4:side:l2,F4:start,F5:blend:F4:side:l3|F4:start]|F5:blend:F4:side:l2|F4:start#[F5:blend:F4:side:l1|F4:side:l2,F5:blend:F4:side:l1|F4:start]
Pyramid edge F5:blend:F4:side:l2|F4:start#[F4:side:l2,F4:start,F5:blend:F4:side:l3|F4:start]|F5:blend:F4:side:l3|F4:start#[F5:blend:F4:side:l2|F4:side:l3,F5:blend:F4:side:l2|F4:start]
Pyramid edge F5:blend:F4:side:l3|F4:side:l4|F5:blend:F4:side:l4|F4:start#[F5:blend:F4:side:l3|F4:side:l4,F5:blend:F4:side:l3|F4:start]
Pyramid edge F5:blend:F4:side:l3|F4:start#[F4:side:l3,F4:start,F5:blend:F4:side:l4|F4:start]|F5:blend:F4:side:l3|F4:start#[F5:blend:F4:side:l2|F4:side:l3,F5:blend:F4:side:l2|F4:start]
Pyramid edge F5:blend:F4:side:l3|F4:start#[F4:side:l3,F4:start,F5:blend:F4:side:l4|F4:start]|F5:blend:F4:side:l4|F4:start#[F5:blend:F4:side:l3|F4:side:l4,F5:blend:F4:side:l3|F4:start]
Pyramid edge F5:blend:F4:side:l4|F4:start#[F4:side:l4,F4:start]|F5:blend:F4:side:l4|F4:start#[F5:blend:F4:side:l1|F4:side:l4,F5:blend:F4:side:l1|F4:start]
Pyramid edge F5:blend:F4:side:l4|F4:start#[F4:side:l4,F4:start]|F5:blend:F4:side:l4|F4:start#[F5:blend:F4:side:l3|F4:side:l4,F5:blend:F4:side:l3|F4:start]
ref Fillet1 (5) edge 0 `F4:side:l4|F4:start` -> Pyramid edge F4:side:l4|F4:start
ref Fillet1 (5) edge 1 `F4:side:l3|F4:start` -> Pyramid edge F4:side:l3|F4:start
ref Fillet1 (5) edge 2 `F4:side:l2|F4:start` -> Pyramid edge F4:side:l2|F4:start
ref Fillet1 (5) edge 3 `F4:side:l1|F4:start` -> Pyramid edge F4:side:l1|F4:start
ref Fillet1 (5) edge 4 `F4:side:l1|F4:side:l4` -> Pyramid edge F4:side:l1|F4:side:l4
ref Fillet1 (5) edge 5 `F4:side:l3|F4:side:l4` -> Pyramid edge F4:side:l3|F4:side:l4
ref Fillet1 (5) edge 6 `F4:side:l1|F4:side:l2` -> Pyramid edge F4:side:l1|F4:side:l2
ref Fillet1 (5) edge 7 `F4:side:l2|F4:side:l3` -> Pyramid edge F4:side:l2|F4:side:l3
@@ -1,12 +0,0 @@
# oracle/38-coincident-cylinders: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body A: 4 faces, 6 edges
A face F2:side:c1#1
A face F2:side:c1#2
A face F2:start
A face F5:top
A edge F2:side:c1#1|F2:side:c1#2~1 [geometric]
A edge F2:side:c1#1|F2:side:c1#2~2 [geometric]
A edge F2:side:c1#1|F2:start
A edge F2:side:c1#1|F5:top
A edge F2:side:c1#2|F2:start
A edge F2:side:c1#2|F5:top
-39
View File
@@ -1,39 +0,0 @@
# oracle/39-tee-pipe: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Tee: 11 faces, 26 edges
Tee face F2:bottom
Tee face F2:side:c1#1
Tee face F2:side:c1#2
Tee face F2:top
Tee face F4:side:c1#1
Tee face F4:side:c1#2
Tee face F4:top
Tee face F6:side:c1#1
Tee face F6:side:c1#2
Tee face F8:side:c1#1
Tee face F8:side:c1#2
Tee edge F2:bottom|F2:side:c1#1
Tee edge F2:bottom|F2:side:c1#2
Tee edge F2:bottom|F6:side:c1#1
Tee edge F2:bottom|F6:side:c1#2
Tee edge F2:side:c1#1|F2:side:c1#2~1 [geometric]
Tee edge F2:side:c1#1|F2:side:c1#2~2 [geometric]
Tee edge F2:side:c1#1|F2:side:c1#2~3 [geometric]
Tee edge F2:side:c1#1|F2:top
Tee edge F2:side:c1#1|F4:side:c1#1
Tee edge F2:side:c1#2|F2:top
Tee edge F2:side:c1#2|F4:side:c1#2
Tee edge F2:top|F6:side:c1#1
Tee edge F2:top|F6:side:c1#2
Tee edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Tee edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Tee edge F4:side:c1#1|F4:top
Tee edge F4:side:c1#2|F4:top
Tee edge F4:top|F8:side:c1#1
Tee edge F4:top|F8:side:c1#2
Tee edge F6:side:c1#1|F6:side:c1#2~1 [geometric]
Tee edge F6:side:c1#1|F6:side:c1#2~2 [geometric]
Tee edge F6:side:c1#1|F6:side:c1#2~3 [geometric]
Tee edge F6:side:c1#1|F8:side:c1#1
Tee edge F6:side:c1#2|F8:side:c1#2
Tee edge F8:side:c1#1|F8:side:c1#2~1 [geometric]
Tee edge F8:side:c1#1|F8:side:c1#2~2 [geometric]
@@ -1,62 +0,0 @@
# oracle/40-box-sphere-torus: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body A: 19 faces, 41 edges
A face F2:bottom
A face F2:side:l1
A face F2:side:l2
A face F2:side:l3
A face F2:side:l4
A face F2:start#[F2:side:l1,F2:side:l2,F2:side:l3,F2:side:l4]
A face F2:start#[F4:side:a1]
A face F4:side:a1#1
A face F4:side:a1#2
A face F4:side:a1#3
A face F4:side:a1#4
A face F4:side:a1#5
A face F4:side:a1#6
A face F7:side:c1#1
A face F7:side:c1#2
A face F7:side:c1#3
A face F7:side:c1#4
A face F7:side:c1#5
A face F7:side:c1#6
A edge F2:bottom|F2:side:l1
A edge F2:bottom|F2:side:l2
A edge F2:bottom|F2:side:l3
A edge F2:bottom|F2:side:l4
A edge F2:bottom|F4:side:a1#6~1 [geometric]
A edge F2:bottom|F4:side:a1#6~2 [geometric]
A edge F2:side:l1|F2:side:l2
A edge F2:side:l1|F2:side:l4
A edge F2:side:l1|F2:start#[F2:side:l1,F2:side:l2,F2:side:l3,F2:side:l4]
A edge F2:side:l2|F2:side:l3
A edge F2:side:l2|F2:start#[F2:side:l1,F2:side:l2,F2:side:l3,F2:side:l4]
A edge F2:side:l3|F2:side:l4
A edge F2:side:l3|F2:start#[F2:side:l1,F2:side:l2,F2:side:l3,F2:side:l4]
A edge F2:side:l4|F2:start#[F2:side:l1,F2:side:l2,F2:side:l3,F2:side:l4]
A edge F2:start#[F2:side:l1,F2:side:l2,F2:side:l3,F2:side:l4]|F7:side:c1#2
A edge F2:start#[F2:side:l1,F2:side:l2,F2:side:l3,F2:side:l4]|F7:side:c1#4
A edge F2:start#[F2:side:l1,F2:side:l2,F2:side:l3,F2:side:l4]|F7:side:c1#6
A edge F2:start#[F4:side:a1]|F4:side:a1#1
A edge F2:start#[F4:side:a1]|F4:side:a1#2
A edge F2:start#[F4:side:a1]|F4:side:a1#3
A edge F2:start#[F4:side:a1]|F4:side:a1#4
A edge F2:start#[F4:side:a1]|F7:side:c1#1
A edge F2:start#[F4:side:a1]|F7:side:c1#3
A edge F2:start#[F4:side:a1]|F7:side:c1#5
A edge F4:side:a1#1|F4:side:a1#3
A edge F4:side:a1#1|F4:side:a1#4
A edge F4:side:a1#1|F4:side:a1#5
A edge F4:side:a1#2|F4:side:a1#3
A edge F4:side:a1#2|F4:side:a1#4
A edge F4:side:a1#2|F4:side:a1#5
A edge F4:side:a1#3|F4:side:a1#5
A edge F4:side:a1#4|F4:side:a1#5
A edge F7:side:c1#1|F7:side:c1#2
A edge F7:side:c1#1|F7:side:c1#3
A edge F7:side:c1#1|F7:side:c1#5
A edge F7:side:c1#2|F7:side:c1#4
A edge F7:side:c1#2|F7:side:c1#6
A edge F7:side:c1#3|F7:side:c1#4
A edge F7:side:c1#3|F7:side:c1#5
A edge F7:side:c1#4|F7:side:c1#6
A edge F7:side:c1#5|F7:side:c1#6
@@ -1,164 +0,0 @@
# oracle/41-tube-radial-holes: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Tube: 42 faces, 120 edges
Tube face F2:side:c_in#1
Tube face F2:side:c_in#2
Tube face F2:side:c_out#1
Tube face F2:side:c_out#2
Tube face F2:start
Tube face F2:top
Tube face F4:side:c1#1 [geometric]
Tube face F4:side:c1#2 [geometric]
Tube face F4:side:c1#3 [geometric]
Tube face F4:side:c1#4 [geometric]
Tube face F4:side:c1@F5.1#1 [geometric]
Tube face F4:side:c1@F5.1#2 [geometric]
Tube face F4:side:c1@F5.1#3 [geometric]
Tube face F4:side:c1@F5.1#4 [geometric]
Tube face F4:side:c1@F5.2#1 [geometric]
Tube face F4:side:c1@F5.2#2 [geometric]
Tube face F4:side:c1@F5.2#3 [geometric]
Tube face F4:side:c1@F5.2#4 [geometric]
Tube face F4:side:c2#1 [geometric]
Tube face F4:side:c2#2 [geometric]
Tube face F4:side:c2#3 [geometric]
Tube face F4:side:c2#4 [geometric]
Tube face F4:side:c2@F5.1#1 [geometric]
Tube face F4:side:c2@F5.1#2 [geometric]
Tube face F4:side:c2@F5.1#3 [geometric]
Tube face F4:side:c2@F5.1#4 [geometric]
Tube face F4:side:c2@F5.2#1 [geometric]
Tube face F4:side:c2@F5.2#2 [geometric]
Tube face F4:side:c2@F5.2#3 [geometric]
Tube face F4:side:c2@F5.2#4 [geometric]
Tube face F4:side:c3#1 [geometric]
Tube face F4:side:c3#2 [geometric]
Tube face F4:side:c3#3 [geometric]
Tube face F4:side:c3#4 [geometric]
Tube face F4:side:c3@F5.1#1 [geometric]
Tube face F4:side:c3@F5.1#2 [geometric]
Tube face F4:side:c3@F5.1#3 [geometric]
Tube face F4:side:c3@F5.1#4 [geometric]
Tube face F4:side:c3@F5.2#1 [geometric]
Tube face F4:side:c3@F5.2#2 [geometric]
Tube face F4:side:c3@F5.2#3 [geometric]
Tube face F4:side:c3@F5.2#4 [geometric]
Tube edge F2:side:c_in#1|F2:side:c_in#2~1 [geometric]
Tube edge F2:side:c_in#1|F2:side:c_in#2~2 [geometric]
Tube edge F2:side:c_in#1|F2:start
Tube edge F2:side:c_in#1|F2:top
Tube edge F2:side:c_in#1|F4:side:c1#1 [geometric]
Tube edge F2:side:c_in#1|F4:side:c1#3 [geometric]
Tube edge F2:side:c_in#1|F4:side:c1@F5.1#1 [geometric]
Tube edge F2:side:c_in#1|F4:side:c1@F5.1#3 [geometric]
Tube edge F2:side:c_in#1|F4:side:c1@F5.2#2 [geometric]
Tube edge F2:side:c_in#1|F4:side:c1@F5.2#4 [geometric]
Tube edge F2:side:c_in#1|F4:side:c2#1 [geometric]
Tube edge F2:side:c_in#1|F4:side:c2#3 [geometric]
Tube edge F2:side:c_in#1|F4:side:c2@F5.1#1 [geometric]
Tube edge F2:side:c_in#1|F4:side:c2@F5.1#3 [geometric]
Tube edge F2:side:c_in#1|F4:side:c2@F5.2#1 [geometric]
Tube edge F2:side:c_in#1|F4:side:c2@F5.2#3 [geometric]
Tube edge F2:side:c_in#1|F4:side:c3#1 [geometric]
Tube edge F2:side:c_in#1|F4:side:c3#3 [geometric]
Tube edge F2:side:c_in#1|F4:side:c3@F5.1#1 [geometric]
Tube edge F2:side:c_in#1|F4:side:c3@F5.1#4 [geometric]
Tube edge F2:side:c_in#1|F4:side:c3@F5.2#1 [geometric]
Tube edge F2:side:c_in#1|F4:side:c3@F5.2#4 [geometric]
Tube edge F2:side:c_in#2|F2:start
Tube edge F2:side:c_in#2|F2:top
Tube edge F2:side:c_in#2|F4:side:c1#2 [geometric]
Tube edge F2:side:c_in#2|F4:side:c1#4 [geometric]
Tube edge F2:side:c_in#2|F4:side:c1@F5.1#2 [geometric]
Tube edge F2:side:c_in#2|F4:side:c1@F5.1#4 [geometric]
Tube edge F2:side:c_in#2|F4:side:c1@F5.2#1 [geometric]
Tube edge F2:side:c_in#2|F4:side:c1@F5.2#3 [geometric]
Tube edge F2:side:c_in#2|F4:side:c2#2 [geometric]
Tube edge F2:side:c_in#2|F4:side:c2#4 [geometric]
Tube edge F2:side:c_in#2|F4:side:c2@F5.1#2 [geometric]
Tube edge F2:side:c_in#2|F4:side:c2@F5.1#4 [geometric]
Tube edge F2:side:c_in#2|F4:side:c2@F5.2#2 [geometric]
Tube edge F2:side:c_in#2|F4:side:c2@F5.2#4 [geometric]
Tube edge F2:side:c_in#2|F4:side:c3#2 [geometric]
Tube edge F2:side:c_in#2|F4:side:c3#4 [geometric]
Tube edge F2:side:c_in#2|F4:side:c3@F5.1#2 [geometric]
Tube edge F2:side:c_in#2|F4:side:c3@F5.1#3 [geometric]
Tube edge F2:side:c_in#2|F4:side:c3@F5.2#2 [geometric]
Tube edge F2:side:c_in#2|F4:side:c3@F5.2#3 [geometric]
Tube edge F2:side:c_out#1|F2:side:c_out#2~1 [geometric]
Tube edge F2:side:c_out#1|F2:side:c_out#2~2 [geometric]
Tube edge F2:side:c_out#1|F2:start
Tube edge F2:side:c_out#1|F2:top
Tube edge F2:side:c_out#1|F4:side:c1#2 [geometric]
Tube edge F2:side:c_out#1|F4:side:c1#4 [geometric]
Tube edge F2:side:c_out#1|F4:side:c1@F5.1#2 [geometric]
Tube edge F2:side:c_out#1|F4:side:c1@F5.1#4 [geometric]
Tube edge F2:side:c_out#1|F4:side:c1@F5.2#1 [geometric]
Tube edge F2:side:c_out#1|F4:side:c1@F5.2#3 [geometric]
Tube edge F2:side:c_out#1|F4:side:c2#2 [geometric]
Tube edge F2:side:c_out#1|F4:side:c2#4 [geometric]
Tube edge F2:side:c_out#1|F4:side:c2@F5.1#2 [geometric]
Tube edge F2:side:c_out#1|F4:side:c2@F5.1#4 [geometric]
Tube edge F2:side:c_out#1|F4:side:c2@F5.2#2 [geometric]
Tube edge F2:side:c_out#1|F4:side:c2@F5.2#4 [geometric]
Tube edge F2:side:c_out#1|F4:side:c3#2 [geometric]
Tube edge F2:side:c_out#1|F4:side:c3#4 [geometric]
Tube edge F2:side:c_out#1|F4:side:c3@F5.1#2 [geometric]
Tube edge F2:side:c_out#1|F4:side:c3@F5.1#3 [geometric]
Tube edge F2:side:c_out#1|F4:side:c3@F5.2#2 [geometric]
Tube edge F2:side:c_out#1|F4:side:c3@F5.2#3 [geometric]
Tube edge F2:side:c_out#2|F2:start
Tube edge F2:side:c_out#2|F2:top
Tube edge F2:side:c_out#2|F4:side:c1#1 [geometric]
Tube edge F2:side:c_out#2|F4:side:c1#3 [geometric]
Tube edge F2:side:c_out#2|F4:side:c1@F5.1#1 [geometric]
Tube edge F2:side:c_out#2|F4:side:c1@F5.1#3 [geometric]
Tube edge F2:side:c_out#2|F4:side:c1@F5.2#2 [geometric]
Tube edge F2:side:c_out#2|F4:side:c1@F5.2#4 [geometric]
Tube edge F2:side:c_out#2|F4:side:c2#1 [geometric]
Tube edge F2:side:c_out#2|F4:side:c2#3 [geometric]
Tube edge F2:side:c_out#2|F4:side:c2@F5.1#1 [geometric]
Tube edge F2:side:c_out#2|F4:side:c2@F5.1#3 [geometric]
Tube edge F2:side:c_out#2|F4:side:c2@F5.2#1 [geometric]
Tube edge F2:side:c_out#2|F4:side:c2@F5.2#3 [geometric]
Tube edge F2:side:c_out#2|F4:side:c3#1 [geometric]
Tube edge F2:side:c_out#2|F4:side:c3#3 [geometric]
Tube edge F2:side:c_out#2|F4:side:c3@F5.1#1 [geometric]
Tube edge F2:side:c_out#2|F4:side:c3@F5.1#4 [geometric]
Tube edge F2:side:c_out#2|F4:side:c3@F5.2#1 [geometric]
Tube edge F2:side:c_out#2|F4:side:c3@F5.2#4 [geometric]
Tube edge F4:side:c1#1|F4:side:c1#3~1 [geometric]
Tube edge F4:side:c1#1|F4:side:c1#3~2 [geometric]
Tube edge F4:side:c1#2|F4:side:c1#4~1 [geometric]
Tube edge F4:side:c1#2|F4:side:c1#4~2 [geometric]
Tube edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#3~1 [geometric]
Tube edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#3~2 [geometric]
Tube edge F4:side:c1@F5.1#2|F4:side:c1@F5.1#4~1 [geometric]
Tube edge F4:side:c1@F5.1#2|F4:side:c1@F5.1#4~2 [geometric]
Tube edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#3~1 [geometric]
Tube edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#3~2 [geometric]
Tube edge F4:side:c1@F5.2#2|F4:side:c1@F5.2#4~1 [geometric]
Tube edge F4:side:c1@F5.2#2|F4:side:c1@F5.2#4~2 [geometric]
Tube edge F4:side:c2#1|F4:side:c2#3~1 [geometric]
Tube edge F4:side:c2#1|F4:side:c2#3~2 [geometric]
Tube edge F4:side:c2#2|F4:side:c2#4~1 [geometric]
Tube edge F4:side:c2#2|F4:side:c2#4~2 [geometric]
Tube edge F4:side:c2@F5.1#1|F4:side:c2@F5.1#3~1 [geometric]
Tube edge F4:side:c2@F5.1#1|F4:side:c2@F5.1#3~2 [geometric]
Tube edge F4:side:c2@F5.1#2|F4:side:c2@F5.1#4~1 [geometric]
Tube edge F4:side:c2@F5.1#2|F4:side:c2@F5.1#4~2 [geometric]
Tube edge F4:side:c2@F5.2#1|F4:side:c2@F5.2#3~1 [geometric]
Tube edge F4:side:c2@F5.2#1|F4:side:c2@F5.2#3~2 [geometric]
Tube edge F4:side:c2@F5.2#2|F4:side:c2@F5.2#4~1 [geometric]
Tube edge F4:side:c2@F5.2#2|F4:side:c2@F5.2#4~2 [geometric]
Tube edge F4:side:c3#1|F4:side:c3#3~1 [geometric]
Tube edge F4:side:c3#1|F4:side:c3#3~2 [geometric]
Tube edge F4:side:c3#2|F4:side:c3#4~1 [geometric]
Tube edge F4:side:c3#2|F4:side:c3#4~2 [geometric]
Tube edge F4:side:c3@F5.1#1|F4:side:c3@F5.1#4~1 [geometric]
Tube edge F4:side:c3@F5.1#1|F4:side:c3@F5.1#4~2 [geometric]
Tube edge F4:side:c3@F5.1#2|F4:side:c3@F5.1#3~1 [geometric]
Tube edge F4:side:c3@F5.1#2|F4:side:c3@F5.1#3~2 [geometric]
Tube edge F4:side:c3@F5.2#1|F4:side:c3@F5.2#4~1 [geometric]
Tube edge F4:side:c3@F5.2#1|F4:side:c3@F5.2#4~2 [geometric]
Tube edge F4:side:c3@F5.2#2|F4:side:c3@F5.2#3~1 [geometric]
Tube edge F4:side:c3@F5.2#2|F4:side:c3@F5.2#3~2 [geometric]
@@ -1,300 +0,0 @@
# oracle/42-overlapping-patterns: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Plate: 76 faces, 222 edges
Plate face F2:side:l1
Plate face F2:side:l2
Plate face F2:side:l3
Plate face F2:side:l4
Plate face F2:start
Plate face F2:top
Plate face F4:side:c1#1
Plate face F4:side:c1#2
Plate face F4:side:c1@F5.1#1
Plate face F4:side:c1@F5.1#2
Plate face F4:side:c1@F5.10#1#1 [geometric]
Plate face F4:side:c1@F5.10#1#2 [geometric]
Plate face F4:side:c1@F5.10#2
Plate face F4:side:c1@F5.11#1
Plate face F4:side:c1@F5.11#2#1 [geometric]
Plate face F4:side:c1@F5.11#2#2 [geometric]
Plate face F4:side:c1@F5.12#1
Plate face F4:side:c1@F5.12#2
Plate face F4:side:c1@F5.13#1#1 [geometric]
Plate face F4:side:c1@F5.13#1#2 [geometric]
Plate face F4:side:c1@F5.13#2
Plate face F4:side:c1@F5.14#1
Plate face F4:side:c1@F5.14#2#1 [geometric]
Plate face F4:side:c1@F5.14#2#2 [geometric]
Plate face F4:side:c1@F5.15#1
Plate face F4:side:c1@F5.15#2
Plate face F4:side:c1@F5.16#1
Plate face F4:side:c1@F5.16#2
Plate face F4:side:c1@F5.17#1
Plate face F4:side:c1@F5.17#2
Plate face F4:side:c1@F5.18#1
Plate face F4:side:c1@F5.18#2
Plate face F4:side:c1@F5.19#1
Plate face F4:side:c1@F5.19#2
Plate face F4:side:c1@F5.2#1
Plate face F4:side:c1@F5.2#2
Plate face F4:side:c1@F5.20#1
Plate face F4:side:c1@F5.20#2
Plate face F4:side:c1@F5.21#1
Plate face F4:side:c1@F5.21#2
Plate face F4:side:c1@F5.22#1
Plate face F4:side:c1@F5.22#2
Plate face F4:side:c1@F5.23#1
Plate face F4:side:c1@F5.23#2
Plate face F4:side:c1@F5.24#1
Plate face F4:side:c1@F5.24#2
Plate face F4:side:c1@F5.3#1
Plate face F4:side:c1@F5.3#2
Plate face F4:side:c1@F5.4#1
Plate face F4:side:c1@F5.4#2
Plate face F4:side:c1@F5.5#1
Plate face F4:side:c1@F5.5#2
Plate face F4:side:c1@F5.6#1
Plate face F4:side:c1@F5.6#2
Plate face F4:side:c1@F5.7#1
Plate face F4:side:c1@F5.7#2
Plate face F4:side:c1@F5.8#1
Plate face F4:side:c1@F5.8#2
Plate face F4:side:c1@F5.9#1
Plate face F4:side:c1@F5.9#2
Plate face F7:side:c1#1
Plate face F7:side:c1#2
Plate face F7:side:c1@F8.1#1
Plate face F7:side:c1@F8.1#2
Plate face F7:side:c1@F8.2#1
Plate face F7:side:c1@F8.2#2
Plate face F7:side:c1@F8.3#1
Plate face F7:side:c1@F8.3#2
Plate face F7:side:c1@F8.4#1
Plate face F7:side:c1@F8.4#2
Plate face F7:side:c1@F8.5#1
Plate face F7:side:c1@F8.5#2
Plate face F7:side:c1@F8.6#1
Plate face F7:side:c1@F8.6#2
Plate face F7:side:c1@F8.7#1
Plate face F7:side:c1@F8.7#2
Plate edge F2:side:l1|F2:side:l2
Plate edge F2:side:l1|F2:side:l4
Plate edge F2:side:l1|F2:start
Plate edge F2:side:l1|F2:top
Plate edge F2:side:l2|F2:side:l3
Plate edge F2:side:l2|F2:start
Plate edge F2:side:l2|F2:top
Plate edge F2:side:l3|F2:side:l4
Plate edge F2:side:l3|F2:start
Plate edge F2:side:l3|F2:top
Plate edge F2:side:l4|F2:start
Plate edge F2:side:l4|F2:top
Plate edge F2:start|F4:side:c1#1
Plate edge F2:start|F4:side:c1#2
Plate edge F2:start|F4:side:c1@F5.1#1
Plate edge F2:start|F4:side:c1@F5.1#2
Plate edge F2:start|F4:side:c1@F5.10#1#1 [geometric]
Plate edge F2:start|F4:side:c1@F5.10#1#2 [geometric]
Plate edge F2:start|F4:side:c1@F5.10#2
Plate edge F2:start|F4:side:c1@F5.11#1
Plate edge F2:start|F4:side:c1@F5.11#2#1 [geometric]
Plate edge F2:start|F4:side:c1@F5.11#2#2 [geometric]
Plate edge F2:start|F4:side:c1@F5.12#1
Plate edge F2:start|F4:side:c1@F5.12#2
Plate edge F2:start|F4:side:c1@F5.13#1#1 [geometric]
Plate edge F2:start|F4:side:c1@F5.13#1#2 [geometric]
Plate edge F2:start|F4:side:c1@F5.13#2
Plate edge F2:start|F4:side:c1@F5.14#1
Plate edge F2:start|F4:side:c1@F5.14#2#1 [geometric]
Plate edge F2:start|F4:side:c1@F5.14#2#2 [geometric]
Plate edge F2:start|F4:side:c1@F5.15#1
Plate edge F2:start|F4:side:c1@F5.15#2
Plate edge F2:start|F4:side:c1@F5.16#1
Plate edge F2:start|F4:side:c1@F5.16#2
Plate edge F2:start|F4:side:c1@F5.17#1
Plate edge F2:start|F4:side:c1@F5.17#2
Plate edge F2:start|F4:side:c1@F5.18#1
Plate edge F2:start|F4:side:c1@F5.18#2
Plate edge F2:start|F4:side:c1@F5.19#1
Plate edge F2:start|F4:side:c1@F5.19#2
Plate edge F2:start|F4:side:c1@F5.2#1
Plate edge F2:start|F4:side:c1@F5.2#2
Plate edge F2:start|F4:side:c1@F5.20#1
Plate edge F2:start|F4:side:c1@F5.20#2
Plate edge F2:start|F4:side:c1@F5.21#1
Plate edge F2:start|F4:side:c1@F5.21#2
Plate edge F2:start|F4:side:c1@F5.22#1
Plate edge F2:start|F4:side:c1@F5.22#2
Plate edge F2:start|F4:side:c1@F5.23#1
Plate edge F2:start|F4:side:c1@F5.23#2
Plate edge F2:start|F4:side:c1@F5.24#1
Plate edge F2:start|F4:side:c1@F5.24#2
Plate edge F2:start|F4:side:c1@F5.3#1
Plate edge F2:start|F4:side:c1@F5.3#2
Plate edge F2:start|F4:side:c1@F5.4#1
Plate edge F2:start|F4:side:c1@F5.4#2
Plate edge F2:start|F4:side:c1@F5.5#1
Plate edge F2:start|F4:side:c1@F5.5#2
Plate edge F2:start|F4:side:c1@F5.6#1
Plate edge F2:start|F4:side:c1@F5.6#2
Plate edge F2:start|F4:side:c1@F5.7#1
Plate edge F2:start|F4:side:c1@F5.7#2
Plate edge F2:start|F4:side:c1@F5.8#1
Plate edge F2:start|F4:side:c1@F5.8#2
Plate edge F2:start|F4:side:c1@F5.9#1
Plate edge F2:start|F4:side:c1@F5.9#2
Plate edge F2:start|F7:side:c1#1
Plate edge F2:start|F7:side:c1#2
Plate edge F2:start|F7:side:c1@F8.1#1
Plate edge F2:start|F7:side:c1@F8.1#2
Plate edge F2:start|F7:side:c1@F8.2#1
Plate edge F2:start|F7:side:c1@F8.2#2
Plate edge F2:start|F7:side:c1@F8.3#1
Plate edge F2:start|F7:side:c1@F8.3#2
Plate edge F2:start|F7:side:c1@F8.4#1
Plate edge F2:start|F7:side:c1@F8.4#2
Plate edge F2:start|F7:side:c1@F8.5#1
Plate edge F2:start|F7:side:c1@F8.5#2
Plate edge F2:start|F7:side:c1@F8.6#1
Plate edge F2:start|F7:side:c1@F8.6#2
Plate edge F2:start|F7:side:c1@F8.7#1
Plate edge F2:start|F7:side:c1@F8.7#2
Plate edge F2:top|F4:side:c1#1
Plate edge F2:top|F4:side:c1#2
Plate edge F2:top|F4:side:c1@F5.1#1
Plate edge F2:top|F4:side:c1@F5.1#2
Plate edge F2:top|F4:side:c1@F5.10#1#1 [geometric]
Plate edge F2:top|F4:side:c1@F5.10#1#2 [geometric]
Plate edge F2:top|F4:side:c1@F5.10#2
Plate edge F2:top|F4:side:c1@F5.11#1
Plate edge F2:top|F4:side:c1@F5.11#2#1 [geometric]
Plate edge F2:top|F4:side:c1@F5.11#2#2 [geometric]
Plate edge F2:top|F4:side:c1@F5.12#1
Plate edge F2:top|F4:side:c1@F5.12#2
Plate edge F2:top|F4:side:c1@F5.13#1#1 [geometric]
Plate edge F2:top|F4:side:c1@F5.13#1#2 [geometric]
Plate edge F2:top|F4:side:c1@F5.13#2
Plate edge F2:top|F4:side:c1@F5.14#1
Plate edge F2:top|F4:side:c1@F5.14#2#1 [geometric]
Plate edge F2:top|F4:side:c1@F5.14#2#2 [geometric]
Plate edge F2:top|F4:side:c1@F5.15#1
Plate edge F2:top|F4:side:c1@F5.15#2
Plate edge F2:top|F4:side:c1@F5.16#1
Plate edge F2:top|F4:side:c1@F5.16#2
Plate edge F2:top|F4:side:c1@F5.17#1
Plate edge F2:top|F4:side:c1@F5.17#2
Plate edge F2:top|F4:side:c1@F5.18#1
Plate edge F2:top|F4:side:c1@F5.18#2
Plate edge F2:top|F4:side:c1@F5.19#1
Plate edge F2:top|F4:side:c1@F5.19#2
Plate edge F2:top|F4:side:c1@F5.2#1
Plate edge F2:top|F4:side:c1@F5.2#2
Plate edge F2:top|F4:side:c1@F5.20#1
Plate edge F2:top|F4:side:c1@F5.20#2
Plate edge F2:top|F4:side:c1@F5.21#1
Plate edge F2:top|F4:side:c1@F5.21#2
Plate edge F2:top|F4:side:c1@F5.22#1
Plate edge F2:top|F4:side:c1@F5.22#2
Plate edge F2:top|F4:side:c1@F5.23#1
Plate edge F2:top|F4:side:c1@F5.23#2
Plate edge F2:top|F4:side:c1@F5.24#1
Plate edge F2:top|F4:side:c1@F5.24#2
Plate edge F2:top|F4:side:c1@F5.3#1
Plate edge F2:top|F4:side:c1@F5.3#2
Plate edge F2:top|F4:side:c1@F5.4#1
Plate edge F2:top|F4:side:c1@F5.4#2
Plate edge F2:top|F4:side:c1@F5.5#1
Plate edge F2:top|F4:side:c1@F5.5#2
Plate edge F2:top|F4:side:c1@F5.6#1
Plate edge F2:top|F4:side:c1@F5.6#2
Plate edge F2:top|F4:side:c1@F5.7#1
Plate edge F2:top|F4:side:c1@F5.7#2
Plate edge F2:top|F4:side:c1@F5.8#1
Plate edge F2:top|F4:side:c1@F5.8#2
Plate edge F2:top|F4:side:c1@F5.9#1
Plate edge F2:top|F4:side:c1@F5.9#2
Plate edge F2:top|F7:side:c1#1
Plate edge F2:top|F7:side:c1#2
Plate edge F2:top|F7:side:c1@F8.1#1
Plate edge F2:top|F7:side:c1@F8.1#2
Plate edge F2:top|F7:side:c1@F8.2#1
Plate edge F2:top|F7:side:c1@F8.2#2
Plate edge F2:top|F7:side:c1@F8.3#1
Plate edge F2:top|F7:side:c1@F8.3#2
Plate edge F2:top|F7:side:c1@F8.4#1
Plate edge F2:top|F7:side:c1@F8.4#2
Plate edge F2:top|F7:side:c1@F8.5#1
Plate edge F2:top|F7:side:c1@F8.5#2
Plate edge F2:top|F7:side:c1@F8.6#1
Plate edge F2:top|F7:side:c1@F8.6#2
Plate edge F2:top|F7:side:c1@F8.7#1
Plate edge F2:top|F7:side:c1@F8.7#2
Plate edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Plate edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Plate edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~1 [geometric]
Plate edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~2 [geometric]
Plate edge F4:side:c1@F5.10#1#1|F4:side:c1@F5.10#2 [geometric]
Plate edge F4:side:c1@F5.10#1#1|F7:side:c1@F8.6#1 [geometric]
Plate edge F4:side:c1@F5.10#1#2|F4:side:c1@F5.10#2 [geometric]
Plate edge F4:side:c1@F5.10#1#2|F7:side:c1@F8.6#2 [geometric]
Plate edge F4:side:c1@F5.11#1|F4:side:c1@F5.11#2#1 [geometric]
Plate edge F4:side:c1@F5.11#1|F4:side:c1@F5.11#2#2 [geometric]
Plate edge F4:side:c1@F5.11#2#1|F4:side:c1@F5.11#2#2 [geometric]
Plate edge F4:side:c1@F5.12#1|F4:side:c1@F5.12#2~1 [geometric]
Plate edge F4:side:c1@F5.12#1|F4:side:c1@F5.12#2~2 [geometric]
Plate edge F4:side:c1@F5.13#1#1|F4:side:c1@F5.13#1#2 [geometric]
Plate edge F4:side:c1@F5.13#1#1|F4:side:c1@F5.13#2 [geometric]
Plate edge F4:side:c1@F5.13#1#2|F4:side:c1@F5.13#2 [geometric]
Plate edge F4:side:c1@F5.14#1|F4:side:c1@F5.14#2#1 [geometric]
Plate edge F4:side:c1@F5.14#1|F4:side:c1@F5.14#2#2 [geometric]
Plate edge F4:side:c1@F5.14#2#1|F7:side:c1@F8.2#1 [geometric]
Plate edge F4:side:c1@F5.14#2#2|F7:side:c1@F8.2#2 [geometric]
Plate edge F4:side:c1@F5.15#1|F4:side:c1@F5.15#2~1 [geometric]
Plate edge F4:side:c1@F5.15#1|F4:side:c1@F5.15#2~2 [geometric]
Plate edge F4:side:c1@F5.16#1|F4:side:c1@F5.16#2
Plate edge F4:side:c1@F5.16#1|F7:side:c1@F8.7#1
Plate edge F4:side:c1@F5.16#2|F7:side:c1@F8.7#2
Plate edge F4:side:c1@F5.17#1|F4:side:c1@F5.17#2~1 [geometric]
Plate edge F4:side:c1@F5.17#1|F4:side:c1@F5.17#2~2 [geometric]
Plate edge F4:side:c1@F5.18#1|F4:side:c1@F5.18#2
Plate edge F4:side:c1@F5.18#1|F7:side:c1@F8.1#1
Plate edge F4:side:c1@F5.18#2|F7:side:c1@F8.1#2
Plate edge F4:side:c1@F5.19#1|F4:side:c1@F5.19#2~1 [geometric]
Plate edge F4:side:c1@F5.19#1|F4:side:c1@F5.19#2~2 [geometric]
Plate edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#2
Plate edge F4:side:c1@F5.2#1|F7:side:c1@F8.4#2
Plate edge F4:side:c1@F5.2#2|F7:side:c1@F8.4#1
Plate edge F4:side:c1@F5.20#1|F4:side:c1@F5.20#2~1 [geometric]
Plate edge F4:side:c1@F5.20#1|F4:side:c1@F5.20#2~2 [geometric]
Plate edge F4:side:c1@F5.21#1|F4:side:c1@F5.21#2~1 [geometric]
Plate edge F4:side:c1@F5.21#1|F4:side:c1@F5.21#2~2 [geometric]
Plate edge F4:side:c1@F5.22#1|F4:side:c1@F5.22#2
Plate edge F4:side:c1@F5.22#1|F7:side:c1#1
Plate edge F4:side:c1@F5.22#2|F7:side:c1#2
Plate edge F4:side:c1@F5.23#1|F4:side:c1@F5.23#2~1 [geometric]
Plate edge F4:side:c1@F5.23#1|F4:side:c1@F5.23#2~2 [geometric]
Plate edge F4:side:c1@F5.24#1|F4:side:c1@F5.24#2~1 [geometric]
Plate edge F4:side:c1@F5.24#1|F4:side:c1@F5.24#2~2 [geometric]
Plate edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~1 [geometric]
Plate edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~2 [geometric]
Plate edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~1 [geometric]
Plate edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~2 [geometric]
Plate edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~1 [geometric]
Plate edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~2 [geometric]
Plate edge F4:side:c1@F5.6#1|F4:side:c1@F5.6#2
Plate edge F4:side:c1@F5.6#1|F7:side:c1@F8.5#2
Plate edge F4:side:c1@F5.6#2|F7:side:c1@F8.5#1
Plate edge F4:side:c1@F5.7#1|F4:side:c1@F5.7#2~1 [geometric]
Plate edge F4:side:c1@F5.7#1|F4:side:c1@F5.7#2~2 [geometric]
Plate edge F4:side:c1@F5.8#1|F4:side:c1@F5.8#2
Plate edge F4:side:c1@F5.8#1|F7:side:c1@F8.3#2
Plate edge F4:side:c1@F5.8#2|F7:side:c1@F8.3#1
Plate edge F4:side:c1@F5.9#1|F4:side:c1@F5.9#2~1 [geometric]
Plate edge F4:side:c1@F5.9#1|F4:side:c1@F5.9#2~2 [geometric]
Plate edge F7:side:c1#1|F7:side:c1#2
Plate edge F7:side:c1@F8.1#1|F7:side:c1@F8.1#2
Plate edge F7:side:c1@F8.2#1|F7:side:c1@F8.2#2
Plate edge F7:side:c1@F8.3#1|F7:side:c1@F8.3#2
Plate edge F7:side:c1@F8.4#1|F7:side:c1@F8.4#2
Plate edge F7:side:c1@F8.5#1|F7:side:c1@F8.5#2
Plate edge F7:side:c1@F8.6#1|F7:side:c1@F8.6#2
Plate edge F7:side:c1@F8.7#1|F7:side:c1@F8.7#2
@@ -1,39 +0,0 @@
# oracle/43-cut-splits-body: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Bar: 6 faces, 12 edges
Bar face F2:side:l1#[F2:side:l2,F4:side:l2]
Bar face F2:side:l2
Bar face F2:side:l3#[F2:side:l2,F4:side:l2]
Bar face F2:start#[F2:side:l2,F4:side:l2]
Bar face F2:top#[F2:side:l2,F4:side:l2]
Bar face F4:side:l2
Bar edge F2:side:l1#[F2:side:l2,F4:side:l2]|F2:side:l2
Bar edge F2:side:l1#[F2:side:l2,F4:side:l2]|F2:start#[F2:side:l2,F4:side:l2]
Bar edge F2:side:l1#[F2:side:l2,F4:side:l2]|F2:top#[F2:side:l2,F4:side:l2]
Bar edge F2:side:l1#[F2:side:l2,F4:side:l2]|F4:side:l2
Bar edge F2:side:l2|F2:side:l3#[F2:side:l2,F4:side:l2]
Bar edge F2:side:l2|F2:start#[F2:side:l2,F4:side:l2]
Bar edge F2:side:l2|F2:top#[F2:side:l2,F4:side:l2]
Bar edge F2:side:l3#[F2:side:l2,F4:side:l2]|F2:start#[F2:side:l2,F4:side:l2]
Bar edge F2:side:l3#[F2:side:l2,F4:side:l2]|F2:top#[F2:side:l2,F4:side:l2]
Bar edge F2:side:l3#[F2:side:l2,F4:side:l2]|F4:side:l2
Bar edge F2:start#[F2:side:l2,F4:side:l2]|F4:side:l2
Bar edge F2:top#[F2:side:l2,F4:side:l2]|F4:side:l2
body Bar (1): 6 faces, 12 edges
Bar (1) face F2:side:l1#[F2:side:l4,F4:side:l4]
Bar (1) face F2:side:l3#[F2:side:l4,F4:side:l4]
Bar (1) face F2:side:l4
Bar (1) face F2:start#[F2:side:l4,F4:side:l4]
Bar (1) face F2:top#[F2:side:l4,F4:side:l4]
Bar (1) face F4:side:l4
Bar (1) edge F2:side:l1#[F2:side:l4,F4:side:l4]|F2:side:l4
Bar (1) edge F2:side:l1#[F2:side:l4,F4:side:l4]|F2:start#[F2:side:l4,F4:side:l4]
Bar (1) edge F2:side:l1#[F2:side:l4,F4:side:l4]|F2:top#[F2:side:l4,F4:side:l4]
Bar (1) edge F2:side:l1#[F2:side:l4,F4:side:l4]|F4:side:l4
Bar (1) edge F2:side:l3#[F2:side:l4,F4:side:l4]|F2:side:l4
Bar (1) edge F2:side:l3#[F2:side:l4,F4:side:l4]|F2:start#[F2:side:l4,F4:side:l4]
Bar (1) edge F2:side:l3#[F2:side:l4,F4:side:l4]|F2:top#[F2:side:l4,F4:side:l4]
Bar (1) edge F2:side:l3#[F2:side:l4,F4:side:l4]|F4:side:l4
Bar (1) edge F2:side:l4|F2:start#[F2:side:l4,F4:side:l4]
Bar (1) edge F2:side:l4|F2:top#[F2:side:l4,F4:side:l4]
Bar (1) edge F2:start#[F2:side:l4,F4:side:l4]|F4:side:l4
Bar (1) edge F2:top#[F2:side:l4,F4:side:l4]|F4:side:l4
@@ -1,54 +0,0 @@
# oracle/44-shell-l-bracket: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body L: 15 faces, 36 edges
L face F2:side:l1
L face F2:side:l2
L face F2:side:l3
L face F2:side:l4
L face F2:side:l5
L face F2:side:l6
L face F2:start
L face F2:top
L face F3:inner:F2:side:l1
L face F3:inner:F2:side:l2
L face F3:inner:F2:side:l3
L face F3:inner:F2:side:l4
L face F3:inner:F2:side:l5
L face F3:inner:F2:side:l6
L face F3:inner:F2:start
L edge F2:side:l1|F2:side:l2
L edge F2:side:l1|F2:side:l6
L edge F2:side:l1|F2:start
L edge F2:side:l1|F2:top
L edge F2:side:l2|F2:side:l3
L edge F2:side:l2|F2:start
L edge F2:side:l2|F2:top
L edge F2:side:l3|F2:side:l4
L edge F2:side:l3|F2:start
L edge F2:side:l3|F2:top
L edge F2:side:l4|F2:side:l5
L edge F2:side:l4|F2:start
L edge F2:side:l4|F2:top
L edge F2:side:l5|F2:side:l6
L edge F2:side:l5|F2:start
L edge F2:side:l5|F2:top
L edge F2:side:l6|F2:start
L edge F2:side:l6|F2:top
L edge F2:top|F3:inner:F2:side:l1
L edge F2:top|F3:inner:F2:side:l2
L edge F2:top|F3:inner:F2:side:l3
L edge F2:top|F3:inner:F2:side:l4
L edge F2:top|F3:inner:F2:side:l5
L edge F2:top|F3:inner:F2:side:l6
L edge F3:inner:F2:side:l1|F3:inner:F2:side:l2
L edge F3:inner:F2:side:l1|F3:inner:F2:side:l6
L edge F3:inner:F2:side:l1|F3:inner:F2:start
L edge F3:inner:F2:side:l2|F3:inner:F2:side:l3
L edge F3:inner:F2:side:l2|F3:inner:F2:start
L edge F3:inner:F2:side:l3|F3:inner:F2:side:l4
L edge F3:inner:F2:side:l3|F3:inner:F2:start
L edge F3:inner:F2:side:l4|F3:inner:F2:side:l5
L edge F3:inner:F2:side:l4|F3:inner:F2:start
L edge F3:inner:F2:side:l5|F3:inner:F2:side:l6
L edge F3:inner:F2:side:l5|F3:inner:F2:start
L edge F3:inner:F2:side:l6|F3:inner:F2:start
ref Shell1 (3) face 0 `F2:top` -> L face F2:top
@@ -1,56 +0,0 @@
# oracle/45-shell-boss-plate: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Part: 17 faces, 36 edges
Part face F2:side:l1
Part face F2:side:l2
Part face F2:side:l3
Part face F2:side:l4
Part face F2:start
Part face F2:top
Part face F4:side:c1#1
Part face F4:side:c1#2
Part face F4:top
Part face F5:inner:F2:side:l1
Part face F5:inner:F2:side:l2
Part face F5:inner:F2:side:l3
Part face F5:inner:F2:side:l4
Part face F5:inner:F2:top
Part face F5:inner:F4:side:c1#1
Part face F5:inner:F4:side:c1#2
Part face F5:inner:F4:top
Part edge F2:side:l1|F2:side:l2
Part edge F2:side:l1|F2:side:l4
Part edge F2:side:l1|F2:start
Part edge F2:side:l1|F2:top
Part edge F2:side:l2|F2:side:l3
Part edge F2:side:l2|F2:start
Part edge F2:side:l2|F2:top
Part edge F2:side:l3|F2:side:l4
Part edge F2:side:l3|F2:start
Part edge F2:side:l3|F2:top
Part edge F2:side:l4|F2:start
Part edge F2:side:l4|F2:top
Part edge F2:start|F5:inner:F2:side:l1
Part edge F2:start|F5:inner:F2:side:l2
Part edge F2:start|F5:inner:F2:side:l3
Part edge F2:start|F5:inner:F2:side:l4
Part edge F2:top|F4:side:c1#1
Part edge F2:top|F4:side:c1#2
Part edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Part edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Part edge F4:side:c1#1|F4:top
Part edge F4:side:c1#2|F4:top
Part edge F5:inner:F2:side:l1|F5:inner:F2:side:l2
Part edge F5:inner:F2:side:l1|F5:inner:F2:side:l4
Part edge F5:inner:F2:side:l1|F5:inner:F2:top
Part edge F5:inner:F2:side:l2|F5:inner:F2:side:l3
Part edge F5:inner:F2:side:l2|F5:inner:F2:top
Part edge F5:inner:F2:side:l3|F5:inner:F2:side:l4
Part edge F5:inner:F2:side:l3|F5:inner:F2:top
Part edge F5:inner:F2:side:l4|F5:inner:F2:top
Part edge F5:inner:F2:top|F5:inner:F4:side:c1#1
Part edge F5:inner:F2:top|F5:inner:F4:side:c1#2
Part edge F5:inner:F4:side:c1#1|F5:inner:F4:side:c1#2~1 [geometric]
Part edge F5:inner:F4:side:c1#1|F5:inner:F4:side:c1#2~2 [geometric]
Part edge F5:inner:F4:side:c1#1|F5:inner:F4:top
Part edge F5:inner:F4:side:c1#2|F5:inner:F4:top
ref Shell1 (5) face 0 `F2:start` -> Part face F2:start
@@ -1,38 +0,0 @@
# oracle/46-shell-two-open-faces: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Box: 10 faces, 24 edges
Box face F2:side:l1
Box face F2:side:l2
Box face F2:side:l3
Box face F2:side:l4
Box face F2:start
Box face F2:top
Box face F3:inner:F2:side:l2
Box face F3:inner:F2:side:l3
Box face F3:inner:F2:side:l4
Box face F3:inner:F2:start
Box edge F2:side:l1|F2:side:l2
Box edge F2:side:l1|F2:side:l4
Box edge F2:side:l1|F2:start
Box edge F2:side:l1|F2:top~1 [geometric]
Box edge F2:side:l1|F2:top~2 [geometric]
Box edge F2:side:l1|F3:inner:F2:side:l2
Box edge F2:side:l1|F3:inner:F2:side:l4
Box edge F2:side:l1|F3:inner:F2:start
Box edge F2:side:l2|F2:side:l3
Box edge F2:side:l2|F2:start
Box edge F2:side:l2|F2:top
Box edge F2:side:l3|F2:side:l4
Box edge F2:side:l3|F2:start
Box edge F2:side:l3|F2:top
Box edge F2:side:l4|F2:start
Box edge F2:side:l4|F2:top
Box edge F2:top|F3:inner:F2:side:l2
Box edge F2:top|F3:inner:F2:side:l3
Box edge F2:top|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l2|F3:inner:F2:side:l3
Box edge F3:inner:F2:side:l2|F3:inner:F2:start
Box edge F3:inner:F2:side:l3|F3:inner:F2:side:l4
Box edge F3:inner:F2:side:l3|F3:inner:F2:start
Box edge F3:inner:F2:side:l4|F3:inner:F2:start
ref Shell1 (3) face 0 `F2:top` -> Box face F2:top
ref Shell1 (3) face 1 `F2:side:l1` -> Box face F2:side:l1
@@ -1,41 +0,0 @@
# oracle/47-draft-curved-pocket: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Block: 11 faces, 24 edges
Block face F2:side:l1
Block face F2:side:l2
Block face F2:side:l3
Block face F2:side:l4
Block face F2:start
Block face F2:top
Block face F4:bottom
Block face F4:side:a1
Block face F4:side:a2
Block face F4:side:l1
Block face F4:side:l2
Block edge F2:side:l1|F2:side:l2
Block edge F2:side:l1|F2:side:l4
Block edge F2:side:l1|F2:start
Block edge F2:side:l1|F2:top
Block edge F2:side:l2|F2:side:l3
Block edge F2:side:l2|F2:start
Block edge F2:side:l2|F2:top
Block edge F2:side:l3|F2:side:l4
Block edge F2:side:l3|F2:start
Block edge F2:side:l3|F2:top
Block edge F2:side:l4|F2:start
Block edge F2:side:l4|F2:top
Block edge F2:top|F4:side:a1
Block edge F2:top|F4:side:a2
Block edge F2:top|F4:side:l1
Block edge F2:top|F4:side:l2
Block edge F4:bottom|F4:side:a1
Block edge F4:bottom|F4:side:a2
Block edge F4:bottom|F4:side:l1
Block edge F4:bottom|F4:side:l2
Block edge F4:side:a1|F4:side:l1
Block edge F4:side:a1|F4:side:l2
Block edge F4:side:a2|F4:side:l1
Block edge F4:side:a2|F4:side:l2
ref Draft1 (5) face 0 `F4:side:a1` -> Block face F4:side:a1
ref Draft1 (5) face 1 `F4:side:l1` -> Block face F4:side:l1
ref Draft1 (5) face 2 `F4:side:a2` -> Block face F4:side:a2
ref Draft1 (5) face 3 `F4:side:l2` -> Block face F4:side:l2
-100
View File
@@ -1,100 +0,0 @@
# oracle/48-pulley: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Pulley: 32 faces, 66 edges
Pulley face F2:side:l1
Pulley face F2:side:l10#1
Pulley face F2:side:l10#2
Pulley face F2:side:l10#3
Pulley face F2:side:l11
Pulley face F2:side:l12#1
Pulley face F2:side:l12#2
Pulley face F2:side:l12#3
Pulley face F2:side:l2#1
Pulley face F2:side:l2#2
Pulley face F2:side:l2#3
Pulley face F2:side:l3#1
Pulley face F2:side:l3#2
Pulley face F2:side:l3#3
Pulley face F2:side:l4#1
Pulley face F2:side:l4#2
Pulley face F2:side:l4#3
Pulley face F2:side:l5#1
Pulley face F2:side:l5#2
Pulley face F2:side:l5#3
Pulley face F2:side:l6#1
Pulley face F2:side:l6#2
Pulley face F2:side:l6#3
Pulley face F2:side:l7#1
Pulley face F2:side:l7#2
Pulley face F2:side:l7#3
Pulley face F2:side:l8#1
Pulley face F2:side:l8#2
Pulley face F2:side:l8#3
Pulley face F2:side:l9#1
Pulley face F2:side:l9#2
Pulley face F2:side:l9#3
Pulley edge F2:side:l10#1|F2:side:l10#2
Pulley edge F2:side:l10#1|F2:side:l10#3
Pulley edge F2:side:l10#1|F2:side:l11
Pulley edge F2:side:l10#1|F2:side:l9#1
Pulley edge F2:side:l10#2|F2:side:l10#3
Pulley edge F2:side:l10#2|F2:side:l11
Pulley edge F2:side:l10#2|F2:side:l9#2
Pulley edge F2:side:l10#3|F2:side:l11
Pulley edge F2:side:l10#3|F2:side:l9#3
Pulley edge F2:side:l11|F2:side:l12#1
Pulley edge F2:side:l11|F2:side:l12#2
Pulley edge F2:side:l11|F2:side:l12#3
Pulley edge F2:side:l12#1|F2:side:l12#2
Pulley edge F2:side:l12#1|F2:side:l12#3
Pulley edge F2:side:l12#2|F2:side:l12#3
Pulley edge F2:side:l1|F2:side:l12#1
Pulley edge F2:side:l1|F2:side:l12#2
Pulley edge F2:side:l1|F2:side:l12#3
Pulley edge F2:side:l1|F2:side:l2#1
Pulley edge F2:side:l1|F2:side:l2#2
Pulley edge F2:side:l1|F2:side:l2#3
Pulley edge F2:side:l2#1|F2:side:l2#2
Pulley edge F2:side:l2#1|F2:side:l2#3
Pulley edge F2:side:l2#1|F2:side:l3#1
Pulley edge F2:side:l2#2|F2:side:l2#3
Pulley edge F2:side:l2#2|F2:side:l3#2
Pulley edge F2:side:l2#3|F2:side:l3#3
Pulley edge F2:side:l3#1|F2:side:l3#2
Pulley edge F2:side:l3#1|F2:side:l3#3
Pulley edge F2:side:l3#1|F2:side:l4#1
Pulley edge F2:side:l3#2|F2:side:l3#3
Pulley edge F2:side:l3#2|F2:side:l4#2
Pulley edge F2:side:l3#3|F2:side:l4#3
Pulley edge F2:side:l4#1|F2:side:l4#2
Pulley edge F2:side:l4#1|F2:side:l4#3
Pulley edge F2:side:l4#1|F2:side:l5#1
Pulley edge F2:side:l4#2|F2:side:l4#3
Pulley edge F2:side:l4#2|F2:side:l5#2
Pulley edge F2:side:l4#3|F2:side:l5#3
Pulley edge F2:side:l5#1|F2:side:l5#2
Pulley edge F2:side:l5#1|F2:side:l5#3
Pulley edge F2:side:l5#1|F2:side:l6#1
Pulley edge F2:side:l5#2|F2:side:l5#3
Pulley edge F2:side:l5#2|F2:side:l6#2
Pulley edge F2:side:l5#3|F2:side:l6#3
Pulley edge F2:side:l6#1|F2:side:l6#2
Pulley edge F2:side:l6#1|F2:side:l6#3
Pulley edge F2:side:l6#1|F2:side:l7#1
Pulley edge F2:side:l6#2|F2:side:l6#3
Pulley edge F2:side:l6#2|F2:side:l7#2
Pulley edge F2:side:l6#3|F2:side:l7#3
Pulley edge F2:side:l7#1|F2:side:l7#2
Pulley edge F2:side:l7#1|F2:side:l7#3
Pulley edge F2:side:l7#1|F2:side:l8#1
Pulley edge F2:side:l7#2|F2:side:l7#3
Pulley edge F2:side:l7#2|F2:side:l8#2
Pulley edge F2:side:l7#3|F2:side:l8#3
Pulley edge F2:side:l8#1|F2:side:l8#2
Pulley edge F2:side:l8#1|F2:side:l8#3
Pulley edge F2:side:l8#1|F2:side:l9#1
Pulley edge F2:side:l8#2|F2:side:l8#3
Pulley edge F2:side:l8#2|F2:side:l9#2
Pulley edge F2:side:l8#3|F2:side:l9#3
Pulley edge F2:side:l9#1|F2:side:l9#2
Pulley edge F2:side:l9#1|F2:side:l9#3
Pulley edge F2:side:l9#2|F2:side:l9#3
-12
View File
@@ -1,12 +0,0 @@
# oracle/49-helical-sweep: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Spring: 4 faces, 6 edges
Spring face F3:face:0 [geometric]
Spring face F3:face:1 [geometric]
Spring face F3:face:2 [geometric]
Spring face F3:face:3 [geometric]
Spring edge F3:face:0|F3:face:1~1 [geometric]
Spring edge F3:face:0|F3:face:1~2 [geometric]
Spring edge F3:face:0|F3:face:2 [geometric]
Spring edge F3:face:0|F3:face:3 [geometric]
Spring edge F3:face:1|F3:face:2 [geometric]
Spring edge F3:face:1|F3:face:3 [geometric]
@@ -1,30 +0,0 @@
# oracle/50-sweep-tight-bend: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Bend: 10 faces, 18 edges
Bend face F3:end
Bend face F3:side:c1#1
Bend face F3:side:c1#2
Bend face F3:side:c1#3
Bend face F3:side:c1#4
Bend face F3:side:c1#[F3:end]#1
Bend face F3:side:c1#[F3:end]#2
Bend face F3:side:c1#[F3:start]#1
Bend face F3:side:c1#[F3:start]#2
Bend face F3:start
Bend edge F3:end|F3:side:c1#[F3:end]#1
Bend edge F3:end|F3:side:c1#[F3:end]#2
Bend edge F3:side:c1#1|F3:side:c1#2~1 [geometric]
Bend edge F3:side:c1#1|F3:side:c1#2~2 [geometric]
Bend edge F3:side:c1#1|F3:side:c1#3
Bend edge F3:side:c1#1|F3:side:c1#[F3:start]#2
Bend edge F3:side:c1#2|F3:side:c1#4
Bend edge F3:side:c1#2|F3:side:c1#[F3:start]#1
Bend edge F3:side:c1#3|F3:side:c1#4~1 [geometric]
Bend edge F3:side:c1#3|F3:side:c1#4~2 [geometric]
Bend edge F3:side:c1#3|F3:side:c1#[F3:end]#2
Bend edge F3:side:c1#4|F3:side:c1#[F3:end]#1
Bend edge F3:side:c1#[F3:end]#1|F3:side:c1#[F3:end]#2~1 [geometric]
Bend edge F3:side:c1#[F3:end]#1|F3:side:c1#[F3:end]#2~2 [geometric]
Bend edge F3:side:c1#[F3:start]#1|F3:side:c1#[F3:start]#2~1 [geometric]
Bend edge F3:side:c1#[F3:start]#1|F3:side:c1#[F3:start]#2~2 [geometric]
Bend edge F3:side:c1#[F3:start]#1|F3:start
Bend edge F3:side:c1#[F3:start]#2|F3:start
@@ -1,20 +0,0 @@
# oracle/51-loft-rect-circle-offset: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Loft: 6 faces, 12 edges
Loft face F4:end
Loft face F4:side:l1
Loft face F4:side:l2
Loft face F4:side:l3
Loft face F4:side:l4
Loft face F4:start
Loft edge F4:end|F4:side:l1
Loft edge F4:end|F4:side:l2
Loft edge F4:end|F4:side:l3
Loft edge F4:end|F4:side:l4
Loft edge F4:side:l1|F4:side:l2
Loft edge F4:side:l1|F4:side:l4
Loft edge F4:side:l1|F4:start
Loft edge F4:side:l2|F4:side:l3
Loft edge F4:side:l2|F4:start
Loft edge F4:side:l3|F4:side:l4
Loft edge F4:side:l3|F4:start
Loft edge F4:side:l4|F4:start
@@ -1,109 +0,0 @@
# oracle/52-circular-pattern-fillet: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Hub: 36 faces, 70 edges
Hub face F2:side:c1#1#[F2:start]
Hub face F2:side:c1#1#[F2:top]
Hub face F2:side:c1#2#[F2:start]
Hub face F2:side:c1#2#[F2:top]
Hub face F2:start
Hub face F2:top
Hub face F4:side:c1#1
Hub face F4:side:c1#2
Hub face F4:side:c1@F6.1#1
Hub face F4:side:c1@F6.1#2
Hub face F4:side:c1@F6.2#1
Hub face F4:side:c1@F6.2#2
Hub face F4:side:c1@F6.3#1
Hub face F4:side:c1@F6.3#2
Hub face F4:side:c1@F6.4#1
Hub face F4:side:c1@F6.4#2
Hub face F4:side:c1@F6.5#1
Hub face F4:side:c1@F6.5#2
Hub face F4:top
Hub face F4:top@F6.1
Hub face F4:top@F6.2
Hub face F4:top@F6.3
Hub face F4:top@F6.4
Hub face F4:top@F6.5
Hub face F5:blend:F2:top|F4:side:c1#1
Hub face F5:blend:F2:top|F4:side:c1#2
Hub face F6:blend::face:11|:face:7
Hub face F6:blend::face:12|:face:7
Hub face F6:blend::face:14|:face:7
Hub face F6:blend::face:15|:face:7
Hub face F6:blend::face:17|:face:7
Hub face F6:blend::face:18|:face:7
Hub face F6:blend::face:20|:face:7
Hub face F6:blend::face:21|:face:7
Hub face F6:blend::face:23|:face:7
Hub face F6:blend::face:24|:face:7
Hub edge F2:side:c1#1#[F2:start]|F2:side:c1#1#[F2:top]
Hub edge F2:side:c1#1#[F2:start]|F2:side:c1#2#[F2:start]~1 [geometric]
Hub edge F2:side:c1#1#[F2:start]|F2:side:c1#2#[F2:start]~2 [geometric]
Hub edge F2:side:c1#1#[F2:start]|F2:start
Hub edge F2:side:c1#1#[F2:top]|F2:side:c1#2#[F2:top]~1 [geometric]
Hub edge F2:side:c1#1#[F2:top]|F2:side:c1#2#[F2:top]~2 [geometric]
Hub edge F2:side:c1#1#[F2:top]|F2:top
Hub edge F2:side:c1#2#[F2:start]|F2:side:c1#2#[F2:top]
Hub edge F2:side:c1#2#[F2:start]|F2:start
Hub edge F2:side:c1#2#[F2:top]|F2:top
Hub edge F2:top|F5:blend:F2:top|F4:side:c1#1
Hub edge F2:top|F5:blend:F2:top|F4:side:c1#2
Hub edge F2:top|F6:blend::face:11|:face:7
Hub edge F2:top|F6:blend::face:12|:face:7
Hub edge F2:top|F6:blend::face:14|:face:7
Hub edge F2:top|F6:blend::face:15|:face:7
Hub edge F2:top|F6:blend::face:17|:face:7
Hub edge F2:top|F6:blend::face:18|:face:7
Hub edge F2:top|F6:blend::face:20|:face:7
Hub edge F2:top|F6:blend::face:21|:face:7
Hub edge F2:top|F6:blend::face:23|:face:7
Hub edge F2:top|F6:blend::face:24|:face:7
Hub edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Hub edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Hub edge F4:side:c1#1|F4:top
Hub edge F4:side:c1#1|F5:blend:F2:top|F4:side:c1#1
Hub edge F4:side:c1#2|F4:top
Hub edge F4:side:c1#2|F5:blend:F2:top|F4:side:c1#2
Hub edge F4:side:c1@F6.1#1|F4:side:c1@F6.1#2~1 [geometric]
Hub edge F4:side:c1@F6.1#1|F4:side:c1@F6.1#2~2 [geometric]
Hub edge F4:side:c1@F6.1#1|F4:top@F6.1
Hub edge F4:side:c1@F6.1#1|F6:blend::face:11|:face:7
Hub edge F4:side:c1@F6.1#2|F4:top@F6.1
Hub edge F4:side:c1@F6.1#2|F6:blend::face:12|:face:7
Hub edge F4:side:c1@F6.2#1|F4:side:c1@F6.2#2~1 [geometric]
Hub edge F4:side:c1@F6.2#1|F4:side:c1@F6.2#2~2 [geometric]
Hub edge F4:side:c1@F6.2#1|F4:top@F6.2
Hub edge F4:side:c1@F6.2#1|F6:blend::face:14|:face:7
Hub edge F4:side:c1@F6.2#2|F4:top@F6.2
Hub edge F4:side:c1@F6.2#2|F6:blend::face:15|:face:7
Hub edge F4:side:c1@F6.3#1|F4:side:c1@F6.3#2~1 [geometric]
Hub edge F4:side:c1@F6.3#1|F4:side:c1@F6.3#2~2 [geometric]
Hub edge F4:side:c1@F6.3#1|F4:top@F6.3
Hub edge F4:side:c1@F6.3#1|F6:blend::face:17|:face:7
Hub edge F4:side:c1@F6.3#2|F4:top@F6.3
Hub edge F4:side:c1@F6.3#2|F6:blend::face:18|:face:7
Hub edge F4:side:c1@F6.4#1|F4:side:c1@F6.4#2~1 [geometric]
Hub edge F4:side:c1@F6.4#1|F4:side:c1@F6.4#2~2 [geometric]
Hub edge F4:side:c1@F6.4#1|F4:top@F6.4
Hub edge F4:side:c1@F6.4#1|F6:blend::face:20|:face:7
Hub edge F4:side:c1@F6.4#2|F4:top@F6.4
Hub edge F4:side:c1@F6.4#2|F6:blend::face:21|:face:7
Hub edge F4:side:c1@F6.5#1|F4:side:c1@F6.5#2~1 [geometric]
Hub edge F4:side:c1@F6.5#1|F4:side:c1@F6.5#2~2 [geometric]
Hub edge F4:side:c1@F6.5#1|F4:top@F6.5
Hub edge F4:side:c1@F6.5#1|F6:blend::face:23|:face:7
Hub edge F4:side:c1@F6.5#2|F4:top@F6.5
Hub edge F4:side:c1@F6.5#2|F6:blend::face:24|:face:7
Hub edge F5:blend:F2:top|F4:side:c1#1|F5:blend:F2:top|F4:side:c1#2~1 [geometric]
Hub edge F5:blend:F2:top|F4:side:c1#1|F5:blend:F2:top|F4:side:c1#2~2 [geometric]
Hub edge F6:blend::face:11|:face:7|F6:blend::face:12|:face:7~1 [geometric]
Hub edge F6:blend::face:11|:face:7|F6:blend::face:12|:face:7~2 [geometric]
Hub edge F6:blend::face:14|:face:7|F6:blend::face:15|:face:7~1 [geometric]
Hub edge F6:blend::face:14|:face:7|F6:blend::face:15|:face:7~2 [geometric]
Hub edge F6:blend::face:17|:face:7|F6:blend::face:18|:face:7~1 [geometric]
Hub edge F6:blend::face:17|:face:7|F6:blend::face:18|:face:7~2 [geometric]
Hub edge F6:blend::face:20|:face:7|F6:blend::face:21|:face:7~1 [geometric]
Hub edge F6:blend::face:20|:face:7|F6:blend::face:21|:face:7~2 [geometric]
Hub edge F6:blend::face:23|:face:7|F6:blend::face:24|:face:7~1 [geometric]
Hub edge F6:blend::face:23|:face:7|F6:blend::face:24|:face:7~2 [geometric]
ref BossFillet (5) edge 0 `F2:top|F4:side:c1#1` -> Hub edge F2:top|F4:side:c1#1
-76
View File
@@ -1,76 +0,0 @@
# oracle/53-path-pattern: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Plate: 20 faces, 54 edges
Plate face F2:side:l1
Plate face F2:side:l2
Plate face F2:side:l3
Plate face F2:side:l4
Plate face F2:start
Plate face F2:top
Plate face F4:side:c1#1
Plate face F4:side:c1#2
Plate face F4:side:c1@F5.1#1
Plate face F4:side:c1@F5.1#2
Plate face F4:side:c1@F5.2#1
Plate face F4:side:c1@F5.2#2
Plate face F4:side:c1@F5.3#1
Plate face F4:side:c1@F5.3#2
Plate face F4:side:c1@F5.4#1
Plate face F4:side:c1@F5.4#2
Plate face F4:side:c1@F5.5#1
Plate face F4:side:c1@F5.5#2
Plate face F4:side:c1@F5.6#1
Plate face F4:side:c1@F5.6#2
Plate edge F2:side:l1|F2:side:l2
Plate edge F2:side:l1|F2:side:l4
Plate edge F2:side:l1|F2:start
Plate edge F2:side:l1|F2:top
Plate edge F2:side:l2|F2:side:l3
Plate edge F2:side:l2|F2:start
Plate edge F2:side:l2|F2:top
Plate edge F2:side:l3|F2:side:l4
Plate edge F2:side:l3|F2:start
Plate edge F2:side:l3|F2:top
Plate edge F2:side:l4|F2:start
Plate edge F2:side:l4|F2:top
Plate edge F2:start|F4:side:c1#1
Plate edge F2:start|F4:side:c1#2
Plate edge F2:start|F4:side:c1@F5.1#1
Plate edge F2:start|F4:side:c1@F5.1#2
Plate edge F2:start|F4:side:c1@F5.2#1
Plate edge F2:start|F4:side:c1@F5.2#2
Plate edge F2:start|F4:side:c1@F5.3#1
Plate edge F2:start|F4:side:c1@F5.3#2
Plate edge F2:start|F4:side:c1@F5.4#1
Plate edge F2:start|F4:side:c1@F5.4#2
Plate edge F2:start|F4:side:c1@F5.5#1
Plate edge F2:start|F4:side:c1@F5.5#2
Plate edge F2:start|F4:side:c1@F5.6#1
Plate edge F2:start|F4:side:c1@F5.6#2
Plate edge F2:top|F4:side:c1#1
Plate edge F2:top|F4:side:c1#2
Plate edge F2:top|F4:side:c1@F5.1#1
Plate edge F2:top|F4:side:c1@F5.1#2
Plate edge F2:top|F4:side:c1@F5.2#1
Plate edge F2:top|F4:side:c1@F5.2#2
Plate edge F2:top|F4:side:c1@F5.3#1
Plate edge F2:top|F4:side:c1@F5.3#2
Plate edge F2:top|F4:side:c1@F5.4#1
Plate edge F2:top|F4:side:c1@F5.4#2
Plate edge F2:top|F4:side:c1@F5.5#1
Plate edge F2:top|F4:side:c1@F5.5#2
Plate edge F2:top|F4:side:c1@F5.6#1
Plate edge F2:top|F4:side:c1@F5.6#2
Plate edge F4:side:c1#1|F4:side:c1#2~1 [geometric]
Plate edge F4:side:c1#1|F4:side:c1#2~2 [geometric]
Plate edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~1 [geometric]
Plate edge F4:side:c1@F5.1#1|F4:side:c1@F5.1#2~2 [geometric]
Plate edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#2~1 [geometric]
Plate edge F4:side:c1@F5.2#1|F4:side:c1@F5.2#2~2 [geometric]
Plate edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~1 [geometric]
Plate edge F4:side:c1@F5.3#1|F4:side:c1@F5.3#2~2 [geometric]
Plate edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~1 [geometric]
Plate edge F4:side:c1@F5.4#1|F4:side:c1@F5.4#2~2 [geometric]
Plate edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~1 [geometric]
Plate edge F4:side:c1@F5.5#1|F4:side:c1@F5.5#2~2 [geometric]
Plate edge F4:side:c1@F5.6#1|F4:side:c1@F5.6#2~1 [geometric]
Plate edge F4:side:c1@F5.6#1|F4:side:c1@F5.6#2~2 [geometric]
@@ -1,54 +0,0 @@
# oracle/54-mirror-body-fillets: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Bracket: 14 faces, 36 edges
Bracket face F2:side:l1
Bracket face F2:side:l2
Bracket face F2:side:l2@F6.1
Bracket face F2:side:l3
Bracket face F2:start
Bracket face F2:top
Bracket face F3:blend:F2:side:l1|F2:side:l2
Bracket face F3:blend:F2:side:l1|F2:side:l2@F6.1
Bracket face F3:blend:F2:side:l2|F2:side:l3
Bracket face F3:blend:F2:side:l2|F2:side:l3@F6.1
Bracket face F5:side:c1#1
Bracket face F5:side:c1#1@F6.1
Bracket face F5:side:c1#2
Bracket face F5:side:c1#2@F6.1
Bracket edge F2:side:l1|F2:start
Bracket edge F2:side:l1|F2:top
Bracket edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2
Bracket edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2@F6.1
Bracket edge F2:side:l2@F6.1|F2:start
Bracket edge F2:side:l2@F6.1|F2:top
Bracket edge F2:side:l2@F6.1|F3:blend:F2:side:l1|F2:side:l2@F6.1
Bracket edge F2:side:l2@F6.1|F3:blend:F2:side:l2|F2:side:l3@F6.1
Bracket edge F2:side:l2|F2:start
Bracket edge F2:side:l2|F2:top
Bracket edge F2:side:l2|F3:blend:F2:side:l1|F2:side:l2
Bracket edge F2:side:l2|F3:blend:F2:side:l2|F2:side:l3
Bracket edge F2:side:l3|F2:start
Bracket edge F2:side:l3|F2:top
Bracket edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3
Bracket edge F2:side:l3|F3:blend:F2:side:l2|F2:side:l3@F6.1
Bracket edge F2:start|F3:blend:F2:side:l1|F2:side:l2
Bracket edge F2:start|F3:blend:F2:side:l1|F2:side:l2@F6.1
Bracket edge F2:start|F3:blend:F2:side:l2|F2:side:l3
Bracket edge F2:start|F3:blend:F2:side:l2|F2:side:l3@F6.1
Bracket edge F2:start|F5:side:c1#1
Bracket edge F2:start|F5:side:c1#1@F6.1
Bracket edge F2:start|F5:side:c1#2
Bracket edge F2:start|F5:side:c1#2@F6.1
Bracket edge F2:top|F3:blend:F2:side:l1|F2:side:l2
Bracket edge F2:top|F3:blend:F2:side:l1|F2:side:l2@F6.1
Bracket edge F2:top|F3:blend:F2:side:l2|F2:side:l3
Bracket edge F2:top|F3:blend:F2:side:l2|F2:side:l3@F6.1
Bracket edge F2:top|F5:side:c1#1
Bracket edge F2:top|F5:side:c1#1@F6.1
Bracket edge F2:top|F5:side:c1#2
Bracket edge F2:top|F5:side:c1#2@F6.1
Bracket edge F5:side:c1#1@F6.1|F5:side:c1#2@F6.1~1 [geometric]
Bracket edge F5:side:c1#1@F6.1|F5:side:c1#2@F6.1~2 [geometric]
Bracket edge F5:side:c1#1|F5:side:c1#2~1 [geometric]
Bracket edge F5:side:c1#1|F5:side:c1#2~2 [geometric]
ref Fillet1 (3) edge 0 `F2:side:l2|F2:side:l3` -> Bracket edge F2:side:l2|F2:side:l3
ref Fillet1 (3) edge 1 `F2:side:l1|F2:side:l2` -> Bracket edge F2:side:l1|F2:side:l2
@@ -1,40 +0,0 @@
# oracle/55-tapped-hole-cosmetic: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Plate: 12 faces, 24 edges
Plate face F2:side:l1
Plate face F2:side:l2
Plate face F2:side:l3
Plate face F2:side:l4
Plate face F2:start
Plate face F2:top
Plate face F3:bore:side:1#1
Plate face F3:bore:side:1#2
Plate face F3:bore:side:1#3
Plate face F3:bore:side:2#1
Plate face F3:bore:side:2#2
Plate face F3:bore:side:2#3
Plate edge F2:side:l1|F2:side:l2
Plate edge F2:side:l1|F2:side:l4
Plate edge F2:side:l1|F2:start
Plate edge F2:side:l1|F2:top
Plate edge F2:side:l2|F2:side:l3
Plate edge F2:side:l2|F2:start
Plate edge F2:side:l2|F2:top
Plate edge F2:side:l3|F2:side:l4
Plate edge F2:side:l3|F2:start
Plate edge F2:side:l3|F2:top
Plate edge F2:side:l4|F2:start
Plate edge F2:side:l4|F2:top
Plate edge F2:top|F3:bore:side:1#1
Plate edge F2:top|F3:bore:side:1#2
Plate edge F2:top|F3:bore:side:1#3
Plate edge F3:bore:side:1#1|F3:bore:side:1#2
Plate edge F3:bore:side:1#1|F3:bore:side:1#3
Plate edge F3:bore:side:1#1|F3:bore:side:2#1
Plate edge F3:bore:side:1#2|F3:bore:side:1#3
Plate edge F3:bore:side:1#2|F3:bore:side:2#2
Plate edge F3:bore:side:1#3|F3:bore:side:2#3
Plate edge F3:bore:side:2#1|F3:bore:side:2#2
Plate edge F3:bore:side:2#1|F3:bore:side:2#3
Plate edge F3:bore:side:2#2|F3:bore:side:2#3
ref TapDrill (3) face 0 `F2:top` -> Plate face F2:top
ref Thread1 (4) face 0 `F3:bore:side:1#2` -> Plate face F3:bore:side:1#2
@@ -1,52 +0,0 @@
# oracle/56-holes-on-curved-face: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Cyl: 16 faces, 32 edges
Cyl face F2:side:c1#1
Cyl face F2:side:c1#2
Cyl face F2:start
Cyl face F2:top
Cyl face F3:bore:side:1#1
Cyl face F3:bore:side:1#2
Cyl face F3:bore:side:1#3
Cyl face F3:bore:side:2#1
Cyl face F3:bore:side:2#2
Cyl face F3:bore:side:2#3
Cyl face F4:bore:side:1#1
Cyl face F4:bore:side:1#2
Cyl face F4:bore:side:1#3
Cyl face F4:bore:side:2#1
Cyl face F4:bore:side:2#2
Cyl face F4:bore:side:2#3
Cyl edge F2:side:c1#1|F2:side:c1#2~1 [geometric]
Cyl edge F2:side:c1#1|F2:side:c1#2~2 [geometric]
Cyl edge F2:side:c1#1|F2:side:c1#2~3 [geometric]
Cyl edge F2:side:c1#1|F2:start
Cyl edge F2:side:c1#1|F2:top
Cyl edge F2:side:c1#1|F3:bore:side:1#2
Cyl edge F2:side:c1#1|F3:bore:side:1#3
Cyl edge F2:side:c1#1|F4:bore:side:1#1
Cyl edge F2:side:c1#1|F4:bore:side:1#2
Cyl edge F2:side:c1#1|F4:bore:side:1#3
Cyl edge F2:side:c1#2|F2:start
Cyl edge F2:side:c1#2|F2:top
Cyl edge F2:side:c1#2|F3:bore:side:1#1
Cyl edge F2:side:c1#2|F3:bore:side:1#2
Cyl edge F3:bore:side:1#1|F3:bore:side:1#2
Cyl edge F3:bore:side:1#1|F3:bore:side:1#3
Cyl edge F3:bore:side:1#1|F3:bore:side:2#1
Cyl edge F3:bore:side:1#2|F3:bore:side:1#3
Cyl edge F3:bore:side:1#2|F3:bore:side:2#2
Cyl edge F3:bore:side:1#3|F3:bore:side:2#3
Cyl edge F3:bore:side:2#1|F3:bore:side:2#2
Cyl edge F3:bore:side:2#1|F3:bore:side:2#3
Cyl edge F3:bore:side:2#2|F3:bore:side:2#3
Cyl edge F4:bore:side:1#1|F4:bore:side:1#2
Cyl edge F4:bore:side:1#1|F4:bore:side:1#3
Cyl edge F4:bore:side:1#1|F4:bore:side:2#1
Cyl edge F4:bore:side:1#2|F4:bore:side:1#3
Cyl edge F4:bore:side:1#2|F4:bore:side:2#2
Cyl edge F4:bore:side:1#3|F4:bore:side:2#3
Cyl edge F4:bore:side:2#1|F4:bore:side:2#2
Cyl edge F4:bore:side:2#1|F4:bore:side:2#3
Cyl edge F4:bore:side:2#2|F4:bore:side:2#3
ref Hole1 (3) face 0 `F2:side:c1#1` -> Cyl face F2:side:c1#1
ref Hole2 (4) face 0 `F2:side:c1#1` -> Cyl face F2:side:c1#1
@@ -1,122 +0,0 @@
# oracle/57-hole-pattern-sketch-points: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Plate: 36 faces, 84 edges
Plate face F2:side:l1
Plate face F2:side:l2
Plate face F2:side:l3
Plate face F2:side:l4
Plate face F2:start
Plate face F2:top
Plate face F4:bore:side:0#1
Plate face F4:bore:side:0#2
Plate face F4:bore:side:0#3
Plate face F4:bore:side:0#4
Plate face F4:bore:side:0#5
Plate face F4:bore:side:0#6
Plate face F4:bore:side:1#1
Plate face F4:bore:side:1#2
Plate face F4:bore:side:1#3
Plate face F4:bore:side:1#4
Plate face F4:bore:side:1#5
Plate face F4:bore:side:1#6
Plate face F4:cbore:base#1
Plate face F4:cbore:base#2
Plate face F4:cbore:base#3
Plate face F4:cbore:base#4
Plate face F4:cbore:base#5
Plate face F4:cbore:base#6
Plate face F4:cbore:side:0#1
Plate face F4:cbore:side:0#2
Plate face F4:cbore:side:0#3
Plate face F4:cbore:side:0#4
Plate face F4:cbore:side:0#5
Plate face F4:cbore:side:0#6
Plate face F4:cbore:side:1#1
Plate face F4:cbore:side:1#2
Plate face F4:cbore:side:1#3
Plate face F4:cbore:side:1#4
Plate face F4:cbore:side:1#5
Plate face F4:cbore:side:1#6
Plate edge F2:side:l1|F2:side:l2
Plate edge F2:side:l1|F2:side:l4
Plate edge F2:side:l1|F2:start
Plate edge F2:side:l1|F2:top
Plate edge F2:side:l2|F2:side:l3
Plate edge F2:side:l2|F2:start
Plate edge F2:side:l2|F2:top
Plate edge F2:side:l3|F2:side:l4
Plate edge F2:side:l3|F2:start
Plate edge F2:side:l3|F2:top
Plate edge F2:side:l4|F2:start
Plate edge F2:side:l4|F2:top
Plate edge F2:start|F4:bore:side:0#1
Plate edge F2:start|F4:bore:side:0#2
Plate edge F2:start|F4:bore:side:0#3
Plate edge F2:start|F4:bore:side:0#4
Plate edge F2:start|F4:bore:side:0#5
Plate edge F2:start|F4:bore:side:0#6
Plate edge F2:start|F4:bore:side:1#1
Plate edge F2:start|F4:bore:side:1#2
Plate edge F2:start|F4:bore:side:1#3
Plate edge F2:start|F4:bore:side:1#4
Plate edge F2:start|F4:bore:side:1#5
Plate edge F2:start|F4:bore:side:1#6
Plate edge F2:top|F4:cbore:side:0#1
Plate edge F2:top|F4:cbore:side:0#2
Plate edge F2:top|F4:cbore:side:0#3
Plate edge F2:top|F4:cbore:side:0#4
Plate edge F2:top|F4:cbore:side:0#5
Plate edge F2:top|F4:cbore:side:0#6
Plate edge F2:top|F4:cbore:side:1#1
Plate edge F2:top|F4:cbore:side:1#2
Plate edge F2:top|F4:cbore:side:1#3
Plate edge F2:top|F4:cbore:side:1#4
Plate edge F2:top|F4:cbore:side:1#5
Plate edge F2:top|F4:cbore:side:1#6
Plate edge F4:bore:side:0#1|F4:bore:side:1#1~1 [geometric]
Plate edge F4:bore:side:0#1|F4:bore:side:1#1~2 [geometric]
Plate edge F4:bore:side:0#1|F4:cbore:base#1
Plate edge F4:bore:side:0#2|F4:bore:side:1#2~1 [geometric]
Plate edge F4:bore:side:0#2|F4:bore:side:1#2~2 [geometric]
Plate edge F4:bore:side:0#2|F4:cbore:base#2
Plate edge F4:bore:side:0#3|F4:bore:side:1#3~1 [geometric]
Plate edge F4:bore:side:0#3|F4:bore:side:1#3~2 [geometric]
Plate edge F4:bore:side:0#3|F4:cbore:base#3
Plate edge F4:bore:side:0#4|F4:bore:side:1#4~1 [geometric]
Plate edge F4:bore:side:0#4|F4:bore:side:1#4~2 [geometric]
Plate edge F4:bore:side:0#4|F4:cbore:base#4
Plate edge F4:bore:side:0#5|F4:bore:side:1#5~1 [geometric]
Plate edge F4:bore:side:0#5|F4:bore:side:1#5~2 [geometric]
Plate edge F4:bore:side:0#5|F4:cbore:base#5
Plate edge F4:bore:side:0#6|F4:bore:side:1#6~1 [geometric]
Plate edge F4:bore:side:0#6|F4:bore:side:1#6~2 [geometric]
Plate edge F4:bore:side:0#6|F4:cbore:base#6
Plate edge F4:bore:side:1#1|F4:cbore:base#1
Plate edge F4:bore:side:1#2|F4:cbore:base#2
Plate edge F4:bore:side:1#3|F4:cbore:base#3
Plate edge F4:bore:side:1#4|F4:cbore:base#4
Plate edge F4:bore:side:1#5|F4:cbore:base#5
Plate edge F4:bore:side:1#6|F4:cbore:base#6
Plate edge F4:cbore:base#1|F4:cbore:side:0#1
Plate edge F4:cbore:base#1|F4:cbore:side:1#1
Plate edge F4:cbore:base#2|F4:cbore:side:0#2
Plate edge F4:cbore:base#2|F4:cbore:side:1#2
Plate edge F4:cbore:base#3|F4:cbore:side:0#3
Plate edge F4:cbore:base#3|F4:cbore:side:1#3
Plate edge F4:cbore:base#4|F4:cbore:side:0#4
Plate edge F4:cbore:base#4|F4:cbore:side:1#4
Plate edge F4:cbore:base#5|F4:cbore:side:0#5
Plate edge F4:cbore:base#5|F4:cbore:side:1#5
Plate edge F4:cbore:base#6|F4:cbore:side:0#6
Plate edge F4:cbore:base#6|F4:cbore:side:1#6
Plate edge F4:cbore:side:0#1|F4:cbore:side:1#1~1 [geometric]
Plate edge F4:cbore:side:0#1|F4:cbore:side:1#1~2 [geometric]
Plate edge F4:cbore:side:0#2|F4:cbore:side:1#2~1 [geometric]
Plate edge F4:cbore:side:0#2|F4:cbore:side:1#2~2 [geometric]
Plate edge F4:cbore:side:0#3|F4:cbore:side:1#3~1 [geometric]
Plate edge F4:cbore:side:0#3|F4:cbore:side:1#3~2 [geometric]
Plate edge F4:cbore:side:0#4|F4:cbore:side:1#4~1 [geometric]
Plate edge F4:cbore:side:0#4|F4:cbore:side:1#4~2 [geometric]
Plate edge F4:cbore:side:0#5|F4:cbore:side:1#5~1 [geometric]
Plate edge F4:cbore:side:0#5|F4:cbore:side:1#5~2 [geometric]
Plate edge F4:cbore:side:0#6|F4:cbore:side:1#6~1 [geometric]
Plate edge F4:cbore:side:0#6|F4:cbore:side:1#6~2 [geometric]

Some files were not shown because too many files have changed in this diff Show More