diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 85bce2b50d..4fe1dd0fe9 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -122,7 +122,7 @@ void print_usage(bool suggest_help = true) << " .h5 HDF Hierarchical Data Format storing positions, normals and indices\n" #endif #ifdef IFOPSH_WITH_CGAL - << " .city.json City JSON format for geospatial data\n" + << " .cityjson City JSON format for geospatial data\n" #endif << " .ifc IFC-SPF Industry Foundation Classes\n" << "\n" @@ -791,6 +791,7 @@ int main(int argc, char** argv) { else if (output_extension == CITY_JSON) { geobim_settings settings; settings.input_filenames = { IfcUtil::path::to_utf8(input_filename) }; + settings.file = { new IfcParse::IfcFile(IfcUtil::path::to_utf8(input_filename)) }; settings.cityjson_output_filename = IfcUtil::path::to_utf8(output_filename); // @todo settings.radii = { "0.05" }; @@ -801,7 +802,7 @@ int main(int argc, char** argv) { settings.minkowski_triangles = false; settings.no_erosion = false; settings.spherical_padding = false; - + settings.settings.set(IfcGeom::IteratorSettings::USE_WORLD_COORDS, false); settings.settings.set(IfcGeom::IteratorSettings::WELD_VERTICES, false); settings.settings.set(IfcGeom::IteratorSettings::SEW_SHELLS, true); @@ -809,8 +810,16 @@ int main(int argc, char** argv) { settings.settings.set(IfcGeom::IteratorSettings::DISABLE_TRIANGULATION, true); settings.settings.set(IfcGeom::IteratorSettings::DISABLE_OPENING_SUBTRACTIONS, !settings.apply_openings); - settings.entity_names = include_filter.values; - settings.entity_names_included = true; + if (include_filter.type != geom_filter::UNUSED) { + settings.entity_names = include_filter.values; + settings.entity_names_included = true; + } else if (exclude_filter.type != geom_filter::UNUSED) { + settings.entity_names = exclude_filter.values; + settings.entity_names_included = false; + } else { + settings.entity_names = { { "IfcSpace", "IfcOpeningElement" } }; + settings.entity_names_included = false; + } perform(settings); diff --git a/src/ifcconvert/cityjson b/src/ifcconvert/cityjson index 36f8678962..551780d76a 160000 --- a/src/ifcconvert/cityjson +++ b/src/ifcconvert/cityjson @@ -1 +1 @@ -Subproject commit 36f86789623fadc9660aa5f65668ae09435728fb +Subproject commit 551780d76aa9c95df725778671ae45f32c611df8