naming: the corpus rebuilds with the same names and references

A test over every design the repository keeps (the action matrix's
corpus: old design files, examples, regressions, demo and typical
designs, the oracle recipes; plus the sample designs, the engine's
design fixtures and the older designs of the hole matrix, taper and
projection tests: 154 designs). Each is rebuilt and recorded in
tests/naming/<group>/<design>.txt: per body the names of its faces and
edges with whether each follows exact history, and every stored name
(feature face picks, fillet/chamfer/bend edges, sheet metal edges, the
face a sketch is attached to) with the face or edge it finds now. A
difference fails with the design and the changed lines; record an
intended change with NAMING_CORPUS_BLESS=1, as FEATURE_WALK_BLESS does.

Face and edge indices are left out on purpose. They are the kernel's
order: truck already gives a fillet's or a boolean's faces in another
order from one process to the next (oracle 07 and 37 changed on every
run), and SMLib will order them differently again, while what must not
change is the names and what references find. Names are listed sorted.

One design's names themselves change between runs on truck
(closed_sweep_torus_cut: level wall halves numbered #1/#2 in kernel
face order); it is listed in UNSTABLE with the reason and its
difference printed instead of failed on.

Records made on this branch (truck), macOS. The whole corpus builds in
about 20 s on 14 cores (designs run side by side).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QWhMwdqJYQKQq8RCLSL1LT
This commit is contained in:
jyviko
2026-10-20 23:06:27 -04:00
parent 7f1e85f71c
commit a55196e7ad
155 changed files with 13900 additions and 0 deletions
+434
View File
@@ -0,0 +1,434 @@
//! Every design of the corpus rebuilds with the same persistent names: the names of each body's
//! faces and edges, with whether each follows exact history, and every name a design stores
//! (fillet and chamfer edges, faces a feature picks, the face a sketch sits on, sheet metal
//! edges) with the face or edge it finds now, by that face's or edge's name. A rename, a name
//! that becomes geometric, a face or edge more or fewer, or a reference that finds another face
//! or none fails the test.
//!
//! Face and edge indices are left out: they are the kernel's order, which a rebuild need not
//! keep (a fillet's or a boolean's faces come out in another order from one process to the next)
//! and which another kernel changes, while names and references must not change. A body's names
//! are listed sorted.
//!
//! The corpus is the action matrix's (the old design files in `tests/corpus`, the examples, the
//! demo and typical designs in `tests/action_matrix/designs`, the reference recipes), the sample
//! designs, the engine's design fixtures and the older designs kept by the hole matrix, taper
//! and projection tests. Each design's record is `tests/naming/<group>/<design>.txt`; to record
//! an intended change, run the test with `NAMING_CORPUS_BLESS=1` and say why in the pull request.
use std::path::{Path, PathBuf};
use std::process::Command;
use serde_json::{Value, json};
use solidcraft_engine::Session;
use solidcraft_engine::doc::{FaceAttachmentStatus, Feature, FeatureKind, ModelBody, ModelState, PlaneRef, naming};
use solidcraft_engine::geom::Vec3;
fn root() -> PathBuf {
Path::new(env!("CARGO_MANIFEST_DIR")).join("../..").canonicalize().unwrap()
}
fn golden_dir() -> PathBuf {
root().join("tests/naming")
}
/// Where a design comes from.
enum Source {
File(PathBuf),
Sample(fn() -> Value),
}
/// Every design of the corpus: (`<group>/<design>`, where it comes from).
fn designs() -> Vec<(String, Source)> {
let root = root();
let mut out = Vec::new();
let mut add = |prefix: &str, dir: PathBuf, ext: &str| {
let Ok(rd) = std::fs::read_dir(&dir) else { return };
let mut v: Vec<PathBuf> = rd.flatten().map(|e| e.path()).filter(|p| p.extension().is_some_and(|x| x == ext)).collect();
v.sort();
for p in v {
let stem = p.file_stem().unwrap_or_default().to_string_lossy().to_string();
out.push((format!("{prefix}/{stem}"), Source::File(p)));
}
};
add("corpus", root.join("apps/solidcraft-cli/tests/corpus"), "solidcraft");
add("examples", root.join("examples"), "json");
add("examples", root.join("examples/acceptance"), "json");
add("regressions", root.join("examples/regressions"), "json");
add("demo", root.join("examples/demo"), "json");
add("typical", root.join("tests/action_matrix/designs"), "json");
add("demo", root.join("tests/action_matrix/designs"), "solidcraft");
add("fixtures", root.join("crates/engine/src/tests/fixtures"), "solidcraft");
add("hole_matrix", root.join("tests/hole_matrix/old-0.9"), "json");
add("taper", root.join("tests/taper/before-1014"), "json");
add("projection", root.join("tests/projection/before-1508"), "json");
let mut cases: Vec<PathBuf> =
std::fs::read_dir(root.join("tests/oracle")).unwrap().flatten().map(|e| e.path()).filter(|p| p.join("recipe.json").is_file()).collect();
cases.sort();
for c in cases {
out.push((format!("oracle/{}", c.file_name().unwrap_or_default().to_string_lossy()), Source::File(c.join("recipe.json"))));
}
for sample in solidcraft_engine::sample::samples() {
let stem: String = sample.name.to_lowercase().split_whitespace().collect::<Vec<_>>().join("-");
out.push((format!("samples/{stem}"), Source::Sample(sample.script)));
}
out
}
/// Build a design: a design file (also a design saved as JSON) is opened, a script is run.
fn load(source: &Source) -> Result<Session, String> {
let mut s = Session::default();
let script = match source {
Source::Sample(script) => script(),
Source::File(path) if path.extension().is_some_and(|x| x == "solidcraft") => {
s.execute("doc.open", &json!({"path": path.to_string_lossy()})).map_err(|e| e.to_string())?;
return Ok(s);
}
Source::File(path) if path.file_name().is_some_and(|n| n == "recipe.json") => {
let out = Command::new(env!("CARGO_BIN_EXE_solidcraft-cli")).arg("recipe").arg(path).output().map_err(|e| e.to_string())?;
if !out.status.success() {
return Err(format!("recipe: {}", String::from_utf8_lossy(&out.stderr).trim()));
}
serde_json::from_slice(&out.stdout).map_err(|e| e.to_string())?
}
Source::File(path) => {
let v: Value = serde_json::from_slice(&std::fs::read(path).map_err(|e| e.to_string())?).map_err(|e| e.to_string())?;
if v.get("features").is_some() {
s.execute("doc.open", &json!({"path": path.to_string_lossy()})).map_err(|e| e.to_string())?;
return Ok(s);
}
match v.get("steps").and_then(Value::as_array) {
// The demo's steps: an MCP `execute` each.
Some(steps) => {
json!({"commands": steps.iter().map(|st| json!({"command": st["command"], "params": st["params"]})).collect::<Vec<_>>()})
}
None => v,
}
}
};
s.run_script(&script).map_err(|e| e.to_string())?;
if s.active_sketch.is_some() {
let _ = s.execute("sketch.finish", &json!({}));
}
Ok(s)
}
/// What decides a name beyond its text: `[geometric]` when it was worked out from geometry, not
/// exact history; how a stored name was found.
fn flags(list: &[(bool, &str)]) -> String {
let set: Vec<&str> = list.iter().filter(|(on, _)| *on).map(|(_, f)| *f).collect();
if set.is_empty() { String::new() } else { format!(" [{}]", set.join(", ")) }
}
/// Whether an edge name carries its own number (`~k`): several edges between the same two faces
/// are numbered by where they lie, which is not exact history.
fn numbered(name: &str) -> bool {
name.rfind('~').and_then(|i| name.get(i + 1..)).is_some_and(|d| !d.is_empty() && d.bytes().all(|b| b.is_ascii_digit()))
}
/// The names of a body's faces and edges, sorted (with how many of each it has).
fn record_body(out: &mut Vec<String>, b: &ModelBody) {
if b.body.is_mesh() {
out.push(format!("body {}: mesh", b.name));
return;
}
let faces = naming::face_names(b);
let edges = naming::edge_names(b);
out.push(format!("body {}: {} faces, {} edges", b.name, faces.len(), edges.len()));
let mut lines: Vec<String> =
faces.iter().enumerate().map(|(i, n)| format!("{} face {n}{}", b.name, flags(&[(!naming::face_name_exact(b, i), "geometric")]))).collect();
lines.sort();
out.append(&mut lines);
let m = b.mesh();
let mut lines: Vec<String> = edges
.iter()
.enumerate()
.map(|(i, n)| {
let exact = m.edge_faces.get(i).is_some_and(|fs| fs.iter().all(|f| naming::face_name_exact(b, *f as usize))) && !numbered(n);
format!("{} edge {n}{}", b.name, flags(&[(!exact, "geometric")]))
})
.collect();
lines.sort();
out.append(&mut lines);
}
fn face_label(st: &ModelState, body: usize, face: usize) -> String {
match st.bodies.get(body) {
Some(b) => format!("{} face {}", b.name, naming::face_names(b).get(face).map(String::as_str).unwrap_or("?")),
None => format!("body #{body} face #{face}"),
}
}
/// Every name feature `f` stores, with what it finds in the model before it, as a feature
/// rebuilding finds it.
fn record_refs(out: &mut Vec<String>, s: &Session, f: &Feature) {
let doc = &*s.doc;
let who = format!("ref {} ({})", f.name, f.id);
let before = s.model.state_before(f.id);
// Faces a feature picks by point and stores by name (shell, draft, hole, …).
let explicit_emboss = matches!(&f.kind, FeatureKind::Emboss { face: Some(_), .. });
if f.face_names.iter().any(|n| !n.is_empty()) {
let fst = solidcraft_engine::doc::face_point_state(doc, &before, &f.kind, f.component);
for (k, (p, n)) in f.kind.face_points().into_iter().zip(&f.face_names).enumerate() {
if n.is_empty() {
continue;
}
let found = if explicit_emboss {
"not checked (a cylindrical emboss finds its face on its own body)".to_string()
} else {
match naming::locate_face_on_body(&fst, f.kind.face_body(), n, p) {
Some(hit) => format!(
"{}{}",
face_label(&fst, hit.body, hit.face),
flags(&[(hit.split, "split"), (hit.merged, "merged"), (!hit.verified, "geometric"), (hit.legacy, "legacy")])
),
None => "gone".into(),
}
};
out.push(format!("{who} face {k} `{n}` -> {found}"));
}
}
// Edges a feature picks by point and stores by name.
if f.edge_names.iter().any(|n| !n.is_empty()) {
let edge = |out: &mut Vec<String>, b: &ModelBody, k: usize, n: &str, p: Vec3| {
let found = match naming::locate_edge(b, n, p) {
Ok(hit) => format!(
"{} edge {}{}",
b.name,
naming::edge_names(b).get(hit.edge).map(String::as_str).unwrap_or("?"),
flags(&[(hit.split, "split"), (!hit.verified, "geometric"), (hit.legacy, "legacy")])
),
Err(e) => format!("gone ({e})"),
};
out.push(format!("{who} edge {k} `{n}` -> {found}"));
};
let named = |k: usize| f.edge_names.get(k).filter(|n| !n.is_empty());
match &f.kind {
FeatureKind::Fillet { edges, body, .. } | FeatureKind::Chamfer { edges, body, .. } => {
let pts: Vec<Vec3> = solidcraft_engine::doc::plain(edges);
match solidcraft_engine::doc::blend_target(&before, body, &pts).ok().and_then(|i| before.bodies.get(i)) {
Some(b) => {
for (k, p) in pts.iter().enumerate() {
if let Some(n) = named(k) {
edge(out, b, k, n, *p);
}
}
}
None => out.push(format!("{who} edges: no body to round")),
}
}
FeatureKind::SheetConvert { body, bends, .. } => match before.body(body) {
Some(b) => {
for (k, p) in solidcraft_engine::doc::plain::<Vec3, _>(bends).iter().enumerate() {
if let Some(n) = named(k) {
edge(out, b, k, n, *p);
}
}
}
None => out.push(format!("{who} bends: body `{body}` gone")),
},
// Sheet metal edges are named by the sheet's panels, and found on its sheets.
FeatureKind::SheetFlange { .. } | FeatureKind::SheetHem { .. } => {
let pts: Vec<Vec3> = match &f.kind {
FeatureKind::SheetFlange { edges, .. } => edges.iter().map(|e| e.point.0).collect(),
FeatureKind::SheetHem { edges, .. } => solidcraft_engine::doc::plain(edges),
_ => Vec::new(),
};
for (k, p) in pts.iter().enumerate() {
let Some(n) = named(k) else { continue };
let on: Vec<&str> = before.sheets.iter().filter(|sh| sh.edge_by_name(n, *p).is_some()).map(|sh| sh.body.as_str()).collect();
let found = if on.is_empty() { "gone".to_string() } else { format!("sheet edge on {}", on.join(", ")) };
out.push(format!("{who} sheet edge {k} `{n}` -> {found}"));
}
}
other => {
for (k, n) in f.edge_names.iter().enumerate().filter(|(_, n)| !n.is_empty()) {
out.push(format!("{who} edge {k} `{n}` -> not checked ({})", other.type_name()));
}
}
}
}
// The face a sketch sits on.
if let FeatureKind::Sketch { plane: PlaneRef::Face { name, anchor, .. }, .. } = &f.kind {
let status = match doc.sketch_face_attachment(f.id, &s.model) {
FaceAttachmentStatus::Healthy { target, .. } => {
let faces = match before.body(&target.body) {
Some(b) => match doc.anchored_face_indices(&before, b, &target) {
Ok((indices, note)) => {
let names = naming::face_names(b);
let mut list: Vec<&str> = indices.iter().map(|i| names.get(*i).map(String::as_str).unwrap_or("?")).collect();
list.sort();
format!("{} faces {}{}", b.name, list.join(", "), flags(&[(note.is_some(), "changed cap")]))
}
Err(e) => format!("no faces ({e})"),
},
None => format!("body `{}` gone", target.body),
};
format!("healthy: {faces}")
}
FaceAttachmentStatus::Lost { message, .. } => format!("lost: {message}"),
FaceAttachmentStatus::Legacy { .. } => {
// Found by its name among the faces facing the same way, nearest the pick.
let fst = solidcraft_engine::doc::state_in_frame(doc, &before, f.component);
let mut list: Vec<String> = match name {
Some(n) => fst
.bodies
.iter()
.filter(|b| !b.body.is_mesh())
.flat_map(|b| {
let names = naming::face_names(b);
naming::faces_with_stem(b, n)
.into_iter()
.map(move |i| format!("{} face {}", b.name, names.get(i).map(String::as_str).unwrap_or("?")))
})
.collect(),
None => Vec::new(),
};
list.sort();
if list.is_empty() { "legacy, by its pick".into() } else { format!("legacy, by name among {}", list.join("; ")) }
}
FaceAttachmentStatus::Sheet { .. } => "sheet face".into(),
FaceAttachmentStatus::Fixed { .. } => "fixed".into(),
};
let stored = match (anchor, name) {
(Some(a), _) => {
let kind =
a.target.certificate.as_ref().and_then(|c| serde_json::to_value(c).ok()).and_then(|v| v["kind"].as_str().map(String::from));
format!("`{}` on {} ({})", a.target.name, a.target.body, kind.unwrap_or_else(|| "no certificate".into()))
}
(None, Some(n)) => format!("`{n}`"),
(None, None) => "by its pick".into(),
};
out.push(format!("{who} plane {stored} -> {status}"));
}
}
/// A design's record: its features that failed, every body's names, every stored reference.
fn record(name: &str, s: &Session) -> String {
let mut out = vec![format!("# {name}: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)")];
for r in s.model.results.iter().filter(|r| r.error.is_some()) {
out.push(format!("failed {} ({})", r.name, r.id));
}
let st = s.model.state();
for b in &st.bodies {
record_body(&mut out, b);
}
for f in s.doc.features.iter().filter(|f| !f.suppressed) {
record_refs(&mut out, s, f);
}
out.push(String::new());
out.join("\n")
}
/// The lines of `want` and `got` that differ, as `-`/`+` lines (the longest common run of
/// lines kept), at most `cap` of them.
fn diff(want: &str, got: &str, cap: usize) -> Vec<String> {
let (a, b): (Vec<&str>, Vec<&str>) = (want.lines().collect(), got.lines().collect());
let pre = a.iter().zip(&b).take_while(|(x, y)| x == y).count();
let suf = a[pre..].iter().rev().zip(b[pre..].iter().rev()).take_while(|(x, y)| x == y).count();
let (a, b) = (&a[pre..a.len() - suf], &b[pre..b.len() - suf]);
let mut out = Vec::new();
if a.len().saturating_mul(b.len()) > 25_000_000 {
out.extend(a.iter().map(|l| format!("- {l}")));
out.extend(b.iter().map(|l| format!("+ {l}")));
} else {
// lcs[i][j]: the longest common run of a[i..] and b[j..].
let mut lcs = vec![vec![0u32; b.len() + 1]; a.len() + 1];
for i in (0..a.len()).rev() {
for j in (0..b.len()).rev() {
lcs[i][j] = if a[i] == b[j] { lcs[i + 1][j + 1] + 1 } else { lcs[i + 1][j].max(lcs[i][j + 1]) };
}
}
let (mut i, mut j) = (0, 0);
while i < a.len() || j < b.len() {
if i < a.len() && j < b.len() && a[i] == b[j] {
i += 1;
j += 1;
} else if j < b.len() && (i == a.len() || lcs[i][j + 1] >= lcs[i + 1][j]) {
out.push(format!("+ {}", b[j]));
j += 1;
} else {
out.push(format!("- {}", a[i]));
i += 1;
}
}
}
let n = out.len();
out.truncate(cap);
if n > cap {
out.push(format!("… and {} more", n - cap));
}
out
}
/// Designs whose names differ from one run to the next today: (design, why). Their records are
/// kept and their differences printed, not failed on, until the cause is fixed.
const UNSTABLE: [(&str, &str); 1] = [(
"regressions/closed_sweep_torus_cut",
"the halves of each swept wall lie level along every axis, so which is `#1` and which `#2` follows the order the kernel gives the faces in, which changes from one process to the next",
)];
#[test]
fn corpus_designs_rebuild_with_the_same_names_and_references() {
let bless = std::env::var_os("NAMING_CORPUS_BLESS").is_some();
let designs = designs();
let next = std::sync::atomic::AtomicUsize::new(0);
let results = std::sync::Mutex::new(Vec::new());
let workers = std::thread::available_parallelism().map_or(4, |n| n.get()).min(designs.len().max(1));
std::thread::scope(|scope| {
for _ in 0..workers {
scope.spawn(|| {
while let Some((name, source)) = designs.get(next.fetch_add(1, std::sync::atomic::Ordering::Relaxed)) {
let got = match load(source) {
Ok(s) => record(name, &s),
Err(e) => format!("# {name}: does not load: {e}\n"),
};
results.lock().unwrap_or_else(|e| e.into_inner()).push((name.clone(), got));
}
});
}
});
let mut results = results.into_inner().unwrap_or_else(|e| e.into_inner());
results.sort();
let dir = golden_dir();
let mut problems = Vec::new();
for (name, got) in &results {
let path = dir.join(format!("{name}.txt"));
let want = std::fs::read_to_string(&path).unwrap_or_default().replace("\r\n", "\n");
if bless {
if want != *got {
std::fs::create_dir_all(path.parent().unwrap()).unwrap();
std::fs::write(&path, got).unwrap_or_else(|e| panic!("{}: {e}", path.display()));
}
continue;
}
if want.is_empty() {
problems.push(format!("{name}: no record (tests/naming/{name}.txt)"));
} else if want != *got {
let lines = diff(&want, got, 40).join("\n ");
match UNSTABLE.iter().find(|(design, _)| design == name) {
Some((_, why)) => eprintln!("{name} (not checked: {why}):\n {lines}"),
None => problems.push(format!("{name}:\n {lines}")),
}
}
}
// A record whose design left the corpus.
let known: std::collections::BTreeSet<PathBuf> = results.iter().map(|(name, _)| dir.join(format!("{name}.txt"))).collect();
for group in std::fs::read_dir(&dir).into_iter().flatten().flatten() {
for file in std::fs::read_dir(group.path()).into_iter().flatten().flatten() {
if !known.contains(&file.path()) {
if bless {
let _ = std::fs::remove_file(file.path());
} else {
problems.push(format!("{}: a record without a design", file.path().display()));
}
}
}
}
assert!(
problems.is_empty(),
"{} design(s) rebuild with other names than tests/naming records (if that is intended, record it with NAMING_CORPUS_BLESS=1 and say why in the pull request):\n{}",
problems.len(),
problems.join("\n")
);
}
+74
View File
@@ -0,0 +1,74 @@
# 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
@@ -0,0 +1,37 @@
# 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
@@ -0,0 +1,216 @@
# 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
@@ -0,0 +1,61 @@
# 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
@@ -0,0 +1,32 @@
# 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]
@@ -0,0 +1,67 @@
# 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]
@@ -0,0 +1,76 @@
# 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
@@ -0,0 +1,131 @@
# 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
@@ -0,0 +1,68 @@
# 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
@@ -0,0 +1,39 @@
# 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
@@ -0,0 +1,47 @@
# 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
@@ -0,0 +1,49 @@
# 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
@@ -0,0 +1,147 @@
# 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
@@ -0,0 +1,166 @@
# 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
@@ -0,0 +1,45 @@
# 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
@@ -0,0 +1,485 @@
# 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
@@ -0,0 +1,294 @@
# 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
@@ -0,0 +1,49 @@
# 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
@@ -0,0 +1,96 @@
# 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
@@ -0,0 +1,244 @@
# 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
@@ -0,0 +1,669 @@
# 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]
@@ -0,0 +1,516 @@
# 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
@@ -0,0 +1,276 @@
# 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
@@ -0,0 +1,114 @@
# 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
@@ -0,0 +1,49 @@
# 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
@@ -0,0 +1,49 @@
# 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
@@ -0,0 +1,38 @@
# 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]
@@ -0,0 +1,30 @@
# 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
@@ -0,0 +1,30 @@
# 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
@@ -0,0 +1,20 @@
# 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
@@ -0,0 +1,12 @@
# 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
@@ -0,0 +1,28 @@
# 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
@@ -0,0 +1,34 @@
# 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
@@ -0,0 +1,20 @@
# 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
@@ -0,0 +1,20 @@
# 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
@@ -0,0 +1,88 @@
# 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
@@ -0,0 +1,36 @@
# 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
@@ -0,0 +1,38 @@
# 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
@@ -0,0 +1,116 @@
# 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]
@@ -0,0 +1,68 @@
# 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
@@ -0,0 +1,38 @@
# 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
@@ -0,0 +1,47 @@
# 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
@@ -0,0 +1,37 @@
# 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
@@ -0,0 +1,38 @@
# 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
@@ -0,0 +1,30 @@
# 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
@@ -0,0 +1,20 @@
# 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
@@ -0,0 +1,74 @@
# 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
@@ -0,0 +1,28 @@
# 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
@@ -0,0 +1,20 @@
# 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
@@ -0,0 +1,24 @@
# 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
@@ -0,0 +1,23 @@
# 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
@@ -0,0 +1,91 @@
# 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
@@ -0,0 +1,28 @@
# 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
@@ -0,0 +1,16 @@
# 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
@@ -0,0 +1,28 @@
# 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
@@ -0,0 +1,36 @@
# 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
@@ -0,0 +1,89 @@
# 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
@@ -0,0 +1,56 @@
# 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]
@@ -0,0 +1,103 @@
# 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
@@ -0,0 +1,132 @@
# 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
@@ -0,0 +1,43 @@
# 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]
@@ -0,0 +1,46 @@
# 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
@@ -0,0 +1,72 @@
# 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
@@ -0,0 +1,29 @@
# 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
@@ -0,0 +1,65 @@
# 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
@@ -0,0 +1,60 @@
# 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
@@ -0,0 +1,12 @@
# 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
@@ -0,0 +1,39 @@
# 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]
@@ -0,0 +1,62 @@
# 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
@@ -0,0 +1,164 @@
# 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]
@@ -0,0 +1,300 @@
# 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
@@ -0,0 +1,39 @@
# 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
@@ -0,0 +1,54 @@
# 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
@@ -0,0 +1,56 @@
# 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
@@ -0,0 +1,38 @@
# 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
@@ -0,0 +1,41 @@
# 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
@@ -0,0 +1,100 @@
# 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
@@ -0,0 +1,12 @@
# 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]
@@ -0,0 +1,30 @@
# 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
@@ -0,0 +1,20 @@
# 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
@@ -0,0 +1,109 @@
# 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
@@ -0,0 +1,76 @@
# 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]
@@ -0,0 +1,54 @@
# 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
@@ -0,0 +1,40 @@
# 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
@@ -0,0 +1,52 @@
# 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
@@ -0,0 +1,122 @@
# 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]
+75
View File
@@ -0,0 +1,75 @@
# oracle/58-phone-stand: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Stand: 19 faces, 51 edges
Stand face F2:bottom
Stand face F2:side:l1
Stand face F2:side:l10
Stand face F2:side:l2
Stand face F2:side:l3
Stand face F2:side:l4
Stand face F2:side:l5
Stand face F2:side:l6
Stand face F2:side:l7
Stand face F2:side:l8
Stand face F2:side:l9
Stand face F2:top
Stand face F3:blend:F2:side:l5|F2:side:l6
Stand face F3:blend:F2:side:l8|F2:side:l9
Stand face F4:blend:F2:side:l4|F2:side:l5
Stand face F6:side:l1
Stand face F6:side:l2
Stand face F6:side:l3
Stand face F6:side:l4
Stand edge F2:bottom|F2:side:l1
Stand edge F2:bottom|F2:side:l10
Stand edge F2:bottom|F2:side:l2
Stand edge F2:bottom|F2:side:l3
Stand edge F2:bottom|F2:side:l4
Stand edge F2:bottom|F2:side:l5
Stand edge F2:bottom|F2:side:l6
Stand edge F2:bottom|F2:side:l7
Stand edge F2:bottom|F2:side:l8
Stand edge F2:bottom|F2:side:l9
Stand edge F2:bottom|F3:blend:F2:side:l5|F2:side:l6
Stand edge F2:bottom|F3:blend:F2:side:l8|F2:side:l9
Stand edge F2:bottom|F4:blend:F2:side:l4|F2:side:l5
Stand edge F2:side:l10|F2:side:l9
Stand edge F2:side:l10|F2:top
Stand edge F2:side:l1|F2:side:l10
Stand edge F2:side:l1|F2:side:l2
Stand edge F2:side:l1|F2:top
Stand edge F2:side:l1|F6:side:l1
Stand edge F2:side:l1|F6:side:l2
Stand edge F2:side:l1|F6:side:l3
Stand edge F2:side:l1|F6:side:l4
Stand edge F2:side:l2|F2:side:l3
Stand edge F2:side:l2|F2:top
Stand edge F2:side:l3|F2:side:l4
Stand edge F2:side:l3|F2:top
Stand edge F2:side:l4|F2:top
Stand edge F2:side:l4|F4:blend:F2:side:l4|F2:side:l5
Stand edge F2:side:l5|F2:top
Stand edge F2:side:l5|F3:blend:F2:side:l5|F2:side:l6
Stand edge F2:side:l5|F4:blend:F2:side:l4|F2:side:l5
Stand edge F2:side:l5|F6:side:l1
Stand edge F2:side:l5|F6:side:l2
Stand edge F2:side:l5|F6:side:l3
Stand edge F2:side:l5|F6:side:l4
Stand edge F2:side:l6|F2:side:l7
Stand edge F2:side:l6|F2:top
Stand edge F2:side:l6|F3:blend:F2:side:l5|F2:side:l6
Stand edge F2:side:l7|F2:side:l8
Stand edge F2:side:l7|F2:top
Stand edge F2:side:l8|F2:top
Stand edge F2:side:l8|F3:blend:F2:side:l8|F2:side:l9
Stand edge F2:side:l9|F2:top
Stand edge F2:side:l9|F3:blend:F2:side:l8|F2:side:l9
Stand edge F2:top|F3:blend:F2:side:l5|F2:side:l6
Stand edge F2:top|F3:blend:F2:side:l8|F2:side:l9
Stand edge F2:top|F4:blend:F2:side:l4|F2:side:l5
Stand edge F6:side:l1|F6:side:l2
Stand edge F6:side:l1|F6:side:l4
Stand edge F6:side:l2|F6:side:l3
Stand edge F6:side:l3|F6:side:l4
ref RestFillet (3) edge 0 `F2:side:l5|F2:side:l6` -> Stand edge F2:side:l5|F2:side:l6
ref RestFillet (3) edge 1 `F2:side:l8|F2:side:l9` -> Stand edge F2:side:l8|F2:side:l9
ref LipFillet (4) edge 0 `F2:side:l4|F2:side:l5` -> Stand edge F2:side:l4|F2:side:l5
+162
View File
@@ -0,0 +1,162 @@
# oracle/59-enclosure-base: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Enclosure: 47 faces, 108 edges
Enclosure face F11:bottom#[F11:side:c1]
Enclosure face F11:bottom#[F11:side:c2]
Enclosure face F11:bottom#[F11:side:c3]
Enclosure face F11:bottom#[F11:side:c4]
Enclosure face F11:side:c1#1
Enclosure face F11:side:c1#2
Enclosure face F11:side:c2#1
Enclosure face F11:side:c2#2
Enclosure face F11:side:c3#1
Enclosure face F11:side:c3#2
Enclosure face F11:side:c4#1
Enclosure face F11:side:c4#2
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#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]
Enclosure face F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]
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 F7:side:c1#1
Enclosure face F7:side:c1#2
Enclosure face F7:side:c2#1
Enclosure face F7:side:c2#2
Enclosure face F7:side:c3#1
Enclosure face F7:side:c3#2
Enclosure face F7:side:c4#1
Enclosure face F7:side:c4#2
Enclosure face F7:top#[F7:side:c1]
Enclosure face F7:top#[F7:side:c2]
Enclosure face F7:top#[F7:side:c3]
Enclosure face F7:top#[F7:side:c4]
Enclosure face F8:side:r2
Enclosure face F8:side:r4
Enclosure face F8:top
Enclosure edge F11:bottom#[F11:side:c1]|F11:side:c1#1
Enclosure edge F11:bottom#[F11:side:c1]|F11:side:c1#2
Enclosure edge F11:bottom#[F11:side:c2]|F11:side:c2#1
Enclosure edge F11:bottom#[F11:side:c2]|F11:side:c2#2
Enclosure edge F11:bottom#[F11:side:c3]|F11:side:c3#1
Enclosure edge F11:bottom#[F11:side:c3]|F11:side:c3#2
Enclosure edge F11:bottom#[F11:side:c4]|F11:side:c4#1
Enclosure edge F11:bottom#[F11:side:c4]|F11:side:c4#2
Enclosure edge F11:side:c1#1|F11:side:c1#2~1 [geometric]
Enclosure edge F11:side:c1#1|F11:side:c1#2~2 [geometric]
Enclosure edge F11:side:c1#1|F7:top#[F7:side:c1]
Enclosure edge F11:side:c1#2|F7:top#[F7:side:c1]
Enclosure edge F11:side:c2#1|F11:side:c2#2~1 [geometric]
Enclosure edge F11:side:c2#1|F11:side:c2#2~2 [geometric]
Enclosure edge F11:side:c2#1|F7:top#[F7:side:c2]
Enclosure edge F11:side:c2#2|F7:top#[F7:side:c2]
Enclosure edge F11:side:c3#1|F11:side:c3#2~1 [geometric]
Enclosure edge F11:side:c3#1|F11:side:c3#2~2 [geometric]
Enclosure edge F11:side:c3#1|F7:top#[F7:side:c3]
Enclosure edge F11:side:c3#2|F7:top#[F7:side:c3]
Enclosure edge F11:side:c4#1|F11:side:c4#2~1 [geometric]
Enclosure edge F11:side:c4#1|F11:side:c4#2~2 [geometric]
Enclosure edge F11:side:c4#1|F7:top#[F7:side:c4]
Enclosure edge F11:side:c4#2|F7:top#[F7:side:c4]
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: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#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]
Enclosure edge F4:inner:F2:side:l1|F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]
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:l1|F8:side:r2
Enclosure edge F4:inner:F2:side:l1|F8:side:r4
Enclosure edge F4:inner:F2:side:l1|F8:top
Enclosure edge F4:inner:F2:side:l2|F4:inner:F2:start#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]
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:l3|F4:inner:F2:start#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]
Enclosure edge F4:inner:F2:side:l3|F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]
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:l3|F8:side:r2
Enclosure edge F4:inner:F2:side:l3|F8:side:r4
Enclosure edge F4:inner:F2:side:l3|F8:top
Enclosure edge F4:inner:F2:side:l4|F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]
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:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]|F4:inner:F3:blend:F2:side:l1|F2:side:l2
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]|F4:inner:F3:blend:F2:side:l2|F2:side:l3
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]|F7:side:c2#1
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]|F7:side:c2#2
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]|F7:side:c4#1
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]|F7:side:c4#2
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l2,F4:inner:F3:blend:F2:side:l1|F2:side:l2,F4:inner:F3:blend:F2:side:l2|F2:side:l3,F7:side:c2,F7:side:c4,F8:side:r2]|F8:side:r2
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]|F4:inner:F3:blend:F2:side:l1|F2:side:l4
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]|F4:inner:F3:blend:F2:side:l3|F2:side:l4
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]|F7:side:c1#1
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]|F7:side:c1#2
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]|F7:side:c3#1
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]|F7:side:c3#2
Enclosure edge F4:inner:F2:start#[F4:inner:F2:side:l4,F4:inner:F3:blend:F2:side:l1|F2:side:l4,F4:inner:F3:blend:F2:side:l3|F2:side:l4,F7:side:c1,F7:side:c3,F8:side:r4]|F8:side:r4
Enclosure edge F7:side:c1#1|F7:side:c1#2~1 [geometric]
Enclosure edge F7:side:c1#1|F7:side:c1#2~2 [geometric]
Enclosure edge F7:side:c1#1|F7:top#[F7:side:c1]
Enclosure edge F7:side:c1#2|F7:top#[F7:side:c1]
Enclosure edge F7:side:c2#1|F7:side:c2#2~1 [geometric]
Enclosure edge F7:side:c2#1|F7:side:c2#2~2 [geometric]
Enclosure edge F7:side:c2#1|F7:top#[F7:side:c2]
Enclosure edge F7:side:c2#2|F7:top#[F7:side:c2]
Enclosure edge F7:side:c3#1|F7:side:c3#2~1 [geometric]
Enclosure edge F7:side:c3#1|F7:side:c3#2~2 [geometric]
Enclosure edge F7:side:c3#1|F7:top#[F7:side:c3]
Enclosure edge F7:side:c3#2|F7:top#[F7:side:c3]
Enclosure edge F7:side:c4#1|F7:side:c4#2~1 [geometric]
Enclosure edge F7:side:c4#1|F7:side:c4#2~2 [geometric]
Enclosure edge F7:side:c4#1|F7:top#[F7:side:c4]
Enclosure edge F7:side:c4#2|F7:top#[F7:side:c4]
Enclosure edge F8:side:r2|F8:top
Enclosure edge F8:side:r4|F8:top
ref CornerFillet (3) edge 0 `F2:side:l3|F2:side:l4` -> Enclosure edge F2:side:l3|F2:side:l4
ref CornerFillet (3) edge 1 `F2:side:l2|F2:side:l3` -> Enclosure edge F2:side:l2|F2:side:l3
ref CornerFillet (3) edge 2 `F2:side:l1|F2:side:l2` -> Enclosure edge F2:side:l1|F2:side:l2
ref CornerFillet (3) edge 3 `F2:side:l1|F2:side:l4` -> Enclosure edge F2:side:l1|F2:side:l4
ref Shell1 (4) face 0 `F2:top` -> Enclosure face F2:top
+125
View File
@@ -0,0 +1,125 @@
# oracle/60-pipe-flange: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Flange: 34 faces, 87 edges
Flange face F2:side:l1
Flange face F2:side:l2#1
Flange face F2:side:l2#2
Flange face F2:side:l2#3
Flange face F2:side:l3
Flange face F2:side:l4#1
Flange face F2:side:l4#2
Flange face F2:side:l4#3
Flange face F2:side:l5
Flange face F2:side:l6#1
Flange face F2:side:l6#2
Flange face F2:side:l6#3
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 face F4:side:c1@F5.6#1
Flange face F4:side:c1@F5.6#2
Flange face F4:side:c1@F5.7#1
Flange face F4:side:c1@F5.7#2
Flange face F6:blend:F2:side:l5|F2:side:l6#1
Flange face F6:blend:F2:side:l5|F2:side:l6#2
Flange face F6:blend:F2:side:l5|F2:side:l6#3
Flange face F7:blend:F2:side:l3|F2:side:l4#1
Flange face F7:blend:F2:side:l3|F2:side:l4#2
Flange face F7:blend:F2:side:l3|F2:side:l4#3
Flange edge F2:side:l1|F2:side:l2#1
Flange edge F2:side:l1|F2:side:l2#2
Flange edge F2:side:l1|F2:side:l2#3
Flange edge F2:side:l1|F2:side:l6#1
Flange edge F2:side:l1|F2:side:l6#2
Flange edge F2:side:l1|F2:side:l6#3
Flange edge F2:side:l1|F4:side:c1#1
Flange edge F2:side:l1|F4:side:c1#2
Flange edge F2:side:l1|F4:side:c1@F5.1#1
Flange edge F2:side:l1|F4:side:c1@F5.1#2
Flange edge F2:side:l1|F4:side:c1@F5.2#1
Flange edge F2:side:l1|F4:side:c1@F5.2#2
Flange edge F2:side:l1|F4:side:c1@F5.3#1
Flange edge F2:side:l1|F4:side:c1@F5.3#2
Flange edge F2:side:l1|F4:side:c1@F5.4#1
Flange edge F2:side:l1|F4:side:c1@F5.4#2
Flange edge F2:side:l1|F4:side:c1@F5.5#1
Flange edge F2:side:l1|F4:side:c1@F5.5#2
Flange edge F2:side:l1|F4:side:c1@F5.6#1
Flange edge F2:side:l1|F4:side:c1@F5.6#2
Flange edge F2:side:l1|F4:side:c1@F5.7#1
Flange edge F2:side:l1|F4:side:c1@F5.7#2
Flange edge F2:side:l2#1|F2:side:l2#2
Flange edge F2:side:l2#1|F2:side:l2#3
Flange edge F2:side:l2#1|F2:side:l3
Flange edge F2:side:l2#2|F2:side:l2#3
Flange edge F2:side:l2#2|F2:side:l3
Flange edge F2:side:l2#3|F2:side:l3
Flange edge F2:side:l3|F4:side:c1#1
Flange edge F2:side:l3|F4:side:c1#2
Flange edge F2:side:l3|F4:side:c1@F5.1#1
Flange edge F2:side:l3|F4:side:c1@F5.1#2
Flange edge F2:side:l3|F4:side:c1@F5.2#1
Flange edge F2:side:l3|F4:side:c1@F5.2#2
Flange edge F2:side:l3|F4:side:c1@F5.3#1
Flange edge F2:side:l3|F4:side:c1@F5.3#2
Flange edge F2:side:l3|F4:side:c1@F5.4#1
Flange edge F2:side:l3|F4:side:c1@F5.4#2
Flange edge F2:side:l3|F4:side:c1@F5.5#1
Flange edge F2:side:l3|F4:side:c1@F5.5#2
Flange edge F2:side:l3|F4:side:c1@F5.6#1
Flange edge F2:side:l3|F4:side:c1@F5.6#2
Flange edge F2:side:l3|F4:side:c1@F5.7#1
Flange edge F2:side:l3|F4:side:c1@F5.7#2
Flange edge F2:side:l3|F7:blend:F2:side:l3|F2:side:l4#1
Flange edge F2:side:l3|F7:blend:F2:side:l3|F2:side:l4#2
Flange edge F2:side:l3|F7:blend:F2:side:l3|F2:side:l4#3
Flange edge F2:side:l4#1|F2:side:l4#2
Flange edge F2:side:l4#1|F2:side:l4#3
Flange edge F2:side:l4#1|F2:side:l5
Flange edge F2:side:l4#1|F7:blend:F2:side:l3|F2:side:l4#1
Flange edge F2:side:l4#2|F2:side:l4#3
Flange edge F2:side:l4#2|F2:side:l5
Flange edge F2:side:l4#2|F7:blend:F2:side:l3|F2:side:l4#2
Flange edge F2:side:l4#3|F2:side:l5
Flange edge F2:side:l4#3|F7:blend:F2:side:l3|F2:side:l4#3
Flange edge F2:side:l5|F6:blend:F2:side:l5|F2:side:l6#1
Flange edge F2:side:l5|F6:blend:F2:side:l5|F2:side:l6#2
Flange edge F2:side:l5|F6:blend:F2:side:l5|F2:side:l6#3
Flange edge F2:side:l6#1|F2:side:l6#2
Flange edge F2:side:l6#1|F2:side:l6#3
Flange edge F2:side:l6#1|F6:blend:F2:side:l5|F2:side:l6#1
Flange edge F2:side:l6#2|F2:side:l6#3
Flange edge F2:side:l6#2|F6:blend:F2:side:l5|F2:side:l6#2
Flange edge F2:side:l6#3|F6:blend:F2:side:l5|F2:side:l6#3
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]
Flange edge F4:side:c1@F5.6#1|F4:side:c1@F5.6#2~1 [geometric]
Flange edge F4:side:c1@F5.6#1|F4:side:c1@F5.6#2~2 [geometric]
Flange edge F4:side:c1@F5.7#1|F4:side:c1@F5.7#2~1 [geometric]
Flange edge F4:side:c1@F5.7#1|F4:side:c1@F5.7#2~2 [geometric]
Flange edge F6:blend:F2:side:l5|F2:side:l6#1|F6:blend:F2:side:l5|F2:side:l6#2
Flange edge F6:blend:F2:side:l5|F2:side:l6#1|F6:blend:F2:side:l5|F2:side:l6#3
Flange edge F6:blend:F2:side:l5|F2:side:l6#2|F6:blend:F2:side:l5|F2:side:l6#3
Flange edge F7:blend:F2:side:l3|F2:side:l4#1|F7:blend:F2:side:l3|F2:side:l4#2
Flange edge F7:blend:F2:side:l3|F2:side:l4#1|F7:blend:F2:side:l3|F2:side:l4#3
Flange edge F7:blend:F2:side:l3|F2:side:l4#2|F7:blend:F2:side:l3|F2:side:l4#3
ref BoreChamfer (6) edge 0 `F2:side:l5|F2:side:l6#2` -> Flange edge F2:side:l5|F2:side:l6#2
ref NeckFillet (7) edge 0 `F2:side:l3|F2:side:l4#2` -> Flange edge F2:side:l3|F2:side:l4#2
+82
View File
@@ -0,0 +1,82 @@
# oracle/61-shaft-keyway: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Shaft: 24 faces, 54 edges
Shaft face F2:side:l1
Shaft face F2:side:l2#1
Shaft face F2:side:l2#2
Shaft face F2:side:l2#3
Shaft face F2:side:l3
Shaft face F2:side:l4#1
Shaft face F2:side:l4#2
Shaft face F2:side:l4#3
Shaft face F2:side:l5
Shaft face F2:side:l6#1
Shaft face F2:side:l6#2
Shaft face F2:side:l6#3
Shaft face F2:side:l7
Shaft face F3:blend:F2:side:l1|F2:side:l2#1
Shaft face F3:blend:F2:side:l1|F2:side:l2#2
Shaft face F3:blend:F2:side:l1|F2:side:l2#3
Shaft face F3:blend:F2:side:l6#1|F2:side:l7
Shaft face F3:blend:F2:side:l6#2|F2:side:l7
Shaft face F3:blend:F2:side:l6#3|F2:side:l7
Shaft face F6:bottom
Shaft face F6:side:a1
Shaft face F6:side:a2
Shaft face F6:side:l1
Shaft face F6:side:l2
Shaft edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#1
Shaft edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#2
Shaft edge F2:side:l1|F3:blend:F2:side:l1|F2:side:l2#3
Shaft edge F2:side:l2#1|F2:side:l2#2
Shaft edge F2:side:l2#1|F2:side:l2#3
Shaft edge F2:side:l2#1|F2:side:l3
Shaft edge F2:side:l2#1|F3:blend:F2:side:l1|F2:side:l2#1
Shaft edge F2:side:l2#2|F2:side:l2#3
Shaft edge F2:side:l2#2|F2:side:l3
Shaft edge F2:side:l2#2|F3:blend:F2:side:l1|F2:side:l2#2
Shaft edge F2:side:l2#3|F2:side:l3
Shaft edge F2:side:l2#3|F3:blend:F2:side:l1|F2:side:l2#3
Shaft edge F2:side:l3|F2:side:l4#1
Shaft edge F2:side:l3|F2:side:l4#2
Shaft edge F2:side:l3|F2:side:l4#3
Shaft edge F2:side:l4#1|F2:side:l4#2
Shaft edge F2:side:l4#1|F2:side:l4#3~1 [geometric]
Shaft edge F2:side:l4#1|F2:side:l4#3~2 [geometric]
Shaft edge F2:side:l4#1|F2:side:l5
Shaft edge F2:side:l4#1|F6:side:a1
Shaft edge F2:side:l4#1|F6:side:a2
Shaft edge F2:side:l4#1|F6:side:l2
Shaft edge F2:side:l4#2|F2:side:l4#3
Shaft edge F2:side:l4#2|F2:side:l5
Shaft edge F2:side:l4#3|F2:side:l5
Shaft edge F2:side:l4#3|F6:side:a1
Shaft edge F2:side:l4#3|F6:side:a2
Shaft edge F2:side:l4#3|F6:side:l1
Shaft edge F2:side:l5|F2:side:l6#1
Shaft edge F2:side:l5|F2:side:l6#2
Shaft edge F2:side:l5|F2:side:l6#3
Shaft edge F2:side:l6#1|F2:side:l6#2
Shaft edge F2:side:l6#1|F2:side:l6#3
Shaft edge F2:side:l6#1|F3:blend:F2:side:l6#1|F2:side:l7
Shaft edge F2:side:l6#2|F2:side:l6#3
Shaft edge F2:side:l6#2|F3:blend:F2:side:l6#2|F2:side:l7
Shaft edge F2:side:l6#3|F3:blend:F2:side:l6#3|F2:side:l7
Shaft edge F2:side:l7|F3:blend:F2:side:l6#1|F2:side:l7
Shaft edge F2:side:l7|F3:blend:F2:side:l6#2|F2:side:l7
Shaft edge F2:side:l7|F3:blend:F2:side:l6#3|F2:side:l7
Shaft edge F3:blend:F2:side:l1|F2:side:l2#1|F3:blend:F2:side:l1|F2:side:l2#2
Shaft edge F3:blend:F2:side:l1|F2:side:l2#1|F3:blend:F2:side:l1|F2:side:l2#3
Shaft edge F3:blend:F2:side:l1|F2:side:l2#2|F3:blend:F2:side:l1|F2:side:l2#3
Shaft edge F3:blend:F2:side:l6#1|F2:side:l7|F3:blend:F2:side:l6#2|F2:side:l7
Shaft edge F3:blend:F2:side:l6#1|F2:side:l7|F3:blend:F2:side:l6#3|F2:side:l7
Shaft edge F3:blend:F2:side:l6#2|F2:side:l7|F3:blend:F2:side:l6#3|F2:side:l7
Shaft edge F6:bottom|F6:side:a1
Shaft edge F6:bottom|F6:side:a2
Shaft edge F6:bottom|F6:side:l1
Shaft edge F6:bottom|F6:side:l2
Shaft edge F6:side:a1|F6:side:l1
Shaft edge F6:side:a1|F6:side:l2
Shaft edge F6:side:a2|F6:side:l1
Shaft edge F6:side:a2|F6:side:l2
ref EndChamfers (3) edge 0 `F2:side:l1|F2:side:l2#2` -> Shaft edge F2:side:l1|F2:side:l2#2
ref EndChamfers (3) edge 1 `F2:side:l6#2|F2:side:l7` -> Shaft edge F2:side:l6#2|F2:side:l7
+260
View File
@@ -0,0 +1,260 @@
# oracle/62-heat-sink: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body HeatSink: 66 faces, 192 edges
HeatSink face F2:side:l1
HeatSink face F2:side:l2
HeatSink face F2:side:l3
HeatSink face F2:side:l4
HeatSink face F2:start
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F2:side:l2,F5:side:l2@F6.14]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2,F5:side:l4@F6.1]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.1,F5:side:l4@F6.2]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.10,F5:side:l4@F6.11]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.11,F5:side:l4@F6.12]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.12,F5:side:l4@F6.13]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.13,F5:side:l4@F6.14]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.2,F5:side:l4@F6.3]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.3,F5:side:l4@F6.4]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.4,F5:side:l4@F6.5]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.5,F5:side:l4@F6.6]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.6,F5:side:l4@F6.7]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.7,F5:side:l4@F6.8]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.8,F5:side:l4@F6.9]
HeatSink face F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.9,F5:side:l4@F6.10]
HeatSink face F2:top#[F2:side:l4,F5:side:l4]
HeatSink face F5:side:l2
HeatSink face F5:side:l2@F6.1
HeatSink face F5:side:l2@F6.10
HeatSink face F5:side:l2@F6.11
HeatSink face F5:side:l2@F6.12
HeatSink face F5:side:l2@F6.13
HeatSink face F5:side:l2@F6.14
HeatSink face F5:side:l2@F6.2
HeatSink face F5:side:l2@F6.3
HeatSink face F5:side:l2@F6.4
HeatSink face F5:side:l2@F6.5
HeatSink face F5:side:l2@F6.6
HeatSink face F5:side:l2@F6.7
HeatSink face F5:side:l2@F6.8
HeatSink face F5:side:l2@F6.9
HeatSink face F5:side:l4
HeatSink face F5:side:l4@F6.1
HeatSink face F5:side:l4@F6.10
HeatSink face F5:side:l4@F6.11
HeatSink face F5:side:l4@F6.12
HeatSink face F5:side:l4@F6.13
HeatSink face F5:side:l4@F6.14
HeatSink face F5:side:l4@F6.2
HeatSink face F5:side:l4@F6.3
HeatSink face F5:side:l4@F6.4
HeatSink face F5:side:l4@F6.5
HeatSink face F5:side:l4@F6.6
HeatSink face F5:side:l4@F6.7
HeatSink face F5:side:l4@F6.8
HeatSink face F5:side:l4@F6.9
HeatSink face F5:top
HeatSink face F5:top@F6.1
HeatSink face F5:top@F6.10
HeatSink face F5:top@F6.11
HeatSink face F5:top@F6.12
HeatSink face F5:top@F6.13
HeatSink face F5:top@F6.14
HeatSink face F5:top@F6.2
HeatSink face F5:top@F6.3
HeatSink face F5:top@F6.4
HeatSink face F5:top@F6.5
HeatSink face F5:top@F6.6
HeatSink face F5:top@F6.7
HeatSink face F5:top@F6.8
HeatSink face F5:top@F6.9
HeatSink edge F2:side:l1|F2:side:l2
HeatSink edge F2:side:l1|F2:side:l4
HeatSink edge F2:side:l1|F2:start
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F2:side:l2,F5:side:l2@F6.14]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2,F5:side:l4@F6.1]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.1,F5:side:l4@F6.2]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.10,F5:side:l4@F6.11]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.11,F5:side:l4@F6.12]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.12,F5:side:l4@F6.13]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.13,F5:side:l4@F6.14]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.2,F5:side:l4@F6.3]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.3,F5:side:l4@F6.4]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.4,F5:side:l4@F6.5]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.5,F5:side:l4@F6.6]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.6,F5:side:l4@F6.7]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.7,F5:side:l4@F6.8]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.8,F5:side:l4@F6.9]
HeatSink edge F2:side:l1|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.9,F5:side:l4@F6.10]
HeatSink edge F2:side:l1|F2:top#[F2:side:l4,F5:side:l4]
HeatSink edge F2:side:l1|F5:side:l2
HeatSink edge F2:side:l1|F5:side:l2@F6.1
HeatSink edge F2:side:l1|F5:side:l2@F6.10
HeatSink edge F2:side:l1|F5:side:l2@F6.11
HeatSink edge F2:side:l1|F5:side:l2@F6.12
HeatSink edge F2:side:l1|F5:side:l2@F6.13
HeatSink edge F2:side:l1|F5:side:l2@F6.14
HeatSink edge F2:side:l1|F5:side:l2@F6.2
HeatSink edge F2:side:l1|F5:side:l2@F6.3
HeatSink edge F2:side:l1|F5:side:l2@F6.4
HeatSink edge F2:side:l1|F5:side:l2@F6.5
HeatSink edge F2:side:l1|F5:side:l2@F6.6
HeatSink edge F2:side:l1|F5:side:l2@F6.7
HeatSink edge F2:side:l1|F5:side:l2@F6.8
HeatSink edge F2:side:l1|F5:side:l2@F6.9
HeatSink edge F2:side:l1|F5:side:l4
HeatSink edge F2:side:l1|F5:side:l4@F6.1
HeatSink edge F2:side:l1|F5:side:l4@F6.10
HeatSink edge F2:side:l1|F5:side:l4@F6.11
HeatSink edge F2:side:l1|F5:side:l4@F6.12
HeatSink edge F2:side:l1|F5:side:l4@F6.13
HeatSink edge F2:side:l1|F5:side:l4@F6.14
HeatSink edge F2:side:l1|F5:side:l4@F6.2
HeatSink edge F2:side:l1|F5:side:l4@F6.3
HeatSink edge F2:side:l1|F5:side:l4@F6.4
HeatSink edge F2:side:l1|F5:side:l4@F6.5
HeatSink edge F2:side:l1|F5:side:l4@F6.6
HeatSink edge F2:side:l1|F5:side:l4@F6.7
HeatSink edge F2:side:l1|F5:side:l4@F6.8
HeatSink edge F2:side:l1|F5:side:l4@F6.9
HeatSink edge F2:side:l1|F5:top
HeatSink edge F2:side:l1|F5:top@F6.1
HeatSink edge F2:side:l1|F5:top@F6.10
HeatSink edge F2:side:l1|F5:top@F6.11
HeatSink edge F2:side:l1|F5:top@F6.12
HeatSink edge F2:side:l1|F5:top@F6.13
HeatSink edge F2:side:l1|F5:top@F6.14
HeatSink edge F2:side:l1|F5:top@F6.2
HeatSink edge F2:side:l1|F5:top@F6.3
HeatSink edge F2:side:l1|F5:top@F6.4
HeatSink edge F2:side:l1|F5:top@F6.5
HeatSink edge F2:side:l1|F5:top@F6.6
HeatSink edge F2:side:l1|F5:top@F6.7
HeatSink edge F2:side:l1|F5:top@F6.8
HeatSink edge F2:side:l1|F5:top@F6.9
HeatSink edge F2:side:l2|F2:side:l3
HeatSink edge F2:side:l2|F2:start
HeatSink edge F2:side:l2|F2:top#[F2:side:l2,F5:side:l2]#[F2:side:l2,F5:side:l2@F6.14]
HeatSink edge F2:side:l3|F2:side:l4
HeatSink edge F2:side:l3|F2:start
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F2:side:l2,F5:side:l2@F6.14]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2,F5:side:l4@F6.1]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.1,F5:side:l4@F6.2]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.10,F5:side:l4@F6.11]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.11,F5:side:l4@F6.12]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.12,F5:side:l4@F6.13]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.13,F5:side:l4@F6.14]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.2,F5:side:l4@F6.3]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.3,F5:side:l4@F6.4]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.4,F5:side:l4@F6.5]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.5,F5:side:l4@F6.6]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.6,F5:side:l4@F6.7]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.7,F5:side:l4@F6.8]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.8,F5:side:l4@F6.9]
HeatSink edge F2:side:l3|F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.9,F5:side:l4@F6.10]
HeatSink edge F2:side:l3|F2:top#[F2:side:l4,F5:side:l4]
HeatSink edge F2:side:l3|F5:side:l2
HeatSink edge F2:side:l3|F5:side:l2@F6.1
HeatSink edge F2:side:l3|F5:side:l2@F6.10
HeatSink edge F2:side:l3|F5:side:l2@F6.11
HeatSink edge F2:side:l3|F5:side:l2@F6.12
HeatSink edge F2:side:l3|F5:side:l2@F6.13
HeatSink edge F2:side:l3|F5:side:l2@F6.14
HeatSink edge F2:side:l3|F5:side:l2@F6.2
HeatSink edge F2:side:l3|F5:side:l2@F6.3
HeatSink edge F2:side:l3|F5:side:l2@F6.4
HeatSink edge F2:side:l3|F5:side:l2@F6.5
HeatSink edge F2:side:l3|F5:side:l2@F6.6
HeatSink edge F2:side:l3|F5:side:l2@F6.7
HeatSink edge F2:side:l3|F5:side:l2@F6.8
HeatSink edge F2:side:l3|F5:side:l2@F6.9
HeatSink edge F2:side:l3|F5:side:l4
HeatSink edge F2:side:l3|F5:side:l4@F6.1
HeatSink edge F2:side:l3|F5:side:l4@F6.10
HeatSink edge F2:side:l3|F5:side:l4@F6.11
HeatSink edge F2:side:l3|F5:side:l4@F6.12
HeatSink edge F2:side:l3|F5:side:l4@F6.13
HeatSink edge F2:side:l3|F5:side:l4@F6.14
HeatSink edge F2:side:l3|F5:side:l4@F6.2
HeatSink edge F2:side:l3|F5:side:l4@F6.3
HeatSink edge F2:side:l3|F5:side:l4@F6.4
HeatSink edge F2:side:l3|F5:side:l4@F6.5
HeatSink edge F2:side:l3|F5:side:l4@F6.6
HeatSink edge F2:side:l3|F5:side:l4@F6.7
HeatSink edge F2:side:l3|F5:side:l4@F6.8
HeatSink edge F2:side:l3|F5:side:l4@F6.9
HeatSink edge F2:side:l3|F5:top
HeatSink edge F2:side:l3|F5:top@F6.1
HeatSink edge F2:side:l3|F5:top@F6.10
HeatSink edge F2:side:l3|F5:top@F6.11
HeatSink edge F2:side:l3|F5:top@F6.12
HeatSink edge F2:side:l3|F5:top@F6.13
HeatSink edge F2:side:l3|F5:top@F6.14
HeatSink edge F2:side:l3|F5:top@F6.2
HeatSink edge F2:side:l3|F5:top@F6.3
HeatSink edge F2:side:l3|F5:top@F6.4
HeatSink edge F2:side:l3|F5:top@F6.5
HeatSink edge F2:side:l3|F5:top@F6.6
HeatSink edge F2:side:l3|F5:top@F6.7
HeatSink edge F2:side:l3|F5:top@F6.8
HeatSink edge F2:side:l3|F5:top@F6.9
HeatSink edge F2:side:l4|F2:start
HeatSink edge F2:side:l4|F2:top#[F2:side:l4,F5:side:l4]
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F2:side:l2,F5:side:l2@F6.14]|F5:side:l2@F6.14
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2,F5:side:l4@F6.1]|F5:side:l2
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2,F5:side:l4@F6.1]|F5:side:l4@F6.1
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.1,F5:side:l4@F6.2]|F5:side:l2@F6.1
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.1,F5:side:l4@F6.2]|F5:side:l4@F6.2
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.10,F5:side:l4@F6.11]|F5:side:l2@F6.10
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.10,F5:side:l4@F6.11]|F5:side:l4@F6.11
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.11,F5:side:l4@F6.12]|F5:side:l2@F6.11
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.11,F5:side:l4@F6.12]|F5:side:l4@F6.12
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.12,F5:side:l4@F6.13]|F5:side:l2@F6.12
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.12,F5:side:l4@F6.13]|F5:side:l4@F6.13
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.13,F5:side:l4@F6.14]|F5:side:l2@F6.13
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.13,F5:side:l4@F6.14]|F5:side:l4@F6.14
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.2,F5:side:l4@F6.3]|F5:side:l2@F6.2
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.2,F5:side:l4@F6.3]|F5:side:l4@F6.3
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.3,F5:side:l4@F6.4]|F5:side:l2@F6.3
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.3,F5:side:l4@F6.4]|F5:side:l4@F6.4
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.4,F5:side:l4@F6.5]|F5:side:l2@F6.4
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.4,F5:side:l4@F6.5]|F5:side:l4@F6.5
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.5,F5:side:l4@F6.6]|F5:side:l2@F6.5
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.5,F5:side:l4@F6.6]|F5:side:l4@F6.6
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.6,F5:side:l4@F6.7]|F5:side:l2@F6.6
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.6,F5:side:l4@F6.7]|F5:side:l4@F6.7
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.7,F5:side:l4@F6.8]|F5:side:l2@F6.7
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.7,F5:side:l4@F6.8]|F5:side:l4@F6.8
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.8,F5:side:l4@F6.9]|F5:side:l2@F6.8
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.8,F5:side:l4@F6.9]|F5:side:l4@F6.9
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.9,F5:side:l4@F6.10]|F5:side:l2@F6.9
HeatSink edge F2:top#[F2:side:l2,F5:side:l2]#[F5:side:l2@F6.9,F5:side:l4@F6.10]|F5:side:l4@F6.10
HeatSink edge F2:top#[F2:side:l4,F5:side:l4]|F5:side:l4
HeatSink edge F5:side:l2@F6.10|F5:top@F6.10
HeatSink edge F5:side:l2@F6.11|F5:top@F6.11
HeatSink edge F5:side:l2@F6.12|F5:top@F6.12
HeatSink edge F5:side:l2@F6.13|F5:top@F6.13
HeatSink edge F5:side:l2@F6.14|F5:top@F6.14
HeatSink edge F5:side:l2@F6.1|F5:top@F6.1
HeatSink edge F5:side:l2@F6.2|F5:top@F6.2
HeatSink edge F5:side:l2@F6.3|F5:top@F6.3
HeatSink edge F5:side:l2@F6.4|F5:top@F6.4
HeatSink edge F5:side:l2@F6.5|F5:top@F6.5
HeatSink edge F5:side:l2@F6.6|F5:top@F6.6
HeatSink edge F5:side:l2@F6.7|F5:top@F6.7
HeatSink edge F5:side:l2@F6.8|F5:top@F6.8
HeatSink edge F5:side:l2@F6.9|F5:top@F6.9
HeatSink edge F5:side:l2|F5:top
HeatSink edge F5:side:l4@F6.10|F5:top@F6.10
HeatSink edge F5:side:l4@F6.11|F5:top@F6.11
HeatSink edge F5:side:l4@F6.12|F5:top@F6.12
HeatSink edge F5:side:l4@F6.13|F5:top@F6.13
HeatSink edge F5:side:l4@F6.14|F5:top@F6.14
HeatSink edge F5:side:l4@F6.1|F5:top@F6.1
HeatSink edge F5:side:l4@F6.2|F5:top@F6.2
HeatSink edge F5:side:l4@F6.3|F5:top@F6.3
HeatSink edge F5:side:l4@F6.4|F5:top@F6.4
HeatSink edge F5:side:l4@F6.5|F5:top@F6.5
HeatSink edge F5:side:l4@F6.6|F5:top@F6.6
HeatSink edge F5:side:l4@F6.7|F5:top@F6.7
HeatSink edge F5:side:l4@F6.8|F5:top@F6.8
HeatSink edge F5:side:l4@F6.9|F5:top@F6.9
HeatSink edge F5:side:l4|F5:top
+76
View File
@@ -0,0 +1,76 @@
# oracle/63-hinge-knuckle: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Hinge: 20 faces, 54 edges
Hinge face F2:side:l1
Hinge face F2:side:l2
Hinge face F2:side:l3#[F2:side:l2,F8:side:l2]
Hinge face F2:side:l3#[F2:side:l4,F8:side:l4]
Hinge face F2:side:l4
Hinge face F2:start
Hinge face F2:top
Hinge face F4:side:c1#[F2:side:l2,F8:side:l2]
Hinge face F4:side:c1#[F2:side:l3]#[F2:side:l2,F8:side:l2]
Hinge face F4:side:c1#[F2:side:l3]#[F2:side:l4,F8:side:l4]
Hinge face F4:side:c1#[F2:side:l4,F8:side:l4]
Hinge face F4:side:c1#[F2:top]#[F2:side:l2,F8:side:l2]
Hinge face F4:side:c1#[F2:top]#[F2:side:l4,F8:side:l4]
Hinge face F6:side:c1#1#[F2:side:l2,F8:side:l2]
Hinge face F6:side:c1#1#[F2:side:l4,F8:side:l4]
Hinge face F6:side:c1#2#[F2:side:l2,F8:side:l2]
Hinge face F6:side:c1#2#[F2:side:l4,F8:side:l4]
Hinge face F8:side:l1
Hinge face F8:side:l2
Hinge face F8:side:l4
Hinge edge F2:side:l1|F2:side:l2
Hinge edge F2:side:l1|F2:side:l4
Hinge edge F2:side:l1|F2:start
Hinge edge F2:side:l1|F2:top
Hinge edge F2:side:l2|F2:side:l3#[F2:side:l2,F8:side:l2]
Hinge edge F2:side:l2|F2:start
Hinge edge F2:side:l2|F2:top
Hinge edge F2:side:l2|F4:side:c1#[F2:side:l2,F8:side:l2]
Hinge edge F2:side:l2|F4:side:c1#[F2:side:l3]#[F2:side:l2,F8:side:l2]
Hinge edge F2:side:l2|F4:side:c1#[F2:top]#[F2:side:l2,F8:side:l2]
Hinge edge F2:side:l2|F6:side:c1#1#[F2:side:l2,F8:side:l2]
Hinge edge F2:side:l2|F6:side:c1#2#[F2:side:l2,F8:side:l2]
Hinge edge F2:side:l3#[F2:side:l2,F8:side:l2]|F2:start
Hinge edge F2:side:l3#[F2:side:l2,F8:side:l2]|F4:side:c1#[F2:side:l3]#[F2:side:l2,F8:side:l2]
Hinge edge F2:side:l3#[F2:side:l2,F8:side:l2]|F8:side:l2
Hinge edge F2:side:l3#[F2:side:l4,F8:side:l4]|F2:side:l4
Hinge edge F2:side:l3#[F2:side:l4,F8:side:l4]|F2:start
Hinge edge F2:side:l3#[F2:side:l4,F8:side:l4]|F4:side:c1#[F2:side:l3]#[F2:side:l4,F8:side:l4]
Hinge edge F2:side:l3#[F2:side:l4,F8:side:l4]|F8:side:l4
Hinge edge F2:side:l4|F2:start
Hinge edge F2:side:l4|F2:top
Hinge edge F2:side:l4|F4:side:c1#[F2:side:l3]#[F2:side:l4,F8:side:l4]
Hinge edge F2:side:l4|F4:side:c1#[F2:side:l4,F8:side:l4]
Hinge edge F2:side:l4|F4:side:c1#[F2:top]#[F2:side:l4,F8:side:l4]
Hinge edge F2:side:l4|F6:side:c1#1#[F2:side:l4,F8:side:l4]
Hinge edge F2:side:l4|F6:side:c1#2#[F2:side:l4,F8:side:l4]
Hinge edge F2:start|F8:side:l1
Hinge edge F2:start|F8:side:l2
Hinge edge F2:start|F8:side:l4
Hinge edge F2:top|F4:side:c1#[F2:top]#[F2:side:l2,F8:side:l2]
Hinge edge F2:top|F4:side:c1#[F2:top]#[F2:side:l4,F8:side:l4]
Hinge edge F2:top|F8:side:l1
Hinge edge F2:top|F8:side:l2
Hinge edge F2:top|F8:side:l4
Hinge edge F4:side:c1#[F2:side:l2,F8:side:l2]|F4:side:c1#[F2:side:l3]#[F2:side:l2,F8:side:l2]
Hinge edge F4:side:c1#[F2:side:l2,F8:side:l2]|F4:side:c1#[F2:top]#[F2:side:l2,F8:side:l2]
Hinge edge F4:side:c1#[F2:side:l2,F8:side:l2]|F8:side:l2
Hinge edge F4:side:c1#[F2:side:l3]#[F2:side:l2,F8:side:l2]|F8:side:l2
Hinge edge F4:side:c1#[F2:side:l3]#[F2:side:l4,F8:side:l4]|F4:side:c1#[F2:side:l4,F8:side:l4]
Hinge edge F4:side:c1#[F2:side:l3]#[F2:side:l4,F8:side:l4]|F8:side:l4
Hinge edge F4:side:c1#[F2:side:l4,F8:side:l4]|F4:side:c1#[F2:top]#[F2:side:l4,F8:side:l4]
Hinge edge F4:side:c1#[F2:side:l4,F8:side:l4]|F8:side:l4
Hinge edge F4:side:c1#[F2:top]#[F2:side:l2,F8:side:l2]|F8:side:l2
Hinge edge F4:side:c1#[F2:top]#[F2:side:l4,F8:side:l4]|F8:side:l4
Hinge edge F6:side:c1#1#[F2:side:l2,F8:side:l2]|F6:side:c1#2#[F2:side:l2,F8:side:l2]~1 [geometric]
Hinge edge F6:side:c1#1#[F2:side:l2,F8:side:l2]|F6:side:c1#2#[F2:side:l2,F8:side:l2]~2 [geometric]
Hinge edge F6:side:c1#1#[F2:side:l2,F8:side:l2]|F8:side:l2
Hinge edge F6:side:c1#1#[F2:side:l4,F8:side:l4]|F6:side:c1#2#[F2:side:l4,F8:side:l4]~1 [geometric]
Hinge edge F6:side:c1#1#[F2:side:l4,F8:side:l4]|F6:side:c1#2#[F2:side:l4,F8:side:l4]~2 [geometric]
Hinge edge F6:side:c1#1#[F2:side:l4,F8:side:l4]|F8:side:l4
Hinge edge F6:side:c1#2#[F2:side:l2,F8:side:l2]|F8:side:l2
Hinge edge F6:side:c1#2#[F2:side:l4,F8:side:l4]|F8:side:l4
Hinge edge F8:side:l1|F8:side:l2
Hinge edge F8:side:l1|F8:side:l4
@@ -0,0 +1,32 @@
# oracle/64-sketch-tangent-arc-chain: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Wave: 9 faces, 21 edges
Wave face F2:side:a1
Wave face F2:side:a2
Wave face F2:side:a3
Wave face F2:side:a4
Wave face F2:side:l1
Wave face F2:side:l2
Wave face F2:side:l3
Wave face F2:start
Wave face F2:top
Wave edge F2:side:a1|F2:side:a2
Wave edge F2:side:a1|F2:side:l3
Wave edge F2:side:a1|F2:start
Wave edge F2:side:a1|F2:top
Wave edge F2:side:a2|F2:side:a3
Wave edge F2:side:a2|F2:start
Wave edge F2:side:a2|F2:top
Wave edge F2:side:a3|F2:side:a4
Wave edge F2:side:a3|F2:start
Wave edge F2:side:a3|F2:top
Wave edge F2:side:a4|F2:side:l1
Wave edge F2:side:a4|F2:start
Wave edge F2:side:a4|F2:top
Wave edge F2:side:l1|F2:side:l2
Wave edge F2:side:l1|F2:start
Wave edge F2:side:l1|F2:top
Wave edge F2:side:l2|F2:side:l3
Wave edge F2:side:l2|F2:start
Wave edge F2:side:l2|F2:top
Wave edge F2:side:l3|F2:start
Wave edge F2:side:l3|F2:top
@@ -0,0 +1,32 @@
# oracle/65-sketch-gear-tooth: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Tooth: 9 faces, 21 edges
Tooth face F2:side:f1
Tooth face F2:side:f2
Tooth face F2:side:r1
Tooth face F2:side:r2
Tooth face F2:side:s1
Tooth face F2:side:s2
Tooth face F2:side:t1
Tooth face F2:start
Tooth face F2:top
Tooth edge F2:side:f1|F2:side:r1
Tooth edge F2:side:f1|F2:side:t1
Tooth edge F2:side:f1|F2:start
Tooth edge F2:side:f1|F2:top
Tooth edge F2:side:f2|F2:side:r2
Tooth edge F2:side:f2|F2:side:t1
Tooth edge F2:side:f2|F2:start
Tooth edge F2:side:f2|F2:top
Tooth edge F2:side:r1|F2:side:s1
Tooth edge F2:side:r1|F2:start
Tooth edge F2:side:r1|F2:top
Tooth edge F2:side:r2|F2:side:s2
Tooth edge F2:side:r2|F2:start
Tooth edge F2:side:r2|F2:top
Tooth edge F2:side:s1|F2:side:s2
Tooth edge F2:side:s1|F2:start
Tooth edge F2:side:s1|F2:top
Tooth edge F2:side:s2|F2:start
Tooth edge F2:side:s2|F2:top
Tooth edge F2:side:t1|F2:start
Tooth edge F2:side:t1|F2:top
+52
View File
@@ -0,0 +1,52 @@
# oracle/66-sketch-linkage: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Link: 14 faces, 36 edges
Link face F2:side:a1
Link face F2:side:a2
Link face F2:side:h1#1
Link face F2:side:h1#2
Link face F2:side:h2#1
Link face F2:side:h2#2
Link face F2:side:h3#1
Link face F2:side:h3#2
Link face F2:side:h4#1
Link face F2:side:h4#2
Link face F2:side:l1
Link face F2:side:l2
Link face F2:start
Link face F2:top
Link edge F2:side:a1|F2:side:l1
Link edge F2:side:a1|F2:side:l2
Link edge F2:side:a1|F2:start
Link edge F2:side:a1|F2:top
Link edge F2:side:a2|F2:side:l1
Link edge F2:side:a2|F2:side:l2
Link edge F2:side:a2|F2:start
Link edge F2:side:a2|F2:top
Link edge F2:side:h1#1|F2:side:h1#2~1 [geometric]
Link edge F2:side:h1#1|F2:side:h1#2~2 [geometric]
Link edge F2:side:h1#1|F2:start
Link edge F2:side:h1#1|F2:top
Link edge F2:side:h1#2|F2:start
Link edge F2:side:h1#2|F2:top
Link edge F2:side:h2#1|F2:side:h2#2~1 [geometric]
Link edge F2:side:h2#1|F2:side:h2#2~2 [geometric]
Link edge F2:side:h2#1|F2:start
Link edge F2:side:h2#1|F2:top
Link edge F2:side:h2#2|F2:start
Link edge F2:side:h2#2|F2:top
Link edge F2:side:h3#1|F2:side:h3#2~1 [geometric]
Link edge F2:side:h3#1|F2:side:h3#2~2 [geometric]
Link edge F2:side:h3#1|F2:start
Link edge F2:side:h3#1|F2:top
Link edge F2:side:h3#2|F2:start
Link edge F2:side:h3#2|F2:top
Link edge F2:side:h4#1|F2:side:h4#2~1 [geometric]
Link edge F2:side:h4#1|F2:side:h4#2~2 [geometric]
Link edge F2:side:h4#1|F2:start
Link edge F2:side:h4#1|F2:top
Link edge F2:side:h4#2|F2:start
Link edge F2:side:h4#2|F2:top
Link edge F2:side:l1|F2:start
Link edge F2:side:l1|F2:top
Link edge F2:side:l2|F2:start
Link edge F2:side:l2|F2:top
+20
View File
@@ -0,0 +1,20 @@
# oracle/67-sm-base-flange: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 6 faces, 12 edges
Body1 face F2:face:0 [geometric]
Body1 face F2:face:1 [geometric]
Body1 face F2:face:2 [geometric]
Body1 face F2:face:3 [geometric]
Body1 face F2:face:4 [geometric]
Body1 face F2:face:5 [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:0|F2:face:5 [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:1|F2:face:5 [geometric]
Body1 edge F2:face:2|F2:face:3 [geometric]
Body1 edge F2:face:2|F2:face:5 [geometric]
Body1 edge F2:face:3|F2:face:4 [geometric]
Body1 edge F2:face:4|F2:face:5 [geometric]
+45
View File
@@ -0,0 +1,45 @@
# oracle/68-sm-edge-flange: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 14 faces, 28 edges
Body1 face F2:face:0 [geometric]
Body1 face F2:face:1 [geometric]
Body1 face F2:face:3#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 face F2:face:3#[F3:face:10,F3:face:11,F3:face:9] [geometric]
Body1 face F2:face:4 [geometric]
Body1 face F2:face:5 [geometric]
Body1 face F3:face:10 [geometric]
Body1 face F3:face:11 [geometric]
Body1 face F3:face:12 [geometric]
Body1 face F3:face:5 [geometric]
Body1 face F3:face:6 [geometric]
Body1 face F3:face:7 [geometric]
Body1 face F3:face:8 [geometric]
Body1 face F3:face:9 [geometric]
Body1 edge F2:face:0|F2:face:3#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 edge F2:face:0|F2:face:4 [geometric]
Body1 edge F2:face:0|F2:face:5 [geometric]
Body1 edge F2:face:0|F3:face:10 [geometric]
Body1 edge F2:face:1|F2:face:3#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 edge F2:face:1|F2:face:4 [geometric]
Body1 edge F2:face:1|F2:face:5 [geometric]
Body1 edge F2:face:1|F3:face:11 [geometric]
Body1 edge F2:face:3#[F2:face:0,F2:face:1,F2:face:4]|F2:face:3#[F3:face:10,F3:face:11,F3:face:9] [geometric]
Body1 edge F2:face:3#[F2:face:0,F2:face:1,F2:face:4]|F2:face:4 [geometric]
Body1 edge F2:face:3#[F3:face:10,F3:face:11,F3:face:9]|F3:face:10 [geometric]
Body1 edge F2:face:3#[F3:face:10,F3:face:11,F3:face:9]|F3:face:11 [geometric]
Body1 edge F2:face:3#[F3:face:10,F3:face:11,F3:face:9]|F3:face:9 [geometric]
Body1 edge F2:face:4|F2:face:5 [geometric]
Body1 edge F2:face:5|F3:face:12 [geometric]
Body1 edge F3:face:10|F3:face:12 [geometric]
Body1 edge F3:face:10|F3:face:5 [geometric]
Body1 edge F3:face:11|F3:face:12 [geometric]
Body1 edge F3:face:11|F3:face:6 [geometric]
Body1 edge F3:face:12|F3:face:7 [geometric]
Body1 edge F3:face:5|F3:face:7 [geometric]
Body1 edge F3:face:5|F3:face:8 [geometric]
Body1 edge F3:face:5|F3:face:9 [geometric]
Body1 edge F3:face:6|F3:face:7 [geometric]
Body1 edge F3:face:6|F3:face:8 [geometric]
Body1 edge F3:face:6|F3:face:9 [geometric]
Body1 edge F3:face:7|F3:face:8 [geometric]
Body1 edge F3:face:8|F3:face:9 [geometric]
ref EdgeFlange1 (3) sheet edge 0 `base:l1:top` -> sheet edge on Body1
+152
View File
@@ -0,0 +1,152 @@
# oracle/69-sm-tray: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 46 faces, 100 edges
Body1 face F2:face:0 [geometric]
Body1 face F2:face:1 [geometric]
Body1 face F3:face:10 [geometric]
Body1 face F3:face:11 [geometric]
Body1 face F3:face:12 [geometric]
Body1 face F3:face:13 [geometric]
Body1 face F3:face:14 [geometric]
Body1 face F3:face:15 [geometric]
Body1 face F3:face:16 [geometric]
Body1 face F3:face:17 [geometric]
Body1 face F3:face:18 [geometric]
Body1 face F3:face:19 [geometric]
Body1 face F3:face:2 [geometric]
Body1 face F3:face:20 [geometric]
Body1 face F3:face:21 [geometric]
Body1 face F3:face:22 [geometric]
Body1 face F3:face:23 [geometric]
Body1 face F3:face:24 [geometric]
Body1 face F3:face:25 [geometric]
Body1 face F3:face:26 [geometric]
Body1 face F3:face:27 [geometric]
Body1 face F3:face:28 [geometric]
Body1 face F3:face:29 [geometric]
Body1 face F3:face:3 [geometric]
Body1 face F3:face:30 [geometric]
Body1 face F3:face:31 [geometric]
Body1 face F3:face:32 [geometric]
Body1 face F3:face:33 [geometric]
Body1 face F3:face:34 [geometric]
Body1 face F3:face:35 [geometric]
Body1 face F3:face:36 [geometric]
Body1 face F3:face:37 [geometric]
Body1 face F3:face:38 [geometric]
Body1 face F3:face:39 [geometric]
Body1 face F3:face:4 [geometric]
Body1 face F3:face:40 [geometric]
Body1 face F3:face:41 [geometric]
Body1 face F3:face:42 [geometric]
Body1 face F3:face:43 [geometric]
Body1 face F3:face:44 [geometric]
Body1 face F3:face:45 [geometric]
Body1 face F3:face:5 [geometric]
Body1 face F3:face:6 [geometric]
Body1 face F3:face:7 [geometric]
Body1 face F3:face:8 [geometric]
Body1 face F3:face:9 [geometric]
Body1 edge F2:face:0|F3:face:30 [geometric]
Body1 edge F2:face:0|F3:face:34 [geometric]
Body1 edge F2:face:0|F3:face:38 [geometric]
Body1 edge F2:face:0|F3:face:42 [geometric]
Body1 edge F2:face:1|F3:face:31 [geometric]
Body1 edge F2:face:1|F3:face:35 [geometric]
Body1 edge F2:face:1|F3:face:39 [geometric]
Body1 edge F2:face:1|F3:face:43 [geometric]
Body1 edge F3:face:10|F3:face:11 [geometric]
Body1 edge F3:face:10|F3:face:12 [geometric]
Body1 edge F3:face:10|F3:face:13 [geometric]
Body1 edge F3:face:10|F3:face:14 [geometric]
Body1 edge F3:face:10|F3:face:15 [geometric]
Body1 edge F3:face:10|F3:face:35 [geometric]
Body1 edge F3:face:11|F3:face:12 [geometric]
Body1 edge F3:face:11|F3:face:15 [geometric]
Body1 edge F3:face:11|F3:face:9 [geometric]
Body1 edge F3:face:12|F3:face:13 [geometric]
Body1 edge F3:face:12|F3:face:9 [geometric]
Body1 edge F3:face:13|F3:face:14 [geometric]
Body1 edge F3:face:13|F3:face:9 [geometric]
Body1 edge F3:face:14|F3:face:37 [geometric]
Body1 edge F3:face:14|F3:face:9 [geometric]
Body1 edge F3:face:15|F3:face:36 [geometric]
Body1 edge F3:face:15|F3:face:9 [geometric]
Body1 edge F3:face:16|F3:face:18 [geometric]
Body1 edge F3:face:16|F3:face:19 [geometric]
Body1 edge F3:face:16|F3:face:20 [geometric]
Body1 edge F3:face:16|F3:face:21 [geometric]
Body1 edge F3:face:16|F3:face:22 [geometric]
Body1 edge F3:face:16|F3:face:38 [geometric]
Body1 edge F3:face:17|F3:face:18 [geometric]
Body1 edge F3:face:17|F3:face:19 [geometric]
Body1 edge F3:face:17|F3:face:20 [geometric]
Body1 edge F3:face:17|F3:face:21 [geometric]
Body1 edge F3:face:17|F3:face:22 [geometric]
Body1 edge F3:face:17|F3:face:39 [geometric]
Body1 edge F3:face:18|F3:face:19 [geometric]
Body1 edge F3:face:18|F3:face:22 [geometric]
Body1 edge F3:face:19|F3:face:20 [geometric]
Body1 edge F3:face:20|F3:face:21 [geometric]
Body1 edge F3:face:21|F3:face:41 [geometric]
Body1 edge F3:face:22|F3:face:40 [geometric]
Body1 edge F3:face:23|F3:face:25 [geometric]
Body1 edge F3:face:23|F3:face:26 [geometric]
Body1 edge F3:face:23|F3:face:27 [geometric]
Body1 edge F3:face:23|F3:face:28 [geometric]
Body1 edge F3:face:23|F3:face:29 [geometric]
Body1 edge F3:face:23|F3:face:42 [geometric]
Body1 edge F3:face:24|F3:face:25 [geometric]
Body1 edge F3:face:24|F3:face:26 [geometric]
Body1 edge F3:face:24|F3:face:27 [geometric]
Body1 edge F3:face:24|F3:face:28 [geometric]
Body1 edge F3:face:24|F3:face:29 [geometric]
Body1 edge F3:face:24|F3:face:43 [geometric]
Body1 edge F3:face:25|F3:face:26 [geometric]
Body1 edge F3:face:25|F3:face:29 [geometric]
Body1 edge F3:face:26|F3:face:27 [geometric]
Body1 edge F3:face:27|F3:face:28 [geometric]
Body1 edge F3:face:28|F3:face:45 [geometric]
Body1 edge F3:face:29|F3:face:44 [geometric]
Body1 edge F3:face:2|F3:face:30 [geometric]
Body1 edge F3:face:2|F3:face:4 [geometric]
Body1 edge F3:face:2|F3:face:5 [geometric]
Body1 edge F3:face:2|F3:face:6 [geometric]
Body1 edge F3:face:2|F3:face:7 [geometric]
Body1 edge F3:face:2|F3:face:8 [geometric]
Body1 edge F3:face:30|F3:face:32 [geometric]
Body1 edge F3:face:30|F3:face:33 [geometric]
Body1 edge F3:face:31|F3:face:32 [geometric]
Body1 edge F3:face:31|F3:face:33 [geometric]
Body1 edge F3:face:32|F3:face:37 [geometric]
Body1 edge F3:face:32|F3:face:8 [geometric]
Body1 edge F3:face:33|F3:face:44 [geometric]
Body1 edge F3:face:33|F3:face:7 [geometric]
Body1 edge F3:face:34|F3:face:36 [geometric]
Body1 edge F3:face:34|F3:face:37 [geometric]
Body1 edge F3:face:34|F3:face:9 [geometric]
Body1 edge F3:face:35|F3:face:36 [geometric]
Body1 edge F3:face:35|F3:face:37 [geometric]
Body1 edge F3:face:36|F3:face:41 [geometric]
Body1 edge F3:face:38|F3:face:40 [geometric]
Body1 edge F3:face:38|F3:face:41 [geometric]
Body1 edge F3:face:39|F3:face:40 [geometric]
Body1 edge F3:face:39|F3:face:41 [geometric]
Body1 edge F3:face:3|F3:face:31 [geometric]
Body1 edge F3:face:3|F3:face:4 [geometric]
Body1 edge F3:face:3|F3:face:5 [geometric]
Body1 edge F3:face:3|F3:face:6 [geometric]
Body1 edge F3:face:3|F3:face:7 [geometric]
Body1 edge F3:face:3|F3:face:8 [geometric]
Body1 edge F3:face:40|F3:face:45 [geometric]
Body1 edge F3:face:42|F3:face:44 [geometric]
Body1 edge F3:face:42|F3:face:45 [geometric]
Body1 edge F3:face:43|F3:face:44 [geometric]
Body1 edge F3:face:43|F3:face:45 [geometric]
Body1 edge F3:face:4|F3:face:5 [geometric]
Body1 edge F3:face:4|F3:face:8 [geometric]
Body1 edge F3:face:5|F3:face:6 [geometric]
Body1 edge F3:face:6|F3:face:7 [geometric]
ref EdgeFlange1 (3) sheet edge 0 `base:l3:top` -> sheet edge on Body1
ref EdgeFlange1 (3) sheet edge 1 `base:l2:top` -> sheet edge on Body1
ref EdgeFlange1 (3) sheet edge 2 `base:l1:top` -> sheet edge on Body1
ref EdgeFlange1 (3) sheet edge 3 `base:l4:top` -> sheet edge on Body1
+45
View File
@@ -0,0 +1,45 @@
# oracle/70-sm-flange-45: persistent names after a rebuild (apps/solidcraft-cli/tests/naming_corpus.rs)
body Body1: 14 faces, 28 edges
Body1 face F2:face:0 [geometric]
Body1 face F2:face:1 [geometric]
Body1 face F2:face:3#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 face F2:face:3#[F3:face:10,F3:face:11,F3:face:9] [geometric]
Body1 face F2:face:4 [geometric]
Body1 face F2:face:5#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 face F2:face:5#[F3:face:10,F3:face:11,F3:face:7] [geometric]
Body1 face F3:face:10 [geometric]
Body1 face F3:face:11 [geometric]
Body1 face F3:face:5 [geometric]
Body1 face F3:face:6 [geometric]
Body1 face F3:face:7 [geometric]
Body1 face F3:face:8 [geometric]
Body1 face F3:face:9 [geometric]
Body1 edge F2:face:0|F2:face:3#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 edge F2:face:0|F2:face:4 [geometric]
Body1 edge F2:face:0|F2:face:5#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 edge F2:face:0|F3:face:10 [geometric]
Body1 edge F2:face:1|F2:face:3#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 edge F2:face:1|F2:face:4 [geometric]
Body1 edge F2:face:1|F2:face:5#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 edge F2:face:1|F3:face:11 [geometric]
Body1 edge F2:face:3#[F2:face:0,F2:face:1,F2:face:4]|F2:face:3#[F3:face:10,F3:face:11,F3:face:9] [geometric]
Body1 edge F2:face:3#[F2:face:0,F2:face:1,F2:face:4]|F2:face:4 [geometric]
Body1 edge F2:face:3#[F3:face:10,F3:face:11,F3:face:9]|F3:face:10 [geometric]
Body1 edge F2:face:3#[F3:face:10,F3:face:11,F3:face:9]|F3:face:11 [geometric]
Body1 edge F2:face:3#[F3:face:10,F3:face:11,F3:face:9]|F3:face:9 [geometric]
Body1 edge F2:face:4|F2:face:5#[F2:face:0,F2:face:1,F2:face:4] [geometric]
Body1 edge F2:face:5#[F2:face:0,F2:face:1,F2:face:4]|F2:face:5#[F3:face:10,F3:face:11,F3:face:7] [geometric]
Body1 edge F2:face:5#[F3:face:10,F3:face:11,F3:face:7]|F3:face:10 [geometric]
Body1 edge F2:face:5#[F3:face:10,F3:face:11,F3:face:7]|F3:face:11 [geometric]
Body1 edge F2:face:5#[F3:face:10,F3:face:11,F3:face:7]|F3:face:7 [geometric]
Body1 edge F3:face:10|F3:face:5 [geometric]
Body1 edge F3:face:11|F3:face:6 [geometric]
Body1 edge F3:face:5|F3:face:7 [geometric]
Body1 edge F3:face:5|F3:face:8 [geometric]
Body1 edge F3:face:5|F3:face:9 [geometric]
Body1 edge F3:face:6|F3:face:7 [geometric]
Body1 edge F3:face:6|F3:face:8 [geometric]
Body1 edge F3:face:6|F3:face:9 [geometric]
Body1 edge F3:face:7|F3:face:8 [geometric]
Body1 edge F3:face:8|F3:face:9 [geometric]
ref EdgeFlange1 (3) sheet edge 0 `base:l1:top` -> sheet edge on Body1

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