mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 09:48:32 +00:00
Fix #1462. Standardise IfcOpenShell API to use Pythonic argument names.
This commit is contained in:
@@ -2,15 +2,11 @@ class Usecase:
|
||||
def __init__(self, file, **settings):
|
||||
self.file = file
|
||||
self.settings = {
|
||||
"Name": "Name",
|
||||
"SurfaceColour": [], # RGB
|
||||
"DiffuseColour": [], # RGB
|
||||
"Transparency": 0,
|
||||
"external_definition": {
|
||||
"Location": None,
|
||||
"Identification": None,
|
||||
"Name": "Name"
|
||||
},
|
||||
"name": "Name",
|
||||
"surface_colour": [], # RGB
|
||||
"diffuse_colour": [], # RGB
|
||||
"transparency": 0,
|
||||
"external_definition": {"location": None, "identification": None, "name": "Name"},
|
||||
}
|
||||
for key, value in settings.items():
|
||||
self.settings[key] = value
|
||||
@@ -20,22 +16,26 @@ class Usecase:
|
||||
if self.settings["external_definition"]:
|
||||
styles.append(self.create_externally_defined_surface_style())
|
||||
# Name is filled out because Revit treats this incorrectly as the material name
|
||||
return self.file.createIfcSurfaceStyle(self.settings["Name"], "BOTH", styles)
|
||||
return self.file.createIfcSurfaceStyle(self.settings["name"], "BOTH", styles)
|
||||
|
||||
def create_surface_style_rendering(self):
|
||||
return self.file.create_entity("IfcSurfaceStyleRendering", **{
|
||||
"SurfaceColour": self.create_colour_rgb(self.settings["SurfaceColour"]),
|
||||
"Transparency": (self.settings["Transparency"] - 1) * -1,
|
||||
"ReflectanceMethod": "NOTDEFINED",
|
||||
"DiffuseColour": self.create_colour_rgb(self.settings["DiffuseColour"])
|
||||
})
|
||||
return self.file.create_entity(
|
||||
"IfcSurfaceStyleRendering",
|
||||
**{
|
||||
"SurfaceColour": self.create_colour_rgb(self.settings["surface_colour"]),
|
||||
"Transparency": (self.settings["transparency"] - 1) * -1,
|
||||
"ReflectanceMethod": "NOTDEFINED",
|
||||
"DiffuseColour": self.create_colour_rgb(self.settings["diffuse_colour"]),
|
||||
}
|
||||
)
|
||||
|
||||
def create_externally_defined_surface_style(self):
|
||||
self.file.create_entity(
|
||||
"IfcExternallyDefinedSurfaceStyle", **{
|
||||
"Location": self.settings["Location"],
|
||||
"Identification": self.settings["Identification"],
|
||||
"Name": self.settings["Name"],
|
||||
"IfcExternallyDefinedSurfaceStyle",
|
||||
**{
|
||||
"Location": self.settings["location"],
|
||||
"Identification": self.settings["identification"],
|
||||
"Name": self.settings["name"],
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -3,13 +3,13 @@ class Usecase:
|
||||
self.file = file
|
||||
self.settings = {
|
||||
"style": None,
|
||||
"SurfaceColour": [], # RGB
|
||||
"DiffuseColour": [], # RGB
|
||||
"Transparency": 0,
|
||||
"surface_colour": [], # RGB
|
||||
"diffuse_colour": [], # RGB
|
||||
"transparency": 0,
|
||||
"external_definition": {
|
||||
"Location": None,
|
||||
"Identification": None,
|
||||
"Name": "Name"
|
||||
"location": None,
|
||||
"identification": None,
|
||||
"name": "Name"
|
||||
},
|
||||
}
|
||||
for key, value in settings.items():
|
||||
@@ -20,20 +20,20 @@ class Usecase:
|
||||
for element in self.file.traverse(self.settings["style"]):
|
||||
if element.is_a("IfcSurfaceStyleShading"):
|
||||
if element.SurfaceColour:
|
||||
self.update_colour_rgb(element.SurfaceColour, self.settings["SurfaceColour"])
|
||||
self.update_colour_rgb(element.SurfaceColour, self.settings["surface_colour"])
|
||||
else:
|
||||
element.SurfaceColour = self.create_colour_rgb(self.settings["SurfaceColour"])
|
||||
element.Transparency = (self.settings["Transparency"] - 1) * -1
|
||||
element.SurfaceColour = self.create_colour_rgb(self.settings["surface_colour"])
|
||||
element.Transparency = (self.settings["transparency"] - 1) * -1
|
||||
if element.is_a("IfcSurfaceStyleRendering"):
|
||||
if element.DiffuseColour:
|
||||
self.update_colour_rgb(element.DiffuseColour, self.settings["DiffuseColour"])
|
||||
self.update_colour_rgb(element.DiffuseColour, self.settings["diffuse_colour"])
|
||||
else:
|
||||
element.DiffuseColour = self.create_colour_rgb(self.settings["DiffuseColour"])
|
||||
element.DiffuseColour = self.create_colour_rgb(self.settings["diffuse_colour"])
|
||||
# TODO: Move to separate usecase
|
||||
#if element.is_a("IfcExternallyDefinedSurfaceStyle"):
|
||||
# element.Location = self.settings["Location"]
|
||||
# element.Identification = self.settings["Identification"]
|
||||
# element.Name = self.settings["Name"]
|
||||
# element.Location = self.settings["location"]
|
||||
# element.Identification = self.settings["identification"]
|
||||
# element.Name = self.settings["name"]
|
||||
# has_external_definition = True
|
||||
#if not has_external_definition:
|
||||
# styles = list(self.settings["style"].Styles)
|
||||
@@ -43,18 +43,18 @@ class Usecase:
|
||||
|
||||
def create_surface_style_rendering(self):
|
||||
return self.file.create_entity("IfcSurfaceStyleRendering", **{
|
||||
"SurfaceColour": self.create_colour_rgb(self.settings["SurfaceColour"]),
|
||||
"Transparency": (self.settings["Transparency"] - 1) * -1,
|
||||
"SurfaceColour": self.create_colour_rgb(self.settings["surface_colour"]),
|
||||
"Transparency": (self.settings["transparency"] - 1) * -1,
|
||||
"ReflectanceMethod": "NOTDEFINED",
|
||||
"DiffuseColour": self.create_colour_rgb(self.settings["DiffuseColour"])
|
||||
"DiffuseColour": self.create_colour_rgb(self.settings["diffuse_colour"])
|
||||
})
|
||||
|
||||
def create_externally_defined_surface_style(self):
|
||||
self.file.create_entity(
|
||||
"IfcExternallyDefinedSurfaceStyle", **{
|
||||
"Location": self.settings["Location"],
|
||||
"Identification": self.settings["Identification"],
|
||||
"Name": self.settings["Name"],
|
||||
"Location": self.settings["location"],
|
||||
"Identification": self.settings["identification"],
|
||||
"Name": self.settings["name"],
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user