///|
fn main {
let hole = @lsh775/moonbit_metrology.Feature::{
id: "H1",
kind: @lsh775/moonbit_metrology.FeatureKind::Hole,
nominal: 10.0,
lower: -0.1,
upper: 0.1,
datum: false,
}
let datum = @lsh775/moonbit_metrology.Feature::{
id: "A",
kind: @lsh775/moonbit_metrology.FeatureKind::Plane,
nominal: 1.0,
lower: -0.1,
upper: 0.1,
datum: true,
}
let device = @lsh775/moonbit_metrology.new_device("cmm-demo", 0.01, 50.0, [
@lsh775/moonbit_metrology.FeatureKind::Hole,
@lsh775/moonbit_metrology.FeatureKind::Plane,
])
let features = [hole, datum]
let planned = @lsh775/moonbit_metrology.plan(
part_id="bracket-demo",
features,
[device],
)
let observations = [
@lsh775/moonbit_metrology.new_observation("H1", 10.02, 3),
@lsh775/moonbit_metrology.new_observation("A", 1.0, 5),
]
let trace = @lsh775/moonbit_metrology.build_audit_trace_with_features(
plan=planned,
features~,
observations~,
)
let summary = @lsh775/moonbit_metrology.summarize_batch(feature=hole, observations=[
observations[0],
])
println(
@lsh775/moonbit_metrology.render_audit_report(trace~, summary=Some(summary)),
)
}