pub struct StepImportReport {
pub solids: Vec<BrepSolid>,
pub failed: usize,
pub first_error: Option<String>,
pub refused: Vec<KernelRefusal>,
pub failed_refusals: Vec<KernelRefusal>,
pub sheets_skipped: usize,
pub approximations: Vec<(usize, Approximation)>,
pub stated_precisions_mm: Vec<f64>,
pub diagnostics: KernelDiagnostics,
}Expand description
What import_step_report returns: the bodies, how gracefully the file
imported, and the import’s diagnostics.
Fields§
§solids: Vec<BrepSolid>One solid per body that reconstructed, in file order.
failed: usizeThings that did not come in (skipped, not fatal): a body that failed to
reconstruct, an occurrence whose transform failed, or a mapping that was
refused (mapped::StepMappedItemError).
first_error: Option<String>The first such failure’s text, when failed > 0.
refused: Vec<KernelRefusal>The bodies the shell-closure gate refused, typed
(RefusalClass::UnsoundResult { defect: SoundnessDefect::VectorArea }),
in file order. Each is counted in failed. import_step and the
feature lane refuse the whole file on any of these; this lane returns
the bodies that did import beside them.
failed_refusals: Vec<KernelRefusal>The bodies that FAILED to build with a typed cause that is not the
closure gate’s, in file order: the pinched-vertex split, a
BREP_WITH_VOIDS certification, the post-build validation
(2026-10-03). Each is counted in failed, and the first is
first_error’s text; none refuses the whole file on any lane, which
is the outcome their text had.
sheets_skipped: usizeOpen surface-model sheets skipped (not solids, so not in failed);
also the counter SHEETS_SKIPPED in diagnostics.
approximations: Vec<(usize, Approximation)>(index into solids, approximation) for every imported body whose
shell closes over its bar (import.shell_closure); see
ImportedStep::approximations.
stated_precisions_mm: Vec<f64>Every precision the file states, in millimetres, ascending — see
parse::stated_precisions_mm. Empty when it states none.
diagnostics: KernelDiagnosticsThe import’s diagnostics: measurements always, plus one
import.stated_precision_inconsistent warning when the file’s stated
precision is far under the deviation its own geometry shows
(precision::stated_precision_diagnostics). Informational only —
acceptance never depends on it.