mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-21 14:23:53 +00:00
Fix bSDD to properly use names and codes
This commit is contained in:
@@ -106,7 +106,10 @@ class BIM_UL_bsdd_properties(UIList):
|
|||||||
def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
|
def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
|
||||||
if item:
|
if item:
|
||||||
row = layout.row(align=True)
|
row = layout.row(align=True)
|
||||||
row.label(text=item.name)
|
name = item.name
|
||||||
|
if name != item.code:
|
||||||
|
name += f" ({item.code})"
|
||||||
|
row.label(text=name)
|
||||||
if item.pset:
|
if item.pset:
|
||||||
row.label(text=item.pset)
|
row.label(text=item.pset)
|
||||||
row.operator("bim.open_uri", text="", icon="URL").uri = item.uri
|
row.operator("bim.open_uri", text="", icon="URL").uri = item.uri
|
||||||
|
|||||||
@@ -273,6 +273,7 @@ class Bsdd(bonsai.core.tool.Bsdd):
|
|||||||
cls.bsdd_properties[bsdd_prop["uri"]] = bsdd_prop
|
cls.bsdd_properties[bsdd_prop["uri"]] = bsdd_prop
|
||||||
new = props.properties.add()
|
new = props.properties.add()
|
||||||
new.name = bsdd_prop["name"]
|
new.name = bsdd_prop["name"]
|
||||||
|
new.code = bsdd_prop["propertyCode"]
|
||||||
new.pset = bsdd_prop["propertySet"]
|
new.pset = bsdd_prop["propertySet"]
|
||||||
new.uri = bsdd_prop["uri"]
|
new.uri = bsdd_prop["uri"]
|
||||||
|
|
||||||
@@ -290,6 +291,7 @@ class Bsdd(bonsai.core.tool.Bsdd):
|
|||||||
for bsdd_prop in cls.client.get_properties(dictionary_uri, keyword)["properties"]:
|
for bsdd_prop in cls.client.get_properties(dictionary_uri, keyword)["properties"]:
|
||||||
new = props.properties.add()
|
new = props.properties.add()
|
||||||
new.name = bsdd_prop["name"]
|
new.name = bsdd_prop["name"]
|
||||||
|
new.code = bsdd_prop["code"]
|
||||||
new.uri = bsdd_prop["uri"]
|
new.uri = bsdd_prop["uri"]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@@ -308,9 +310,9 @@ class Bsdd(bonsai.core.tool.Bsdd):
|
|||||||
prop_data = cls.get_bsdd_property(bsdd_prop.uri)
|
prop_data = cls.get_bsdd_property(bsdd_prop.uri)
|
||||||
pset_name = prop_data.get("propertyClasses", [{}])[0].get("propertySet", "")
|
pset_name = prop_data.get("propertyClasses", [{}])[0].get("propertySet", "")
|
||||||
|
|
||||||
imported_props.add((pset_name, bsdd_prop.name))
|
imported_props.add((pset_name, bsdd_prop.code))
|
||||||
if (
|
if (
|
||||||
selected_property := props.selected_properties.get(bsdd_prop.name)
|
selected_property := props.selected_properties.get(bsdd_prop.code)
|
||||||
) and selected_property.metadata == pset_name:
|
) and selected_property.metadata == pset_name:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@@ -324,7 +326,7 @@ class Bsdd(bonsai.core.tool.Bsdd):
|
|||||||
possible_values = [v["value"] for v in possible_values]
|
possible_values = [v["value"] for v in possible_values]
|
||||||
|
|
||||||
new = props.selected_properties.add()
|
new = props.selected_properties.add()
|
||||||
new.name = bsdd_prop.name
|
new.name = bsdd_prop.code
|
||||||
if possible_values:
|
if possible_values:
|
||||||
new.enum_items = json.dumps(possible_values)
|
new.enum_items = json.dumps(possible_values)
|
||||||
new.data_type = "enum"
|
new.data_type = "enum"
|
||||||
|
|||||||
Reference in New Issue
Block a user