diff --git a/src/Mod/Arch/ArchCommands.py b/src/Mod/Arch/ArchCommands.py index 22346f2b54c8..721bd1f9ce37 100644 --- a/src/Mod/Arch/ArchCommands.py +++ b/src/Mod/Arch/ArchCommands.py @@ -670,7 +670,7 @@ def pruneIncluded(objectslist): for obj in objectslist: toplevel = True if obj.isDerivedFrom("Part::Feature"): - if not (Draft.getType(obj) in ["Window","Clone"]): + if not (Draft.getType(obj) in ["Window","Clone","Pipe"]): for parent in obj.InList: if parent.isDerivedFrom("Part::Feature"): if not parent.isDerivedFrom("Part::Part2DObject"): diff --git a/src/Mod/Arch/ArchPipe.py b/src/Mod/Arch/ArchPipe.py index 40cd571a7054..df0d61934c21 100644 --- a/src/Mod/Arch/ArchPipe.py +++ b/src/Mod/Arch/ArchPipe.py @@ -205,7 +205,9 @@ def execute(self,obj): FreeCAD.Console.PrintError(translate("Arch","Unable to build the pipe\n")) else: obj.Shape = sh - if not obj.Base: + if obj.Base: + obj.Length = w.Length + else: obj.Placement = pl def getWire(self,obj): @@ -421,5 +423,7 @@ def GetResources(self): return { 'MenuText': QT_TRANSLATE_NOOP("Arch_PipeTools",'Pipe tools'), 'ToolTip': QT_TRANSLATE_NOOP("Arch_PipeTools",'Pipe tools') } + def IsActive(self): + return not FreeCAD.ActiveDocument is None FreeCADGui.addCommand('Arch_PipeTools', _ArchPipeGroupCommand()) diff --git a/src/Mod/Arch/ArchSchedule.py b/src/Mod/Arch/ArchSchedule.py index 54a6e287d707..e64c7fd037ee 100644 --- a/src/Mod/Arch/ArchSchedule.py +++ b/src/Mod/Arch/ArchSchedule.py @@ -166,7 +166,7 @@ def execute(self,obj): obj.Result.set("B"+str(i+2),str(val)) else: vals = val.split(".") - sumval = None + sumval = 0 for o in objs: if verbose: l = o.Name+" ("+o.Label+"):" @@ -177,6 +177,8 @@ def execute(self,obj): d = getattr(d,v) if verbose: print d + if hasattr(d,"Value"): + d = d.Value except: FreeCAD.Console.PrintWarning(translate("Arch","Unable to retrieve value from object")+": "+o.Name+"."+".".join(vals)+"\n") else: