mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-21 14:23:53 +00:00
See #1619. Fix issue where copying non-templated properties didn't work.
This commit is contained in:
@@ -206,6 +206,7 @@ class EnablePsetEditing(bpy.types.Operator):
|
|||||||
for prop in props:
|
for prop in props:
|
||||||
if prop.is_a("IfcPropertyEnumeratedValue"):
|
if prop.is_a("IfcPropertyEnumeratedValue"):
|
||||||
simple_prop = self.props.properties.add()
|
simple_prop = self.props.properties.add()
|
||||||
|
simple_prop.name = prop.Name
|
||||||
simple_prop.value_type = "IfcPropertyEnumeratedValue"
|
simple_prop.value_type = "IfcPropertyEnumeratedValue"
|
||||||
metadata = simple_prop.metadata
|
metadata = simple_prop.metadata
|
||||||
metadata.name = prop.Name
|
metadata.name = prop.Name
|
||||||
@@ -227,6 +228,7 @@ class EnablePsetEditing(bpy.types.Operator):
|
|||||||
elif prop.is_a("IfcPhysicalSimpleQuantity"):
|
elif prop.is_a("IfcPhysicalSimpleQuantity"):
|
||||||
value = prop[3]
|
value = prop[3]
|
||||||
new_prop = self.props.properties.add()
|
new_prop = self.props.properties.add()
|
||||||
|
new_prop.name = prop.Name
|
||||||
metadata = new_prop.metadata
|
metadata = new_prop.metadata
|
||||||
metadata.set_value(value)
|
metadata.set_value(value)
|
||||||
metadata.name = prop.Name
|
metadata.name = prop.Name
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ def copy_property_to_selection(ifc, pset, is_pset=True, obj=None, pset_name=None
|
|||||||
else:
|
else:
|
||||||
ifc.run("pset.edit_qto", qto=ifc_pset, properties={prop_name: prop_value})
|
ifc.run("pset.edit_qto", qto=ifc_pset, properties={prop_name: prop_value})
|
||||||
|
|
||||||
|
|
||||||
def add_pset(ifc, pset, blender, obj_name, obj_type):
|
def add_pset(ifc, pset, blender, obj_name, obj_type):
|
||||||
pset_name = pset.get_pset_name(obj_name, obj_type)
|
pset_name = pset.get_pset_name(obj_name, obj_type)
|
||||||
if obj_type == "Object":
|
if obj_type == "Object":
|
||||||
@@ -40,7 +41,4 @@ def add_pset(ifc, pset, blender, obj_name, obj_type):
|
|||||||
continue
|
continue
|
||||||
if not pset.is_pset_applicable(element, pset_name):
|
if not pset.is_pset_applicable(element, pset_name):
|
||||||
continue
|
continue
|
||||||
ifc_pset = pset.get_element_pset(element, pset_name)
|
pset.enable_pset_editing(pset_id=0, pset_name=pset_name, pset_type="PSET", obj=obj_name, obj_type=obj_type)
|
||||||
if not ifc_pset:
|
|
||||||
ifc.run("pset.add_pset", product=element, name=pset_name)
|
|
||||||
pset.enable_pset_editing(pset_id=0, pset_name=pset_name, pset_type="PSET",obj=obj_name, obj_type=obj_type)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user