Arch: Adjust height of objects inside groups

This commit is contained in:
Yorik van Havre
2019-10-07 15:33:28 -03:00
parent c8df73d756
commit 2f07f13e9d
4 changed files with 30 additions and 13 deletions

View File

@@ -377,11 +377,7 @@ class BuildingPart(ArchIFC.IfcProduct):
self.shapecache = None
if (prop == "Height") and obj.Height.Value:
for child in obj.Group:
if Draft.getType(child) in ["Wall","Structure"]:
if not child.Height.Value:
print("Executing ",child.Label)
child.Proxy.execute(child)
self.touchChildren(obj)
elif prop == "Placement":
if hasattr(self,"oldPlacement"):
@@ -461,6 +457,17 @@ class BuildingPart(ArchIFC.IfcProduct):
g.append(o)
return g
def touchChildren(self,obj):
"Touches all descendents where applicable"
for child in obj.Group:
if Draft.getType(child) in ["Wall","Structure"]:
if not child.Height.Value:
print("Executing ",child.Label)
child.Proxy.execute(child)
elif Draft.getType(child) in ["Group"]:
self.touchChildren(child)
class ViewProviderBuildingPart: