mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 09:21:46 +00:00
Deprecate the "allow non-element aggregates" workaround for prostructures as the new aggregate system should make it obsolete.
This commit is contained in:
@@ -321,9 +321,6 @@ class IfcImporter:
|
||||
self.profile_code("Loading file")
|
||||
self.set_ifc_file()
|
||||
self.profile_code("Setting file")
|
||||
if self.ifc_import_settings.should_auto_set_workarounds:
|
||||
self.auto_set_workarounds()
|
||||
self.profile_code("Set vendor worksarounds")
|
||||
self.calculate_unit_scale()
|
||||
self.profile_code("Calculate unit scale")
|
||||
self.calculate_model_offset()
|
||||
@@ -375,13 +372,6 @@ class IfcImporter:
|
||||
self.set_default_context()
|
||||
self.profile_code("Setting default context")
|
||||
|
||||
def auto_set_workarounds(self):
|
||||
applications = self.file.by_type("IfcApplication")
|
||||
if not applications:
|
||||
return
|
||||
if "prostructures" in applications[0].ApplicationFullName.lower():
|
||||
self.ifc_import_settings.should_allow_non_element_aggregates = True
|
||||
|
||||
def is_element_far_away(self, element):
|
||||
try:
|
||||
return self.is_point_far_away(element.ObjectPlacement.RelativePlacement.Location)
|
||||
@@ -1178,19 +1168,7 @@ class IfcImporter:
|
||||
self.add_related_objects(collection, rel_aggregate.RelatedObjects)
|
||||
|
||||
def create_aggregates(self):
|
||||
if self.ifc_import_settings.should_allow_non_element_aggregates:
|
||||
if self.file.schema == "IFC2X3":
|
||||
rel_aggregates = [
|
||||
a
|
||||
for a in self.file.by_type("IfcRelAggregates")
|
||||
if not a.RelatingObject.is_a("IfcSpatialStructureElement")
|
||||
]
|
||||
else:
|
||||
rel_aggregates = [
|
||||
a for a in self.file.by_type("IfcRelAggregates") if not a.RelatingObject.is_a("IfcSpatialElement")
|
||||
]
|
||||
else:
|
||||
rel_aggregates = [a for a in self.file.by_type("IfcRelAggregates") if a.RelatingObject.is_a("IfcElement")]
|
||||
rel_aggregates = [a for a in self.file.by_type("IfcRelAggregates") if a.RelatingObject.is_a("IfcElement")]
|
||||
for rel_aggregate in rel_aggregates:
|
||||
self.create_aggregate(rel_aggregate)
|
||||
|
||||
@@ -1572,7 +1550,6 @@ class IfcImportSettings:
|
||||
self.should_clean_mesh = True
|
||||
self.deflection_tolerance = 0.001
|
||||
self.angular_tolerance = 0.5
|
||||
self.should_allow_non_element_aggregates = False
|
||||
self.should_offset_model = False
|
||||
self.model_offset_coordinates = (0, 0, 0)
|
||||
self.ifc_import_filter = "NONE"
|
||||
|
||||
@@ -124,7 +124,6 @@ class ImportIFC(bpy.types.Operator, ImportHelper):
|
||||
should_clean_mesh: bpy.props.BoolProperty(name="Import and Clean Mesh", default=True)
|
||||
deflection_tolerance: bpy.props.FloatProperty(name="Import Deflection Tolerance", default=0.001)
|
||||
angular_tolerance: bpy.props.FloatProperty(name="Import Angular Tolerance", default=0.5)
|
||||
should_allow_non_element_aggregates: bpy.props.BoolProperty(name="Import Non-Element Aggregates", default=False)
|
||||
should_offset_model: bpy.props.BoolProperty(name="Import and Offset Model", default=False)
|
||||
model_offset_coordinates: bpy.props.StringProperty(name="Model Offset Coordinates", default="0,0,0")
|
||||
ifc_import_filter: bpy.props.EnumProperty(
|
||||
@@ -150,7 +149,6 @@ class ImportIFC(bpy.types.Operator, ImportHelper):
|
||||
settings.should_clean_mesh = self.should_clean_mesh
|
||||
settings.deflection_tolerance = self.deflection_tolerance
|
||||
settings.angular_tolerance = self.angular_tolerance
|
||||
settings.should_allow_non_element_aggregates = self.should_allow_non_element_aggregates
|
||||
settings.should_offset_model = self.should_offset_model
|
||||
settings.model_offset_coordinates = (
|
||||
[float(o) for o in self.model_offset_coordinates.split(",")]
|
||||
|
||||
Reference in New Issue
Block a user