mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-23 08:42:45 +00:00
black, ruff
This commit is contained in:
@@ -21,6 +21,7 @@ import os
|
|||||||
from typing import TYPE_CHECKING, Any, Literal, Union, assert_never, get_args
|
from typing import TYPE_CHECKING, Any, Literal, Union, assert_never, get_args
|
||||||
|
|
||||||
import bpy
|
import bpy
|
||||||
|
import ifcopenshell.util.unit
|
||||||
from bpy.props import (
|
from bpy.props import (
|
||||||
BoolProperty,
|
BoolProperty,
|
||||||
CollectionProperty,
|
CollectionProperty,
|
||||||
@@ -33,8 +34,6 @@ from bpy.props import (
|
|||||||
)
|
)
|
||||||
from bpy.types import PropertyGroup
|
from bpy.types import PropertyGroup
|
||||||
|
|
||||||
import ifcopenshell.util.unit
|
|
||||||
|
|
||||||
import bonsai.bim
|
import bonsai.bim
|
||||||
import bonsai.bim.handler
|
import bonsai.bim.handler
|
||||||
import bonsai.tool as tool
|
import bonsai.tool as tool
|
||||||
|
|||||||
@@ -263,9 +263,7 @@ class TestImportPsetFromExistingWithAGenericNumericValueAndAnExplicitUnit(NewFil
|
|||||||
length_mm = ifcopenshell.api.unit.add_si_unit(ifc, unit_type="LENGTHUNIT", prefix="MILLI")
|
length_mm = ifcopenshell.api.unit.add_si_unit(ifc, unit_type="LENGTHUNIT", prefix="MILLI")
|
||||||
|
|
||||||
element = ifc.createIfcWall()
|
element = ifc.createIfcWall()
|
||||||
prop = ifc.createIfcPropertySingleValue(
|
prop = ifc.createIfcPropertySingleValue(Name="Foo", NominalValue=ifc.createIfcReal(150.0), Unit=length_mm)
|
||||||
Name="Foo", NominalValue=ifc.createIfcReal(150.0), Unit=length_mm
|
|
||||||
)
|
|
||||||
metadata = import_single_property(ifc, element, prop)
|
metadata = import_single_property(ifc, element, prop)
|
||||||
|
|
||||||
assert metadata.special_type == "LENGTH"
|
assert metadata.special_type == "LENGTH"
|
||||||
@@ -291,9 +289,7 @@ class TestImportPsetFromExistingWithAStrayUnitOnANonMeasureProperty(NewFile):
|
|||||||
length_m = ifcopenshell.api.unit.add_si_unit(ifc, unit_type="LENGTHUNIT")
|
length_m = ifcopenshell.api.unit.add_si_unit(ifc, unit_type="LENGTHUNIT")
|
||||||
|
|
||||||
element = ifc.createIfcWall()
|
element = ifc.createIfcWall()
|
||||||
prop = ifc.createIfcPropertySingleValue(
|
prop = ifc.createIfcPropertySingleValue(Name="Foo", NominalValue=ifc.createIfcLabel("Bar"), Unit=length_m)
|
||||||
Name="Foo", NominalValue=ifc.createIfcLabel("Bar"), Unit=length_m
|
|
||||||
)
|
|
||||||
metadata = import_single_property(ifc, element, prop) # must not raise
|
metadata = import_single_property(ifc, element, prop) # must not raise
|
||||||
|
|
||||||
assert metadata.special_type == ""
|
assert metadata.special_type == ""
|
||||||
|
|||||||
@@ -69,9 +69,7 @@ class TestEditingAnOverriddenUnitPropertyRoundTrips(NewFile):
|
|||||||
|
|
||||||
element = ifc.createIfcWall()
|
element = ifc.createIfcWall()
|
||||||
pset = ifcopenshell.api.pset.add_pset(ifc, product=element, name="Pset_Test")
|
pset = ifcopenshell.api.pset.add_pset(ifc, product=element, name="Pset_Test")
|
||||||
prop = ifc.createIfcPropertySingleValue(
|
prop = ifc.createIfcPropertySingleValue(Name="Foo", NominalValue=ifc.createIfcLengthMeasure(2.5), Unit=length_m)
|
||||||
Name="Foo", NominalValue=ifc.createIfcLengthMeasure(2.5), Unit=length_m
|
|
||||||
)
|
|
||||||
pset.HasProperties = [prop]
|
pset.HasProperties = [prop]
|
||||||
|
|
||||||
obj = bpy.data.objects.new("Wall", None)
|
obj = bpy.data.objects.new("Wall", None)
|
||||||
@@ -308,9 +306,7 @@ class TestEditPsetWithUnitOverridePicker(NewFile):
|
|||||||
|
|
||||||
element = ifc.createIfcWall()
|
element = ifc.createIfcWall()
|
||||||
pset = ifcopenshell.api.pset.add_pset(ifc, product=element, name="Pset_Test")
|
pset = ifcopenshell.api.pset.add_pset(ifc, product=element, name="Pset_Test")
|
||||||
prop = ifc.createIfcPropertySingleValue(
|
prop = ifc.createIfcPropertySingleValue(Name="Foo", NominalValue=ifc.createIfcLengthMeasure(2.5), Unit=length_m)
|
||||||
Name="Foo", NominalValue=ifc.createIfcLengthMeasure(2.5), Unit=length_m
|
|
||||||
)
|
|
||||||
pset.HasProperties = [prop]
|
pset.HasProperties = [prop]
|
||||||
|
|
||||||
obj = bpy.data.objects.new("Wall", None)
|
obj = bpy.data.objects.new("Wall", None)
|
||||||
|
|||||||
@@ -510,7 +510,11 @@ def get_project_unit(
|
|||||||
for unit in unit_assignment.Units or []:
|
for unit in unit_assignment.Units or []:
|
||||||
if getattr(unit, "UnitType", None) == unit_type:
|
if getattr(unit, "UnitType", None) == unit_type:
|
||||||
return unit
|
return unit
|
||||||
if dimensional_match is None and unit.is_a("IfcDerivedUnit") and identify_unit_dimensions(unit) == unit_type:
|
if (
|
||||||
|
dimensional_match is None
|
||||||
|
and unit.is_a("IfcDerivedUnit")
|
||||||
|
and identify_unit_dimensions(unit) == unit_type
|
||||||
|
):
|
||||||
dimensional_match = unit
|
dimensional_match = unit
|
||||||
return dimensional_match
|
return dimensional_match
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
import ifcopenshell.api.pset
|
import ifcopenshell.api.pset
|
||||||
import ifcopenshell.api.root
|
import ifcopenshell.api.root
|
||||||
import ifcopenshell.api.unit
|
|
||||||
import test.bootstrap
|
import test.bootstrap
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,10 @@ import tempfile
|
|||||||
from math import pi
|
from math import pi
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
import ifcpatch
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import pytest
|
import pytest
|
||||||
|
from ifcpatch.recipes import Ifc2Sql
|
||||||
|
|
||||||
import ifcopenshell.api.context
|
import ifcopenshell.api.context
|
||||||
import ifcopenshell.api.georeference
|
import ifcopenshell.api.georeference
|
||||||
@@ -31,10 +33,8 @@ import ifcopenshell.api.unit
|
|||||||
import ifcopenshell.util.element
|
import ifcopenshell.util.element
|
||||||
import ifcopenshell.util.geolocation
|
import ifcopenshell.util.geolocation
|
||||||
import ifcopenshell.util.unit as subject
|
import ifcopenshell.util.unit as subject
|
||||||
import ifcpatch
|
|
||||||
import test.bootstrap
|
import test.bootstrap
|
||||||
from ifcopenshell.util.shape_builder import ShapeBuilder
|
from ifcopenshell.util.shape_builder import ShapeBuilder
|
||||||
from ifcpatch.recipes import Ifc2Sql
|
|
||||||
|
|
||||||
|
|
||||||
class TestMmToM:
|
class TestMmToM:
|
||||||
@@ -149,7 +149,9 @@ class TestGetCandidateUnits(test.bootstrap.IFC4):
|
|||||||
ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcProject")
|
ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcProject")
|
||||||
force = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="FORCEUNIT")
|
force = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="FORCEUNIT")
|
||||||
area = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="AREAUNIT")
|
area = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="AREAUNIT")
|
||||||
modulus = ifcopenshell.api.unit.add_derived_unit(self.file, "MODULUSOFELASTICITYUNIT", None, {force: 1, area: -1})
|
modulus = ifcopenshell.api.unit.add_derived_unit(
|
||||||
|
self.file, "MODULUSOFELASTICITYUNIT", None, {force: 1, area: -1}
|
||||||
|
)
|
||||||
assert subject.get_candidate_units(self.file, "MODULUSOFELASTICITYUNIT") == [modulus]
|
assert subject.get_candidate_units(self.file, "MODULUSOFELASTICITYUNIT") == [modulus]
|
||||||
|
|
||||||
def test_userdefined_derived_unit_matched_by_dimensional_fallback(self):
|
def test_userdefined_derived_unit_matched_by_dimensional_fallback(self):
|
||||||
@@ -288,7 +290,9 @@ class TestCalculateUnitScale(test.bootstrap.IFC4):
|
|||||||
ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcProject")
|
ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcProject")
|
||||||
force = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="FORCEUNIT")
|
force = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="FORCEUNIT")
|
||||||
area = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="AREAUNIT", prefix="MILLI")
|
area = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="AREAUNIT", prefix="MILLI")
|
||||||
modulus = ifcopenshell.api.unit.add_derived_unit(self.file, "MODULUSOFELASTICITYUNIT", None, {force: 1, area: -1})
|
modulus = ifcopenshell.api.unit.add_derived_unit(
|
||||||
|
self.file, "MODULUSOFELASTICITYUNIT", None, {force: 1, area: -1}
|
||||||
|
)
|
||||||
ifcopenshell.api.unit.assign_unit(self.file, units=[modulus])
|
ifcopenshell.api.unit.assign_unit(self.file, units=[modulus])
|
||||||
# AREAUNIT is a pure power of length, so its MILLI prefix is raised to
|
# AREAUNIT is a pure power of length, so its MILLI prefix is raised to
|
||||||
# the length exponent (2) per #9278: (1e-3)**2 = 1e-6, inverted by the
|
# the length exponent (2) per #9278: (1e-3)**2 = 1e-6, inverted by the
|
||||||
@@ -397,7 +401,9 @@ class TestGetUnitSymbol(test.bootstrap.IFC4):
|
|||||||
ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcProject")
|
ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcProject")
|
||||||
force = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="FORCEUNIT")
|
force = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="FORCEUNIT")
|
||||||
area = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="AREAUNIT")
|
area = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="AREAUNIT")
|
||||||
modulus = ifcopenshell.api.unit.add_derived_unit(self.file, "MODULUSOFELASTICITYUNIT", None, {force: 1, area: -1})
|
modulus = ifcopenshell.api.unit.add_derived_unit(
|
||||||
|
self.file, "MODULUSOFELASTICITYUNIT", None, {force: 1, area: -1}
|
||||||
|
)
|
||||||
assert subject.get_unit_symbol(modulus) == "N/m2"
|
assert subject.get_unit_symbol(modulus) == "N/m2"
|
||||||
|
|
||||||
def test_unnamed_derived_unit_still_composes_a_symbol_without_crashing(self):
|
def test_unnamed_derived_unit_still_composes_a_symbol_without_crashing(self):
|
||||||
@@ -420,7 +426,9 @@ class TestIdentifyUnitDimensions(test.bootstrap.IFC4):
|
|||||||
ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcProject")
|
ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcProject")
|
||||||
force = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="FORCEUNIT")
|
force = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="FORCEUNIT")
|
||||||
area = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="AREAUNIT")
|
area = ifcopenshell.api.unit.add_si_unit(self.file, unit_type="AREAUNIT")
|
||||||
modulus = ifcopenshell.api.unit.add_derived_unit(self.file, "MODULUSOFELASTICITYUNIT", None, {force: 1, area: -1})
|
modulus = ifcopenshell.api.unit.add_derived_unit(
|
||||||
|
self.file, "MODULUSOFELASTICITYUNIT", None, {force: 1, area: -1}
|
||||||
|
)
|
||||||
assert subject.identify_unit_dimensions(modulus) == "PRESSUREUNIT"
|
assert subject.identify_unit_dimensions(modulus) == "PRESSUREUNIT"
|
||||||
|
|
||||||
def test_returns_none_for_no_match(self):
|
def test_returns_none_for_no_match(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user