mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 01:41:57 +00:00
Fix #3939. Bug where IfcLabel data type was incorrectly used for longer text data.
This commit is contained in:
@@ -908,14 +908,14 @@ class OverrideDuplicateMoveAggregate(bpy.types.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=tool.Ifc.get().by_id(pset["id"]),
|
||||
properties={"Data": json.dumps(data)},
|
||||
properties={"Data": tool.Ifc.get().createIfcText(json.dumps(data))},
|
||||
)
|
||||
else:
|
||||
ifcopenshell.api.run(
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=tool.Ifc.get().by_id(pset["id"]),
|
||||
properties={"Parent": parent.GlobalId, "Data": json.dumps(data)},
|
||||
properties={"Parent": parent.GlobalId, "Data": tool.Ifc.get().createIfcText(json.dumps(data))},
|
||||
)
|
||||
|
||||
else:
|
||||
@@ -927,7 +927,7 @@ class OverrideDuplicateMoveAggregate(bpy.types.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=pset,
|
||||
properties={"Parent": parent.GlobalId, "Data": json.dumps(data)},
|
||||
properties={"Parent": parent.GlobalId, "Data": tool.Ifc.get().createIfcText(json.dumps(data))},
|
||||
)
|
||||
|
||||
def add_child_to_assembly_data(new_entity):
|
||||
@@ -941,7 +941,7 @@ class OverrideDuplicateMoveAggregate(bpy.types.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=tool.Ifc.get().by_id(parent_pset["id"]),
|
||||
properties={"Data": json.dumps(data)},
|
||||
properties={"Data": tool.Ifc.get().createIfcText(json.dumps(data))},
|
||||
)
|
||||
|
||||
def create_data_structure(entity, level=-1):
|
||||
@@ -1215,7 +1215,10 @@ class RefreshAggregate(bpy.types.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=pset,
|
||||
properties={"Parent": instance_entity.GlobalId, "Data": json.dumps(data)},
|
||||
properties={
|
||||
"Parent": instance_entity.GlobalId,
|
||||
"Data": tool.Ifc.get().createIfcText(json.dumps(data)),
|
||||
},
|
||||
)
|
||||
|
||||
part_obj = tool.Ifc.get_object(part)
|
||||
@@ -1254,7 +1257,10 @@ class RefreshAggregate(bpy.types.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=pset,
|
||||
properties={"Parent": instance_entity.GlobalId, "Data": json.dumps(data)},
|
||||
properties={
|
||||
"Parent": instance_entity.GlobalId,
|
||||
"Data": tool.Ifc.get().createIfcText(json.dumps(data)),
|
||||
},
|
||||
)
|
||||
|
||||
part_obj = tool.Ifc.get_object(part)
|
||||
|
||||
@@ -59,7 +59,7 @@ class AddArray(bpy.types.Operator, tool.Ifc.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=pset,
|
||||
properties={"Parent": element.GlobalId, "Data": json.dumps(data)},
|
||||
properties={"Parent": element.GlobalId, "Data": tool.Ifc.get().createIfcText(json.dumps(data))},
|
||||
)
|
||||
return {"FINISHED"}
|
||||
|
||||
@@ -132,7 +132,7 @@ class EditArray(bpy.types.Operator, tool.Ifc.Operator):
|
||||
tool.Model.regenerate_array(parent, data)
|
||||
|
||||
pset = tool.Ifc.get().by_id(pset["id"])
|
||||
data = json.dumps(data)
|
||||
data = tool.Ifc.get().createIfcText(json.dumps(data))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": data})
|
||||
|
||||
tool.Blender.Modifier.Array.set_children_lock_state(element, self.item, True)
|
||||
@@ -196,7 +196,7 @@ class RemoveArray(bpy.types.Operator, tool.Ifc.Operator):
|
||||
ifcopenshell.api.run("pset.remove_pset", tool.Ifc.get(), pset=pset)
|
||||
else:
|
||||
del data[self.item]
|
||||
data = json.dumps(data)
|
||||
data = tool.Ifc.get().createIfcText(json.dumps(data))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": data})
|
||||
tool.Blender.Modifier.Array.constrain_children_to_parent(element)
|
||||
|
||||
|
||||
@@ -549,7 +549,7 @@ class AddDoor(bpy.types.Operator, tool.Ifc.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=pset,
|
||||
properties={"Data": json.dumps(door_data, default=list)},
|
||||
properties={"Data": tool.Ifc.get().createIfcText(json.dumps(door_data, default=list))},
|
||||
)
|
||||
update_door_modifier_representation(context, obj)
|
||||
return {"FINISHED"}
|
||||
@@ -608,7 +608,7 @@ class FinishEditingDoor(bpy.types.Operator, tool.Ifc.Operator):
|
||||
update_door_modifier_representation(context, obj)
|
||||
|
||||
pset = tool.Pset.get_element_pset(element, "BBIM_Door")
|
||||
door_data = json.dumps(door_data, default=list)
|
||||
door_data = tool.Ifc.get().createIfcText(json.dumps(door_data, default=list))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": door_data})
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
@@ -856,7 +856,7 @@ class MEPAddTransition(bpy.types.Operator, tool.Ifc.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=pset,
|
||||
properties={"Data": json.dumps(transition_data, default=list)},
|
||||
properties={"Data": tool.Ifc.get().createIfcText(json.dumps(transition_data, default=list))},
|
||||
)
|
||||
tool.System.add_ports(obj, offset_end_port=profile_offset_si)
|
||||
|
||||
@@ -1200,7 +1200,7 @@ class MEPAddBend(bpy.types.Operator, tool.Ifc.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=pset,
|
||||
properties={"Data": json.dumps(bend_data, default=list)},
|
||||
properties={"Data": tool.Ifc.get().createIfcText(json.dumps(bend_data, default=list))},
|
||||
)
|
||||
tool.System.add_ports(obj, end_port_pos=second_object_offset)
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ def update_bbim_railing_pset(element, railing_data):
|
||||
pset = tool.Pset.get_element_pset(element, "BBIM_Railing")
|
||||
if not pset:
|
||||
pset = ifcopenshell.api.run("pset.add_pset", tool.Ifc.get(), product=element, name="BBIM_Railing")
|
||||
railing_data = json.dumps(railing_data, default=list)
|
||||
railing_data = tool.Ifc.get().createIfcText(json.dumps(railing_data, default=list))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": railing_data})
|
||||
|
||||
|
||||
|
||||
@@ -412,7 +412,7 @@ def update_bbim_roof_pset(element, roof_data):
|
||||
pset = tool.Pset.get_element_pset(element, "BBIM_Roof")
|
||||
if not pset:
|
||||
pset = ifcopenshell.api.run("pset.add_pset", tool.Ifc.get(), product=element, name="BBIM_Roof")
|
||||
roof_data = json.dumps(roof_data, default=list)
|
||||
roof_data = tool.Ifc.get().createIfcText(json.dumps(roof_data, default=list))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": roof_data})
|
||||
|
||||
|
||||
|
||||
@@ -377,7 +377,7 @@ class AddStair(bpy.types.Operator, tool.Ifc.Operator):
|
||||
"pset.edit_pset",
|
||||
ifc_file,
|
||||
pset=pset,
|
||||
properties={"Data": json.dumps(stair_data)},
|
||||
properties={"Data": tool.Ifc.get().createIfcText(json.dumps(stair_data))},
|
||||
)
|
||||
regenerate_stair_mesh(context)
|
||||
update_ifc_stair_props(obj)
|
||||
@@ -419,7 +419,7 @@ class FinishEditingStair(bpy.types.Operator, tool.Ifc.Operator):
|
||||
update_stair_representation(obj)
|
||||
|
||||
pset = tool.Pset.get_element_pset(element, "BBIM_Stair")
|
||||
data = json.dumps(data)
|
||||
data = tool.Ifc.get().createIfcText(json.dumps(data))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": data})
|
||||
|
||||
# update IfcStairFlight properties
|
||||
|
||||
@@ -169,7 +169,7 @@ class UpdateDataFromSverchok(bpy.types.Operator, tool.Ifc.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=pset,
|
||||
properties={"Data": json.dumps(sverchok_data)},
|
||||
properties={"Data": tool.Ifc.get().createIfcText(json.dumps(sverchok_data))},
|
||||
)
|
||||
update_sverchok_modifier(context)
|
||||
|
||||
|
||||
@@ -496,7 +496,7 @@ class AddWindow(bpy.types.Operator, tool.Ifc.Operator):
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
pset=pset,
|
||||
properties={"Data": json.dumps(window_data, default=list)},
|
||||
properties={"Data": tool.Ifc.get().createIfcText(json.dumps(window_data, default=list))},
|
||||
)
|
||||
update_window_modifier_representation(context, obj)
|
||||
return {"FINISHED"}
|
||||
@@ -553,7 +553,7 @@ class FinishEditingWindow(bpy.types.Operator, tool.Ifc.Operator):
|
||||
update_window_modifier_representation(context, obj)
|
||||
|
||||
pset = tool.Pset.get_element_pset(element, "BBIM_Window")
|
||||
window_data = json.dumps(window_data, default=list)
|
||||
window_data = tool.Ifc.get().createIfcText(json.dumps(window_data, default=list))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": window_data})
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
@@ -513,7 +513,8 @@ class Model(blenderbim.core.tool.Model):
|
||||
else:
|
||||
pset = ifcopenshell.api.run("pset.add_pset", tool.Ifc.get(), product=element, name="BBIM_Boolean")
|
||||
data = boolean_ids
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": json.dumps(data)})
|
||||
data = tool.Ifc.get().createIfcText(json.dumps(data))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": data})
|
||||
|
||||
@classmethod
|
||||
def unmark_manual_booleans(cls, element, booleans):
|
||||
@@ -526,7 +527,8 @@ class Model(blenderbim.core.tool.Model):
|
||||
data = list(data)
|
||||
pset = tool.Ifc.get().by_id(pset["id"])
|
||||
if data:
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": json.dumps(data)})
|
||||
data = tool.Ifc.get().createIfcText(json.dumps(data))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": data})
|
||||
else:
|
||||
ifcopenshell.api.run("pset.remove_pset", tool.Ifc.get(), pset=pset)
|
||||
|
||||
@@ -601,7 +603,7 @@ class Model(blenderbim.core.tool.Model):
|
||||
else:
|
||||
obj = tool.Ifc.get_object(element)
|
||||
array_pset = tool.Pset.get_element_pset(element, "BBIM_Array")
|
||||
default_data = '[{"children": []}]'
|
||||
default_data = tool.Ifc.get().createIfcText('[{"children": []}]')
|
||||
ifcopenshell.api.run(
|
||||
"pset.edit_pset",
|
||||
tool.Ifc.get(),
|
||||
@@ -611,7 +613,7 @@ class Model(blenderbim.core.tool.Model):
|
||||
|
||||
tool.Model.regenerate_array(obj, array_data)
|
||||
|
||||
json_data = json.dumps(array_data)
|
||||
json_data = tool.Ifc.get().createIfcText(json.dumps(array_data))
|
||||
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=array_pset, properties={"Data": json_data})
|
||||
|
||||
for i in range(len(array_data)):
|
||||
|
||||
Reference in New Issue
Block a user