diff --git a/src/ifcgeom/ConversionSettings.h b/src/ifcgeom/ConversionSettings.h index 1c1f69fcdc..0d10fa9a5b 100644 --- a/src/ifcgeom/ConversionSettings.h +++ b/src/ifcgeom/ConversionSettings.h @@ -373,6 +373,13 @@ namespace ifcopenshell { template void set_option_(const std::string& name, const value_variant_t& val) { if (std::tuple_element_t::name == name) { + if constexpr (std::is_enum_v::base_type>) { + if (val.which() == 1) { + auto val_as_enum = (typename std::tuple_element_t::base_type) boost::get(val); + std::get(settings).value = val_as_enum; + return; + } + } std::get(settings).value = boost::get::base_type>(val); } else if constexpr (Index + 1 < std::tuple_size_v) { set_option_(name, val);