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 NAUO
edges at all, 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.