///|
fn main raise {
let model = @ifc.parse(@ifc.minimal_fixture())
let summary = model.summary()
println("moonbit-ifc example")
println("schema: \{summary.schema}")
println("entities: \{summary.entity_count}")
println("products: \{summary.product_count}")
println("property sets: \{summary.property_set_count}")
println("geometry entities: \{summary.geometry_count}")
println("quality: \{@ifc.model_quality_grade(model)}")
let schema_report = @ifc.validate_schema(model)
println("schema check: \{schema_report.headline()}")
println("schema details:\n\{schema_report.format()}")
for product in model.products() {
let name = product.name.unwrap_or("(unnamed)")
println("- \{product.ifc_type} #\{product.id}: \{name}")
}
}