mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 09:21:46 +00:00
create_shape - raise the same error for representations and rep items
To be consistent with how it's handled when product+representation is passed, previously it would fail silently.
This commit is contained in:
@@ -389,7 +389,9 @@ IfcGeom::ConversionResults ifcopenshell::geometry::Converter::convert(IfcUtil::I
|
||||
IfcGeom::ConversionResults results;
|
||||
if (geom_item) {
|
||||
std::clock_t geom_start = std::clock();
|
||||
kernel_->convert(geom_item, results);
|
||||
if (!kernel_->convert(geom_item, results)) {
|
||||
throw std::runtime_error("Failed to convert item");
|
||||
}
|
||||
std::clock_t geom_end = std::clock();
|
||||
total_map_time += (geom_start - map_start) / (double) CLOCKS_PER_SEC;
|
||||
total_geom_time += (geom_end - geom_start) / (double) CLOCKS_PER_SEC;
|
||||
|
||||
@@ -844,7 +844,12 @@ struct ShapeRTTI : public boost::static_visitor<PyObject*>
|
||||
// https://github.com/IfcOpenShell/IfcOpenShell/issues/1649
|
||||
instance->declaration().is(Schema::IfcProfileDef::Class())
|
||||
) {
|
||||
IfcGeom::ConversionResults shapes = kernel.convert(instance);
|
||||
IfcGeom::ConversionResults shapes;
|
||||
try {
|
||||
shapes = kernel.convert(instance);
|
||||
} catch (...) {
|
||||
throw IfcParse::IfcException("Failed to process shape");
|
||||
}
|
||||
|
||||
IfcGeom::Representation::BRep brep(settings, instance->declaration().name(), to_locale_invariant_string(instance->data().id()), shapes);
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user