diff --git a/src/Mod/Arch/ArchWall.py b/src/Mod/Arch/ArchWall.py
index 2c304ff80..5af1c7481 100644
--- a/src/Mod/Arch/ArchWall.py
+++ b/src/Mod/Arch/ArchWall.py
@@ -49,14 +49,16 @@ def makeWall(baseobj=None,width=None,height=None,align="Center",name=str(transla
obj.ViewObject.ShapeColor = ArchCommands.getDefaultColor("Wall")
return obj
-def joinWalls(walls):
- "joins the given list of walls into one sketch-based wall"
+def joinWalls(walls,delete=False):
+ """joins the given list of walls into one sketch-based wall. If delete
+ is True, merged wall objects are deleted"""
if not walls:
return None
if not isinstance(walls,list):
walls = [walls]
if not areSameWallTypes(walls):
return None
+ deleteList = []
base = walls.pop()
if base.Base:
if base.Base.Shape.Faces:
@@ -69,9 +71,13 @@ def joinWalls(walls):
base.Base = sk
for w in walls:
if w.Base:
- if not base.Base.Shape.Faces:
- for e in base.Base.Shape.Edges:
- sk.addGeometry(e)
+ if not w.Base.Shape.Faces:
+ for e in w.Base.Shape.Edges:
+ sk.addGeometry(e.Curve)
+ deleteList.append(w.Name)
+ if delete:
+ for n in deleteList:
+ FreeCAD.ActiveDocument.removeObject(n)
FreeCAD.ActiveDocument.recompute()
return base
@@ -98,9 +104,6 @@ def mergeShapes(w1,w2):
def areSameWallTypes(walls):
"returns True is all the walls in the given list have same height, width, and alignment"
- for w in walls:
- if Draft.getType(w) != "Wall":
- return False
for att in ["Width","Height","Align"]:
value = None
for w in walls:
@@ -272,6 +275,38 @@ class _CommandWall:
def setContinue(self,i):
self.continueCmd = bool(i)
+
+
+class _CommandMergeWalls:
+ "the Arch Merge Walls command definition"
+ def GetResources(self):
+ return {'Pixmap' : 'Arch_MergeWalls',
+ 'MenuText': QtCore.QT_TRANSLATE_NOOP("Arch_MergeWalls","Merge Walls"),
+ 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Arch_MergeWalls","Merges the selected walls, if possible")}
+
+ def IsActive(self):
+ if FreeCADGui.Selection.getSelection():
+ return True
+ else:
+ return False
+
+ def Activated(self):
+ walls = FreeCADGui.Selection.getSelection()
+ if len(walls) < 2:
+ FreeCAD.Console.PrintMessage(str(translate("Arch","You must select at least 2 walls")))
+ return
+ for w in walls:
+ if Draft.getType(w) != "Wall":
+ FreeCAD.Console.PrintMessage(str(translate("Arch","Please select only wall objects")))
+ return
+ FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Merge Walls")))
+ FreeCADGui.doCommand("import Arch")
+ FreeCADGui.doCommand("Arch.joinWalls(FreeCADGui.Selection.getSelection(),delete=True)")
+ FreeCAD.ActiveDocument.commitTransaction()
+
+
+
+
class _Wall(ArchComponent.Component):
"The Wall object"
@@ -382,7 +417,7 @@ class _Wall(ArchComponent.Component):
if height:
norm = normal.multiply(height)
base = base.extrude(norm)
- elif len(base.Wires) == 1:
+ elif len(base.Wires) >= 1:
temp = None
for wire in obj.Base.Shape.Wires:
sh = self.getBase(obj,wire,normal,width,height)
@@ -454,3 +489,4 @@ class _ViewProviderWall(ArchComponent.ViewProviderComponent):
return
FreeCADGui.addCommand('Arch_Wall',_CommandWall())
+FreeCADGui.addCommand('Arch_MergeWalls',_CommandMergeWalls())
diff --git a/src/Mod/Arch/Arch_rc.py b/src/Mod/Arch/Arch_rc.py
index 38e5309e6..ea96da63c 100644
--- a/src/Mod/Arch/Arch_rc.py
+++ b/src/Mod/Arch/Arch_rc.py
@@ -2,7 +2,7 @@
# Resource object code
#
-# Created: Fri Feb 15 13:08:35 2013
+# Created: Sun Mar 24 15:50:46 2013
# by: The Resource Compiler for PyQt (Qt v4.8.2)
#
# WARNING! All changes made in this file will be lost!
@@ -31096,6 +31096,187 @@ qt_resource_data = "\
\x55\x4c\x69\x8a\x07\xe9\x7b\x88\xe6\x87\xfa\x1b\xc0\x5e\xa3\xb6\
\x8e\x99\x2c\x6e\xae\xae\x6d\x7d\x71\x73\xf5\x1f\x81\x50\x39\x69\
\
+\x00\x00\x0b\x26\
+\x00\
+\x00\x5f\x19\x78\x9c\xed\x5c\xdb\x72\xe3\x36\x12\x7d\xf7\x57\x70\
+\x35\x2f\x49\x2d\x09\x01\x8d\x5b\x43\x63\x3b\xb5\xb5\xa9\x54\xa5\
+\x6a\xf3\xb2\x9b\xad\x3c\xa6\x68\x91\x96\x99\x91\x48\x15\x49\xdf\
+\xe6\xeb\xd3\xa0\x6e\xd4\xc5\xb2\x3d\xb2\x3d\x9e\x11\xe5\xb2\x2d\
+\x11\x0d\x10\x04\x0f\x4e\x9f\x06\x9a\x3a\xfd\xe9\x6e\x32\x0e\x6e\
+\xd2\xb2\xca\x8a\xfc\xac\x27\x18\xef\x05\x69\x3e\x2c\x92\x2c\x1f\
+\x9d\xf5\xfe\xff\xfb\x2f\x11\xf6\x82\xaa\x8e\xf3\x24\x1e\x17\x79\
+\x7a\xd6\xcb\x8b\xde\x4f\xe7\x27\xa7\xff\x88\xa2\xe0\xdf\x65\x1a\
+\xd7\x69\x12\xdc\x66\xf5\x55\xf0\x6b\xfe\xa9\x1a\xc6\xd3\x34\xf8\
+\xe1\xaa\xae\xa7\x83\x7e\xff\xf6\xf6\x96\x65\xf3\x83\xac\x28\x47\
+\xfd\x1f\x83\x28\x3a\x3f\x39\x39\xad\x6e\x46\x27\x41\x10\xd0\x79\
+\xf3\x6a\x90\x0c\xcf\x7a\xf3\x0a\xd3\xeb\x72\xdc\x18\x26\xc3\x7e\
+\x3a\x4e\x27\x69\x5e\x57\x7d\xc1\x44\xbf\xb7\x32\x1f\xae\xcc\x87\
+\xfe\xec\xd9\x4d\x3a\x2c\x26\x93\x22\xaf\x9a\x9a\x79\xf5\xa1\x65\
+\x5c\x26\x97\x4b\x6b\xdf\x9b\x5b\xd9\x18\x09\xe7\x5c\x9f\x43\x1f\
+\x20\x22\x8b\xa8\xba\xcf\xeb\xf8\x2e\x5a\xaf\x4a\x7d\xdc\x55\x15\
+\x38\xe7\x7d\x2a\x5b\x59\x3e\xcd\x6a\x50\xd1\x80\x4e\xe9\x77\x69\
+\xbe\x38\xc0\xaa\xe2\xba\x1c\xa6\x97\x54\x2f\x65\x79\x5a\xf7\x7f\
+\xfe\xfd\xe7\x65\x61\xc4\x59\x52\x27\xad\x66\x16\xe3\xb9\x76\xd6\
+\xb5\x41\xce\xe3\x49\x5a\x4d\xe3\x61\x5a\xf5\x17\xc7\x9b\xfa\xb7\
+\x59\x52\x5f\x9d\xf5\x8c\x9a\xde\x35\x9f\xaf\xd2\x6c\x74\x55\xb7\
+\x0e\x64\xc9\x59\x8f\xfa\x0c\x28\x4c\xf3\xb9\x05\x09\x31\x33\x98\
+\x37\x37\x58\x96\x70\xa6\x90\x49\x26\x82\xd2\x21\xce\x6a\x2d\x7a\
+\x3e\x48\x8a\xa1\xef\xca\x59\xef\x5f\xe5\xf0\xea\xcf\xdf\x52\xba\
+\xbc\x3f\xe2\xf1\xb8\x62\x7e\x5c\xce\xc9\xf4\x34\x49\x2f\x2b\x5f\
+\x65\x76\x6a\xff\x89\xce\x8d\x4d\x19\x95\x2e\xcf\x36\xa5\xb3\x4d\
+\xd3\xa1\xbf\xd3\x33\xeb\xd6\x49\xea\x7b\x3f\x14\xeb\xa6\x72\x36\
+\x5e\xc1\x5a\x8f\xa7\x7f\xde\x51\x77\x83\x41\x20\x81\xfe\x88\x9d\
+\x16\xf7\x33\x0b\x41\x37\x8f\xfe\xf1\x9d\x36\x9f\xfd\x80\xed\x69\
+\x66\xde\x83\xa8\x28\xb3\x51\x46\x23\xd4\xd8\x81\x60\xb2\x79\xad\
+\xd7\xa1\x8b\x6e\x5d\x1b\x20\xa8\x5e\xd0\x7f\xc2\xd5\x6f\x54\x94\
+\x06\xe0\xf1\x8e\x70\xa6\xfd\x45\xcd\x3b\xb2\xd9\x95\xf5\x2b\x14\
+\x8d\xa5\x3e\x68\xa0\xe6\xc3\xbd\xd9\xcc\x63\x77\xee\x4b\x07\x20\
+\x72\x47\x3e\x04\x5a\x1e\xf9\x00\x58\x7d\xe4\x03\xe0\xec\x71\x0f\
+\x80\x85\x1d\x7d\x38\xaa\x01\x50\x47\xee\x07\xac\x51\x47\x3e\x00\
+\x78\xe4\x24\x88\xdc\x1c\xfd\x00\x44\x47\xae\x04\x50\x7e\x6f\x93\
+\xe0\xb4\xef\x83\xa3\xe6\xdd\xb2\x82\x8f\xad\x92\x9b\x2c\xbd\x5d\
+\x45\x50\x17\x71\x95\xce\x5b\x9e\xc6\x23\x0a\x8b\xc7\x45\x79\xd6\
+\xfb\x70\xd9\xbc\xe6\x05\x17\x45\x99\xa4\xe5\xa2\xc8\x34\xaf\xb5\
+\xa2\x82\x42\xc7\xac\xbe\x9f\x2d\x04\x9c\x6c\x0c\x22\xb5\xba\x2c\
+\xe7\xbb\xcb\xab\xab\x38\x29\x6e\xcf\x7a\xb0\x59\xf8\xb9\x28\x26\
+\x14\x0f\x31\x44\xc7\xd1\xaa\xcd\xe2\x21\x8d\x90\x32\x8c\x06\x51\
+\x3b\xdc\x2a\xa4\xf3\x49\xcd\x84\x33\xc6\xca\xad\xc2\xeb\xb2\x4c\
+\xf3\x3a\x1a\xc7\xf7\x29\x5d\x54\xf3\x6f\x31\xc2\xd5\x55\x71\x3b\
+\x2a\xfd\xe0\xd4\xe5\x75\xba\x59\x93\x42\xd4\x6b\xbf\xc8\x10\x5d\
+\xe7\x59\x4d\x81\xfc\x3c\x10\x6e\x59\xf8\xba\xd1\xc5\x45\x71\xb7\
+\xbb\x81\x2a\x8f\xa7\x7b\x8a\x7d\x49\x34\x8d\xeb\xab\x6a\x4f\x79\
+\x5e\x24\xe9\x03\xe5\xcb\xe6\xa3\x34\x19\xa5\xd1\x24\x4b\xa6\x45\
+\x96\xd7\x8f\x5a\x3f\x62\x58\x5c\xfc\x45\x53\x65\x5f\xc7\xe6\x16\
+\x7b\xba\x76\x9b\xe5\x74\x9b\xa3\xf9\xa2\x82\x70\xb0\x05\x86\xb9\
+\xc5\x62\x99\x41\x70\x6d\x1f\x30\xf1\x73\xe3\x81\xa2\xfb\x87\x8b\
+\x26\xf1\x5d\x36\xc9\x3e\xa7\x74\x6f\xc5\x62\x9e\x4c\xd2\x3a\x4e\
+\xe2\x3a\x5e\xcd\x89\xc5\x11\x8a\xae\xc5\x62\x65\xa1\x4c\x2e\x07\
+\xff\xfd\xf9\x97\xf3\xf9\x24\x3c\x1d\x0e\x07\x7f\x14\xe5\xa7\xc5\
+\x9c\x0c\x02\x6f\x10\x5f\x14\xd7\xd4\xed\xde\xf9\xf2\xf0\x69\x32\
+\x1c\x5c\x16\xe5\x24\xae\xcf\xb3\x09\x21\xdd\x2f\xf0\xfc\xf3\x6e\
+\x32\xa6\xd9\xb9\x2c\x58\x33\xf6\x73\x7a\xd5\xe8\xac\xd9\x32\x9d\
+\x2d\xf7\xec\x5c\xf3\x4a\x86\x93\xcc\x57\xea\xff\xaf\xce\xc6\xe3\
+\x5f\xfd\x49\x96\x14\xb8\x6c\x34\xab\xc7\xe9\x79\x73\xce\xd9\xdb\
+\xc5\x55\xf4\xe7\x97\x31\xbf\xc8\x7e\xeb\x2a\x4f\xfb\x8b\x61\x68\
+\x3e\x8d\x56\xc3\xb3\x36\x59\x96\x23\x3c\x8e\x2f\xd2\xf1\x59\xef\
+\x3f\xbe\x30\xd8\x2a\x1d\x95\xc5\xf5\x74\x42\xd0\x98\x57\x5f\x0e\
+\x2b\x41\x66\xc9\x6b\xf5\xfd\x98\xca\x1b\x9e\x19\x7c\xe0\xcd\xeb\
+\xe3\x25\x5d\xd4\xe0\x83\x8d\xfd\x4f\xf3\x21\x9a\x93\xc9\x40\xcc\
+\x3e\x96\xd7\xe3\x74\x90\xde\xa4\x84\xbb\xe4\x63\x55\x97\xc5\xa7\
+\x74\x59\x79\xf6\x71\x06\xb8\x01\x67\x0e\x0c\x28\x0d\x62\x71\x7c\
+\x9c\xe5\x29\xf5\x6e\x70\x71\x5d\xd7\xed\x63\x7f\xd1\x3c\x18\x50\
+\x87\xf3\x45\x83\x34\x39\xea\xb4\x1c\x13\x74\xea\x81\x5a\x1c\x5b\
+\xf5\x63\x7e\x20\x89\x89\xc7\xca\x32\xbe\x1f\xe4\x45\x9e\xb6\x8f\
+\x16\x97\x97\x55\x5a\x0f\xf8\xc7\x49\x5c\x7e\x4a\xcb\x59\xf9\x4d\
+\x56\x65\x17\xd9\xd8\x37\xd1\xbc\x1d\xa7\x1f\x93\xac\x9a\xd2\xf0\
+\x0c\xb2\xdc\x77\xe3\x63\x71\x93\x96\x97\xe3\xe2\x76\x59\x9e\xe6\
+\x31\xfd\x8b\x2e\xe2\xe1\xa7\x51\xd3\xbf\x41\x3c\x24\x36\xba\x1e\
+\xc7\x75\xba\xf2\x20\x74\x8b\xfc\xb0\x02\x2a\x1e\xc9\x48\x45\x3c\
+\xc2\xc8\xd2\x3b\x19\xad\x74\xce\x62\x0e\x6a\xe6\x84\x06\xbe\x8a\
+\x01\x16\x53\xcf\x32\x63\x41\x11\xb1\x2e\x4b\x3c\xd7\x22\xe3\xe8\
+\x5c\x4b\x30\xd2\x5c\xd3\x92\x09\x70\xd2\xad\x1c\x54\x5d\xc6\x79\
+\xe5\xc1\x4d\x53\x29\xae\xcb\xec\xee\x07\xce\x90\x5a\x33\xd2\x86\
+\x91\x5f\xfe\x43\x63\xd1\x41\xc8\x43\x41\xbf\xfc\xc7\x95\xcb\x7e\
+\x22\x1c\x66\xde\xe9\x50\x38\xa0\xb5\x5a\x6a\xa3\x8e\x08\x0e\x10\
+\x35\x90\xd8\x82\x01\x30\x45\xe5\x52\x6d\xc1\xc0\x31\xa1\xad\x33\
+\xdc\xb5\x61\x20\x39\xb3\x1c\x84\x5a\x83\x81\x70\x74\x63\x2d\xe0\
+\x5e\x14\x38\x8a\xb7\xb9\x45\x13\x72\x06\x52\x39\x85\x52\xad\x50\
+\xb0\xa8\x58\xde\xfb\xf3\x72\x2e\x9c\xe5\x2a\x8d\x38\xae\xf0\xe1\
+\xdd\xcf\x96\x52\x1a\x16\x39\xdd\xb8\xba\x28\x23\xf2\xea\x37\x71\
+\x7d\x5d\xa6\x2b\x0f\xb0\x17\x47\x43\xeb\x7f\x0e\xc6\x91\xd1\xc2\
+\x18\xe5\xbe\x6f\x1c\x11\x8c\x7e\x0b\x94\x64\xd6\xaf\xf5\x9b\x50\
+\x20\xd1\xa9\x04\xe3\x02\xad\x19\x2a\x80\x10\x04\x43\x2d\x14\xd7\
+\x81\x12\xcc\x69\x63\xb5\x0b\xc1\x31\x03\x88\x12\x02\x7a\x47\x56\
+\x16\x74\x08\x86\xd0\xc3\x8d\xc3\xe0\xf3\x43\x9c\xa5\x9b\x5f\x41\
+\x3f\x2a\x5a\x81\x6c\x25\x63\xc9\x8f\x78\x97\x47\x32\x63\xe8\x5f\
+\xcf\xe6\x8f\xce\x9d\xbc\x84\x3b\xd9\xe1\x4c\x50\x91\x37\x91\x5b\
+\x2c\x82\x4c\x49\xe7\x40\xc3\xa3\xce\x84\x00\x06\xd2\x08\xe5\x3a\
+\x67\xf2\xee\xc1\xd0\x38\x93\xd7\x70\x25\x8e\x69\xa7\xb8\xdc\x8f\
+\x81\xce\x95\x7c\xb3\x28\x5a\xb8\x12\x63\x24\xa2\x0d\xe9\x06\x19\
+\xc3\xa5\x68\x5c\x89\xb5\xd6\x81\x08\x05\xb9\x10\xa7\x04\xb9\x97\
+\x95\x33\x21\x85\x61\xa5\xd6\xae\xed\x4c\x84\x61\xc8\xad\xd2\xf6\
+\x49\xce\xa4\x73\x25\xef\x87\x3d\xd6\x23\x13\xb1\xc9\x23\x20\x09\
+\x15\xc0\x71\x3b\x32\x41\x26\x0d\x1a\x65\x4c\x9b\x47\xc0\xa3\x89\
+\x58\x40\x6d\x38\x13\x89\xce\x4a\xd3\x39\x93\x77\x0f\x87\x59\x64\
+\x02\x07\xba\x13\x24\xfe\x40\xe5\xc0\xb5\x61\x40\x82\x93\x9c\x83\
+\xd6\xba\xf3\x27\xdf\x27\x90\x1a\x7f\x02\xc8\x0c\x4d\x1a\xa7\x42\
+\x61\x29\xe8\xd0\x68\x02\x45\xe2\xc2\x58\x03\x14\x87\x70\xa6\x35\
+\x49\x50\x1b\xd0\x3b\xe2\x0e\xeb\x30\x94\x14\xaf\x80\x16\x08\x01\
+\x32\x2d\xc1\x7a\x0e\xa0\x46\xd0\xdf\xda\x27\xc6\x26\xe6\x9d\x3b\
+\x14\xa1\xbf\xef\x1b\xbf\xd3\xa1\xe8\x2d\x0e\xa1\xa0\xd5\x38\x21\
+\xed\x0e\x57\x22\x48\x46\x68\xab\xd6\x5c\x09\x61\x40\xfb\x00\xb5\
+\xcd\x21\x06\x18\x27\xe9\xa1\xd5\x33\x5d\x89\xec\x5c\xc9\x9b\x03\
+\xc1\xee\xd0\x12\xd2\x7a\x0f\xb0\x03\x00\x9c\xf8\x41\x6a\x5c\x03\
+\x00\xd3\x00\x5c\xcb\xf5\xc0\x94\x64\x28\x11\xc8\x23\x81\xe9\x5e\
+\x27\xd2\x01\xe0\x8d\x00\xe0\xb6\x17\xba\x9f\x0b\x01\x3a\xea\x84\
+\x53\x66\x13\x02\xa0\x69\x52\xbf\x00\x04\xda\x6a\xa1\x53\x01\x2f\
+\xa7\x02\x84\x62\xca\x50\x24\xe5\x42\xa9\x29\x32\x94\x28\x4c\x20\
+\x2d\x13\x28\xad\x80\x90\xee\x20\x38\x2d\x49\x05\x68\x26\x2c\x37\
+\xd2\x85\x7e\x15\x0a\x14\xd7\x18\x90\xd2\xd4\x42\xd1\x4c\x09\x15\
+\x78\x41\xa0\xb9\xdc\xd9\xdc\x23\xca\x80\x3f\x41\x13\x3c\x55\x27\
+\x76\x8c\xf1\x66\xda\xc1\x44\xb8\xa5\x1b\xc8\xe7\x83\x40\xb5\x1d\
+\x7b\x90\x6e\xd0\x1a\xac\x83\x75\xb7\x41\x5a\x93\x13\x3f\xb4\x39\
+\x43\x02\x23\x1d\xa6\x5c\xc7\x19\xef\x12\x04\x0d\x67\x48\xc7\xa4\
+\x40\x63\xd0\xf3\x83\x95\xdc\x4a\x13\x78\xbd\xe7\x33\xe3\x42\x65\
+\x19\xd0\xcb\x89\x40\x73\xcf\x14\x14\x5f\x86\x5a\x32\xa7\xb9\xb3\
+\x2e\x00\xcb\x64\xa3\x0b\x3d\x8f\x28\x0a\x3e\x40\xed\x6c\x6e\x2f\
+\x67\x7c\x4d\xc6\xe8\xa2\x8d\x83\xa2\x0d\xbd\x63\x4b\xfd\x79\xd1\
+\x86\x30\x24\x4c\x14\x1a\xb9\xa6\x34\xa8\x0d\x21\x65\xeb\x11\x8d\
+\x2e\xda\x78\xbf\x40\xd8\x5a\xb4\x7a\xa6\xd8\x14\x44\x22\x56\x70\
+\xab\x37\x1d\x07\x47\x0e\xf6\xed\xe2\x8d\x8e\x0b\x0e\xe0\x82\x43\
+\x57\x1d\x34\x81\x80\x40\x63\xd6\xd4\x03\x52\xc4\x61\xb9\x7e\x24\
+\xa9\xe2\x45\x79\xa0\x03\xc1\x41\x0e\x61\x6b\xed\xe1\x99\x30\x50\
+\x9a\x49\x27\xc1\xad\x2f\x3e\x49\xbf\x2a\x29\x9e\x9b\x60\xb5\x0b\
+\x05\x9d\x86\x7c\xb5\xd5\x67\xba\x45\xe8\x94\x4f\x79\x21\x22\x16\
+\x7e\x37\x53\x30\x43\x51\xa6\xd5\xa1\x54\xcc\xa1\xdf\xc4\xf4\xe2\
+\xd0\x70\xc5\xb9\x6a\xc4\xa1\x50\xd2\x40\xe0\xf7\x30\x51\x21\x40\
+\x28\x8d\x17\x9b\xc8\x71\x67\x7b\x7b\x44\x24\xbc\x86\x84\xec\x76\
+\x34\xbe\xfa\x5a\x86\xe5\xca\x18\xe3\x53\xa6\x88\x41\x50\xc9\x80\
+\xde\x11\x39\x50\x40\xe9\xb7\x2a\x1c\x82\x46\xe1\xed\x00\x8d\xf2\
+\x38\xd3\x84\x29\xe1\x93\xb2\x28\x18\x75\x42\x3b\x81\x21\x09\x09\
+\x0a\x46\xb4\x14\xfb\xf0\xa3\xa2\x1d\x8f\x17\x1c\xbc\x95\xd1\x69\
+\xca\x2f\x5f\x8e\xd8\xf4\x23\x7e\x99\x8a\x53\x98\xb0\x53\x53\x3a\
+\xed\x9d\xc6\x9a\x1f\xf1\x79\x54\x02\x60\x73\x31\x42\x82\x40\xb7\
+\x3f\xac\xe8\x34\xe5\xfb\x80\x40\x13\x5f\x1e\xae\x2a\xb9\xa3\x1b\
+\xda\x46\x81\xa5\xc8\x42\x10\x85\xc8\x17\x96\x13\x9d\x8b\x78\x6b\
+\x17\x31\x09\xb4\x62\x5c\x2a\x61\x1b\xe6\x57\x60\xb8\x0d\x2c\xb3\
+\xce\x48\x05\xa1\x60\xa8\x48\x55\x60\x10\xf9\x85\x4c\x21\x29\xf2\
+\x0c\x8d\x4f\xdf\x35\x48\xc7\xe6\x66\x61\x34\x37\xdb\x9b\x40\xf5\
+\xde\x13\xa7\x8e\x90\x19\xf0\xe0\x50\x03\x7c\xb2\x0c\x48\x5c\x73\
+\x11\x0a\x7c\x16\x05\xb9\xdc\xb7\x8b\x35\x5e\x06\x08\x84\x60\x49\
+\xae\xed\x35\x33\xe8\xde\x7e\x7a\x2b\x64\x14\xfc\x87\xda\xc7\x0c\
+\xa4\xf9\x0c\x4d\x6e\xce\x29\x2e\x70\x61\x44\x9a\xcf\x21\x0a\xd4\
+\x01\x0f\x29\x42\x30\x92\x1b\xeb\xfc\xb4\xe6\xd2\xf9\xf5\x68\xc9\
+\x1c\x09\xc0\x3d\xb3\xba\x9d\x7d\xb7\xe3\x4b\x20\x1e\x23\xf1\xf7\
+\x26\x12\x95\x50\xc4\x7f\xc7\x24\x12\x67\x19\x73\xdb\x2c\x20\x98\
+\x12\xce\x6c\x93\x80\x63\xc2\x48\x27\xd6\xf3\x26\x25\x91\x80\xb2\
+\xed\xb5\x05\x22\x01\x42\x11\x48\x0a\x2e\x60\x7f\xb6\x8b\x7f\xb0\
+\x56\x08\x85\x5e\x28\x6a\x4d\x6e\x85\x60\xf7\x60\xc6\x9c\x45\xe2\
+\xe9\x6f\x21\x63\x6e\xc6\x23\xf6\xfb\x06\xd2\x62\xdf\x0b\x25\x2a\
+\x87\x24\x15\xa4\x76\xd6\x4a\xe5\x33\xb0\x55\x93\x0c\xd7\x1c\xb3\
+\xdc\xa0\x9c\xb1\x90\x75\xc4\xf1\x33\x22\xa2\x72\xbf\xa7\xae\xb4\
+\x45\xad\x43\xbf\xed\xe9\x37\xce\xe1\x69\x29\x73\xaf\x11\x67\x76\
+\x52\xe2\xf0\x1c\xec\x03\xf3\xaf\xa5\x60\xda\x2f\x32\xd8\x36\x8f\
+\x48\xe9\x33\xa9\xac\x7d\xc3\xe5\xeb\x6e\xc9\xe1\x4b\xbd\xc9\xc1\
+\x49\x73\x4a\x83\x04\xbd\xa6\x26\x01\x98\x76\x00\xe2\x80\x87\x42\
+\x3b\x00\xbc\x9d\x9c\x38\x30\xf9\xde\x3f\xff\x67\x5c\x3b\x3f\xee\
+\x7e\x26\x47\x14\xb7\xaf\x9c\x7c\xdf\x81\xe3\xb5\x33\x2a\x0f\xe6\
+\x07\xbf\x80\x49\x54\xa0\x37\xf9\xc1\x22\x37\x8f\xe8\xcc\x67\x67\
+\x47\xbd\x1f\x35\x79\x2c\x4b\x51\xa4\x26\x35\xd3\xca\x3f\xd0\x17\
+\xfa\xdd\x4a\x14\x3e\x5c\x55\x96\x19\x52\x8c\x00\xa1\x21\x61\x6d\
+\x00\x75\x93\x32\xa5\x7d\x88\x0a\xfe\x11\x72\xee\x28\xfa\x80\x80\
+\x98\x43\x51\x08\xa1\x49\x89\x6a\x8a\x52\x9c\x94\x4f\x79\x00\xe3\
+\x39\x4a\xb2\x43\xc7\x57\xdf\xcb\x92\x14\x94\x6a\xe9\x9f\xd8\x54\
+\x92\x18\x5c\x34\x79\xb9\x42\x3b\xa9\xfd\x57\x07\x38\x29\x40\xcf\
+\x12\x73\x39\xa0\x11\x61\xf3\x3c\x8f\x73\x4a\x05\xc0\x24\x4a\xaf\
+\x0b\x43\xe2\x1c\x41\x11\x09\xba\x9d\xed\x3d\x86\x98\x0e\x2f\xdf\
+\x0e\x5e\x28\x36\x05\xcd\xfd\x2d\xa7\xbb\x6f\x8c\x01\x08\x4c\x93\
+\x0c\xc3\xad\x0c\x89\x42\x50\xa3\xb0\x44\x30\x8e\x39\x6d\xfd\xfe\
+\xba\x5f\x7f\x30\xd2\xb3\x0b\x48\x8b\x02\xfd\xbe\xb9\xdf\x17\xe3\
+\x6e\x57\x5b\x7b\xa1\xd2\x85\xa8\xef\x48\x79\x34\x21\xea\xf6\x17\
+\xd6\x3c\x7b\x1b\x0c\x34\xd1\xc5\x5a\x70\x62\x48\x7c\x18\x6c\xc7\
+\xb1\x5f\x18\x9d\x9e\xf6\x47\xe7\x27\xa7\xfe\x9b\xbd\xce\x4f\xfe\
+\x06\xf2\x9a\xfe\xf0\
\x00\x00\x06\xd1\
\x00\
\x00\x27\xd8\x78\x9c\xed\x59\x5b\x6f\xe3\xb6\x12\x7e\xcf\xaf\xd0\
@@ -32945,6 +33126,11 @@ qt_resource_name = "\
\x00\x41\
\x00\x72\x00\x63\x00\x68\x00\x5f\x00\x42\x00\x75\x00\x69\x00\x6c\x00\x64\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x73\x00\x76\x00\x67\
\
+\x00\x13\
+\x08\x0a\x92\x67\
+\x00\x41\
+\x00\x72\x00\x63\x00\x68\x00\x5f\x00\x4d\x00\x65\x00\x72\x00\x67\x00\x65\x00\x57\x00\x61\x00\x6c\x00\x6c\x00\x73\x00\x2e\x00\x73\
+\x00\x76\x00\x67\
\x00\x14\
\x03\x50\x84\x07\
\x00\x70\
@@ -32993,8 +33179,8 @@ qt_resource_name = "\
qt_resource_struct = "\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x01\
-\x00\x00\x00\x10\x00\x02\x00\x00\x00\x01\x00\x00\x00\x38\
-\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1d\x00\x00\x00\x1b\
+\x00\x00\x00\x10\x00\x02\x00\x00\x00\x01\x00\x00\x00\x39\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1e\x00\x00\x00\x1b\
\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x17\x00\x00\x00\x04\
\x00\x00\x01\x2e\x00\x00\x00\x00\x00\x01\x00\x02\x9d\x23\
\x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x06\x6c\x9e\
@@ -33019,19 +33205,20 @@ qt_resource_struct = "\
\x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x02\x52\xbc\
\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x01\xbc\xaa\
\x00\x00\x02\x3e\x00\x00\x00\x00\x00\x01\x00\x05\x84\xf1\
-\x00\x00\x06\x2e\x00\x01\x00\x00\x00\x01\x00\x07\x97\x68\
+\x00\x00\x06\x5a\x00\x01\x00\x00\x00\x01\x00\x07\xa2\x92\
\x00\x00\x05\x3a\x00\x00\x00\x00\x00\x01\x00\x07\x59\x96\
\x00\x00\x03\xd6\x00\x00\x00\x00\x00\x01\x00\x06\xfb\x9a\
-\x00\x00\x07\x5e\x00\x01\x00\x00\x00\x01\x00\x07\xef\x3d\
-\x00\x00\x06\x00\x00\x01\x00\x00\x00\x01\x00\x07\x90\x93\
+\x00\x00\x07\x8a\x00\x01\x00\x00\x00\x01\x00\x07\xfa\x67\
+\x00\x00\x06\x2c\x00\x01\x00\x00\x00\x01\x00\x07\x9b\xbd\
\x00\x00\x04\x10\x00\x01\x00\x00\x00\x01\x00\x07\x0a\x09\
\x00\x00\x04\x62\x00\x01\x00\x00\x00\x01\x00\x07\x1d\x90\
\x00\x00\x03\x7a\x00\x01\x00\x00\x00\x01\x00\x06\xe0\xf8\
-\x00\x00\x06\xf8\x00\x00\x00\x00\x00\x01\x00\x07\xcb\xf9\
+\x00\x00\x07\x24\x00\x00\x00\x00\x00\x01\x00\x07\xd7\x23\
\x00\x00\x05\x7a\x00\x00\x00\x00\x00\x01\x00\x07\x73\x70\
\x00\x00\x05\x1a\x00\x01\x00\x00\x00\x01\x00\x07\x51\xce\
\x00\x00\x03\x58\x00\x01\x00\x00\x00\x01\x00\x06\xd7\xff\
-\x00\x00\x06\xce\x00\x01\x00\x00\x00\x01\x00\x07\xc4\x64\
+\x00\x00\x06\x00\x00\x01\x00\x00\x00\x01\x00\x07\x90\x93\
+\x00\x00\x06\xfa\x00\x01\x00\x00\x00\x01\x00\x07\xcf\x8e\
\x00\x00\x04\x3e\x00\x01\x00\x00\x00\x01\x00\x07\x13\x61\
\x00\x00\x03\x0e\x00\x01\x00\x00\x00\x01\x00\x06\xc5\xe9\
\x00\x00\x03\x38\x00\x01\x00\x00\x00\x01\x00\x06\xcf\x91\
@@ -33039,12 +33226,12 @@ qt_resource_struct = "\
\x00\x00\x04\xce\x00\x00\x00\x00\x00\x01\x00\x07\x39\x8b\
\x00\x00\x05\xd8\x00\x01\x00\x00\x00\x01\x00\x07\x88\x2e\
\x00\x00\x04\xf8\x00\x01\x00\x00\x00\x01\x00\x07\x4a\x0c\
-\x00\x00\x06\x58\x00\x00\x00\x00\x00\x01\x00\x07\x9f\xad\
+\x00\x00\x06\x84\x00\x00\x00\x00\x00\x01\x00\x07\xaa\xd7\
\x00\x00\x04\x86\x00\x01\x00\x00\x00\x01\x00\x07\x22\xa7\
-\x00\x00\x06\xa2\x00\x01\x00\x00\x00\x01\x00\x07\xbb\xea\
-\x00\x00\x06\x82\x00\x01\x00\x00\x00\x01\x00\x07\xb1\xb0\
+\x00\x00\x06\xce\x00\x01\x00\x00\x00\x01\x00\x07\xc7\x14\
+\x00\x00\x06\xae\x00\x01\x00\x00\x00\x01\x00\x07\xbc\xda\
\x00\x00\x05\x5a\x00\x01\x00\x00\x00\x01\x00\x07\x6d\x58\
-\x00\x00\x07\x24\x00\x00\x00\x00\x00\x01\x00\x07\xdd\xc8\
+\x00\x00\x07\x50\x00\x00\x00\x00\x00\x01\x00\x07\xe8\xf2\
\x00\x00\x03\xac\x00\x00\x00\x00\x00\x01\x00\x06\xe9\x3a\
\x00\x00\x04\xb0\x00\x00\x00\x00\x00\x01\x00\x07\x2a\x8f\
\x00\x00\x02\xda\x00\x01\x00\x00\x00\x01\x00\x06\xbe\x99\
diff --git a/src/Mod/Arch/InitGui.py b/src/Mod/Arch/InitGui.py
index 947da7843..bcfb99adc 100644
--- a/src/Mod/Arch/InitGui.py
+++ b/src/Mod/Arch/InitGui.py
@@ -74,7 +74,7 @@ class ArchWorkbench(Workbench):
"Arch_SectionPlane","Arch_Add","Arch_Remove"]
self.meshtools = ["Arch_SplitMesh","Arch_MeshToShape",
"Arch_SelectNonSolidMeshes","Arch_RemoveShape",
- "Arch_CloseHoles"]
+ "Arch_CloseHoles","Arch_MergeWalls"]
self.calctools = ["Arch_Check"]
# draft tools
diff --git a/src/Mod/Arch/Resources/Arch.qrc b/src/Mod/Arch/Resources/Arch.qrc
index b332026e8..452ecf5b5 100644
--- a/src/Mod/Arch/Resources/Arch.qrc
+++ b/src/Mod/Arch/Resources/Arch.qrc
@@ -29,6 +29,7 @@
icons/Arch_CloseHoles.svg
icons/Arch_Check.svg
icons/Arch_SelectNonManifold.svg
+ icons/Arch_MergeWalls.svg
ui/archprefs-base.ui
translations/Arch_af.qm
translations/Arch_de.qm
diff --git a/src/Mod/Arch/Resources/icons/Arch_MergeWalls.svg b/src/Mod/Arch/Resources/icons/Arch_MergeWalls.svg
new file mode 100644
index 000000000..d96db03ba
--- /dev/null
+++ b/src/Mod/Arch/Resources/icons/Arch_MergeWalls.svg
@@ -0,0 +1,422 @@
+
+
+
+