pub fn read_step_assembly(text: &str) -> Result<Option<StepAssembly>, String>Expand description
Read a STEP file’s product structure AND build each product’s own bodies, in ONE parse, with each distinct body built ONCE.
Ok(None) when the file carries no assembly structure worth using — no
structure edges at all (neither NAUO nor mapped item), or none that the walk
reaches a built body through. That is the same condition on which
[collect_step_solids] abandons the assembly branch, so a caller can treat
None as “fall back to the flat lane” and get exactly today’s behaviour.
Err only for a file that is not Part 21 or does not parse — a broken
assembly degrades, it does not fail.