diff --git a/src/Mod/Arch/InitGui.py b/src/Mod/Arch/InitGui.py
index 0de772e67..863a88682 100644
--- a/src/Mod/Arch/InitGui.py
+++ b/src/Mod/Arch/InitGui.py
@@ -82,10 +82,11 @@ class ArchWorkbench(Workbench):
# draft tools
self.drafttools = ["Draft_Line","Draft_Wire","Draft_Circle","Draft_Arc","Draft_Ellipse",
"Draft_Polygon","Draft_Rectangle", "Draft_Text",
- "Draft_Dimension", "Draft_BSpline","Draft_Point"]
+ "Draft_Dimension", "Draft_BSpline","Draft_Point","Draft_ShapeString",
+ "Draft_Facebinder"]
self.draftmodtools = ["Draft_Move","Draft_Rotate","Draft_Offset",
"Draft_Trimex", "Draft_Upgrade", "Draft_Downgrade", "Draft_Scale",
- "Draft_Drawing","Draft_Edit","Draft_Shape2DView","Draft_Draft2Sketch","Draft_Array",
+ "Draft_Drawing","Draft_Shape2DView","Draft_Draft2Sketch","Draft_Array",
"Draft_Clone"]
self.extramodtools = ["Draft_WireToBSpline","Draft_AddPoint","Draft_DelPoint"]
self.draftcontexttools = ["Draft_ApplyStyle","Draft_ToggleDisplayMode","Draft_AddToGroup",
diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py
index 8d310eacf..08a800392 100644
--- a/src/Mod/Draft/Draft.py
+++ b/src/Mod/Draft/Draft.py
@@ -1947,6 +1947,20 @@ def heal(objlist=None,delete=True,reparent=True):
for n in dellist:
FreeCAD.ActiveDocument.removeObject(n)
+def makeFacebinder(selectionset,name="Facebinder"):
+ """makeFacebinder(selectionset,[name]): creates a Facebinder object from a selection set.
+ Only faces will be added."""
+ if not isinstance(selectionset,list):
+ selectionset = [selectionset]
+ fb = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name)
+ _Facebinder(fb)
+ if gui:
+ _ViewProviderDraft(fb.ViewObject)
+ faces = []
+ fb.Proxy.addSubobjects(fb,selectionset)
+ return fb
+
+
def upgrade(objects,delete=False,force=None):
"""upgrade(objects,delete=False,force=None): Upgrades the given object(s) (can be
an object or a list of objects). If delete is True, old objects are deleted.
@@ -3833,9 +3847,6 @@ class _Point(_DraftObject):
obj.setEditorMode('Placement',mode)
def execute(self, fp):
- self.createGeometry(fp)
-
- def createGeometry(self,fp):
import Part
shape = Part.Vertex(Vector(fp.X,fp.Y,fp.Z))
fp.Shape = shape
@@ -4037,7 +4048,57 @@ class _ShapeString(_DraftObject):
glyphfaces.extend(islands)
ret = Part.Compound(glyphfaces) # should we fuse these instead of making compound?
return ret
-
+
+
+class _Facebinder(_DraftObject):
+ "The Draft Facebinder object"
+ def __init__(self,obj):
+ _DraftObject.__init__(self,obj,"Facebinder")
+ obj.addProperty("App::PropertyLinkSubList","Faces","Draft","Linked faces")
+
+ def execute(self,obj):
+ pl = obj.Placement
+ if not obj.Faces:
+ return
+ faces = []
+ for f in obj.Faces:
+ if "Face" in f[1]:
+ try:
+ fnum = int(f[1][4:])-1
+ faces.append(f[0].Shape.Faces[fnum])
+ except:
+ print "Draft: wrong face index"
+ return
+ if not faces:
+ return
+ import Part
+ sh = faces.pop()
+ try:
+ for f in faces:
+ sh = sh.fuse(f)
+ sh = sh.removeSplitter()
+ except:
+ print "Draft: error building facebinder"
+ return
+ obj.Shape = sh
+ obj.Placement = pl
+
+ def addSubobjects(self,obj,facelinks):
+ "adds facelinks to this facebinder"
+ objs = obj.Faces
+ for o in facelinks:
+ if isinstance(o,tuple) or isinstance(o,list):
+ if o[0].Name != obj.Name:
+ objs.append(tuple(o))
+ else:
+ for el in o.SubElementNames:
+ if "Face" in el:
+ if o.Object.Name != obj.Name:
+ objs.append((o.Object,el))
+ obj.Faces = objs
+ self.execute(obj)
+
+
#----End of Python Features Definitions----#
if gui:
diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py
index 9b9ce3096..b3068b5f3 100644
--- a/src/Mod/Draft/DraftTools.py
+++ b/src/Mod/Draft/DraftTools.py
@@ -3740,7 +3740,40 @@ class Heal():
else:
Draft.heal()
FreeCAD.ActiveDocument.commitTransaction()
-
+
+
+class Draft_Facebinder(Creator):
+ "The Draft Facebinder command definition"
+
+ def GetResources(self):
+ return {'Pixmap' : 'Draft_Facebinder',
+ 'Accel' : "F,F",
+ 'MenuText': QtCore.QT_TRANSLATE_NOOP("Draft_Facebinder", "Facebinder"),
+ 'ToolTip' : QtCore.QT_TRANSLATE_NOOP("Draft_Facebinder", "Creates a facebinder object from selected face(s)")}
+
+ def Activated(self):
+ Creator.Activated(self)
+ if not Draft.getSelection():
+ if self.ui:
+ self.ui.selectUi()
+ msg(translate("draft", "Select face(s) on existing object(s)\n"))
+ self.call = self.view.addEventCallback("SoEvent",selectObject)
+ else:
+ self.proceed()
+
+ def proceed(self):
+ if self.call:
+ self.view.removeEventCallback("SoEvent",self.call)
+ if FreeCADGui.Selection.getSelection():
+ FreeCAD.ActiveDocument.openTransaction("Facebinder")
+ FreeCADGui.doCommand("import Draft, FreeCADGui")
+ FreeCADGui.doCommand("s = FreeCADGui.Selection.getSelectionEx()")
+ FreeCADGui.doCommand("Draft.makeFacebinder(s)")
+ FreeCAD.ActiveDocument.commitTransaction()
+ FreeCAD.ActiveDocument.recompute()
+ self.finish()
+
+
#---------------------------------------------------------------------------
# Snap tools
#---------------------------------------------------------------------------
@@ -3916,6 +3949,7 @@ FreeCADGui.addCommand('Draft_BSpline',BSpline())
FreeCADGui.addCommand('Draft_Point',Point())
FreeCADGui.addCommand('Draft_Ellipse',Ellipse())
FreeCADGui.addCommand('Draft_ShapeString',ShapeString())
+FreeCADGui.addCommand('Draft_Facebinder',Draft_Facebinder())
# modification commands
FreeCADGui.addCommand('Draft_Move',Move())
diff --git a/src/Mod/Draft/Draft_rc.py b/src/Mod/Draft/Draft_rc.py
index 84ec55a40..6330f4b67 100644
--- a/src/Mod/Draft/Draft_rc.py
+++ b/src/Mod/Draft/Draft_rc.py
@@ -2,7 +2,7 @@
# Resource object code
#
-# Created: Wed Oct 9 15:34:36 2013
+# Created: Thu Oct 10 19:14:40 2013
# by: The Resource Compiler for PyQt (Qt v4.8.5)
#
# WARNING! All changes made in this file will be lost!
@@ -45545,6 +45545,207 @@ qt_resource_data = "\
\xb2\xcf\x72\xb5\x60\x27\x28\x3d\x73\xf5\x99\xab\x8f\x72\xe7\xcc\
\xd5\x9f\xe3\xea\x67\x2a\x9e\x4f\x70\xb5\xff\x3f\xe7\xea\xf6\xb1\
\x7e\x08\x5f\x57\xf4\x4f\xe7\xde\xbc\xfa\x2f\xd5\x27\x78\xbc\
+\x00\x00\x0c\x6e\
+\x00\
+\x00\x49\x74\x78\x9c\xed\x5b\x5b\x6f\xe3\xc6\x15\x7e\xf7\xaf\x60\
+\xb5\x2f\x59\x54\x1c\xcd\xfd\xa2\xb5\x37\x0f\x5d\xa4\x08\xd0\xa2\
+\x40\x93\xa0\x8f\x01\x2d\x52\x36\xbb\x12\x29\x50\x94\x2f\xfb\xeb\
+\xfb\x0d\x29\x51\xa4\x4d\xdb\x92\x2d\x5b\xee\x26\x0a\xb2\x26\xcf\
+\xdc\xce\x9c\xf3\x9d\x1b\x39\x3c\xfd\xf1\x66\x3e\x0b\xae\x92\x62\
+\x99\xe6\xd9\xd9\x80\x11\x3a\x08\x92\x6c\x92\xc7\x69\x76\x71\x36\
+\xf8\xed\xd7\x9f\x42\x3b\x08\x96\x65\x94\xc5\xd1\x2c\xcf\x92\xb3\
+\x41\x96\x0f\x7e\xfc\x7c\x72\xfa\x97\x30\x0c\xfe\x56\x24\x51\x99\
+\xc4\xc1\x75\x5a\x5e\x06\x3f\x67\x5f\x97\x93\x68\x91\x04\x3f\x5c\
+\x96\xe5\x62\x3c\x1a\x5d\x5f\x5f\x93\x74\x4d\x24\x79\x71\x31\xfa\
+\x18\x84\xe1\xe7\x93\x93\xd3\xe5\xd5\xc5\x49\x10\x04\x58\x37\x5b\
+\x8e\xe3\xc9\xd9\x60\x3d\x60\xb1\x2a\x66\x55\xc7\x78\x32\x4a\x66\
+\xc9\x3c\xc9\xca\xe5\x88\x11\x36\x1a\x6c\xbb\x4f\xb6\xdd\x27\x7e\
+\xf5\xf4\x2a\x99\xe4\xf3\x79\x9e\x2d\xab\x91\xd9\xf2\x43\xab\x73\
+\x11\x4f\x9b\xde\x9e\x9b\x6b\x51\x75\x62\xce\xb9\x11\xe5\x23\xce\
+\x43\xf4\x08\x97\xb7\x59\x19\xdd\x84\xdd\xa1\xe0\xb1\x6f\x28\xa7\
+\x94\x8e\xd0\xb6\xed\xb9\x5b\xaf\xf1\xcd\x0c\xa2\x78\x90\x99\xaa\
+\xb5\xbd\x3a\xc4\xbf\xc0\xff\xcd\x80\x0d\x81\x2c\xf3\x55\x31\x49\
+\xa6\x18\x99\x90\x2c\x29\x47\x5f\x7e\xfd\xd2\x34\x86\x94\xc4\x65\
+\xdc\x9a\x66\x23\xfd\xce\xba\x1d\x95\x64\xd1\x3c\x59\x2e\xa2\x49\
+\xb2\x1c\x6d\xe8\xd5\xf8\xeb\x34\x2e\x2f\xcf\x06\x5a\x2e\x6e\xaa\
+\xfb\xcb\x24\xbd\xb8\x2c\x5b\x84\x34\x3e\x1b\x60\x87\xdc\x68\x5d\
+\xdd\x6f\x78\x18\x37\x48\xa2\x44\xf0\xba\xeb\x7a\xe2\x76\x93\xb4\
+\x44\x06\x85\x73\xc2\x75\x47\xc7\xf9\xc4\xb3\x74\x36\xf8\x52\x44\
+\xd3\xf2\xf7\x9f\xc0\xd9\x79\x9a\xc5\x49\x41\x36\xe2\x6c\x66\xcb\
+\x57\xe5\x62\x55\xfe\x9e\xdc\x94\x49\x56\x4f\x8b\x0d\xb5\x76\x57\
+\x35\xfb\x61\xa4\xb3\xb3\x16\xd2\xd9\xe0\x33\x28\xa7\x71\x32\x5d\
+\xfa\x96\x7a\x53\xfe\x0e\xbb\xb2\x55\x1b\x5a\xa1\x99\x24\x2a\xfe\
+\x5e\x44\x71\x0a\x3c\xd6\xfd\xea\x9e\xdd\x16\x61\xac\x59\x8f\xc1\
+\xa8\x65\x99\x2f\x36\x7d\xd7\xc2\x02\x05\x7d\xea\xfd\xd6\xbf\x7c\
+\x3a\x5d\x26\x10\x2a\x6d\xd1\x96\xe5\xed\x2c\xa9\x7b\x87\x93\x7c\
+\x96\x17\xe3\x0f\x54\x33\x37\xa1\x9f\x2a\x52\x0e\x5d\xa5\xe5\xed\
+\x98\x7d\x1a\x04\xa3\x27\x57\x73\xac\x67\x35\xf6\xf8\x6a\x18\x35\
+\x99\x9e\x3f\xb8\xda\xe9\xa8\xbb\xed\x7d\xa5\x64\xb5\x7c\x52\x4a\
+\x76\x8d\xa9\xb7\x91\x92\x85\xae\xdf\x48\x4a\x0d\x76\x17\x00\xe1\
+\x22\x99\x78\xef\xb5\x59\xa6\x31\x81\xf2\xd6\x1b\x6c\xb7\xab\x88\
+\x1b\x76\xb6\xd6\xb4\xf8\xfd\x06\x52\x09\xc6\x81\xe0\xf8\x87\xf5\
+\xf6\xb8\xad\x7b\x30\x38\x24\xfc\xa1\xbd\x7d\xbe\x79\xb3\x7e\x64\
+\x9a\x35\x07\x61\x5e\xa4\x17\x29\x0c\xa7\xea\xc7\x19\x11\xd5\xaf\
+\x3b\x06\x42\x6d\xed\x8d\x1b\x23\xb7\x32\x79\x00\x23\x9b\x65\x20\
+\xd9\x19\x86\x9d\x0d\xa2\xd9\x75\x74\xbb\x6c\xe6\xac\x7c\xe3\xf8\
+\xb2\x48\xe0\xcb\x3f\xf4\xa0\xe9\x11\xb0\x31\xbb\x65\xed\x62\x4d\
+\xfc\x2d\x4b\x4b\x38\xed\xd5\x32\x29\x7e\xf1\x8e\xef\x5f\xd9\x6f\
+\xcb\x64\xbb\x18\x3b\x1b\x28\xcb\x08\xd7\x42\x6c\xc7\xde\x82\xca\
+\xb8\x26\xc6\x69\xae\xb6\x7d\x39\x04\x47\x1d\x51\xd2\xb1\xad\x59\
+\xdf\x82\x0a\x71\x13\x46\x0d\xb5\xf7\x56\xff\xb5\x88\xb2\x25\xbc\
+\xf7\xfc\x6c\x30\x8f\xca\x22\xbd\xf9\x01\x01\x57\x33\xe9\x04\x1b\
+\x52\xfc\xc7\x86\xa1\x92\x94\x38\xed\x24\x2e\x8d\x20\xc2\x68\xc9\
+\x3f\x1e\x57\x88\x72\x4f\x21\x3e\xbc\x59\x44\x28\xc3\x99\xa4\xca\
+\xb8\x21\x2e\x8d\xd5\xf0\x51\x6e\xe8\xc9\x42\x28\xed\x0c\xf7\xd7\
+\x20\x42\x24\x9c\x0d\x95\x54\x44\x28\xea\xa9\xc2\x3a\x22\xb5\x56\
+\xfa\x63\x47\x57\x9a\x2a\xe2\xa4\x56\xae\xa3\x2b\xc7\x89\x61\xcc\
+\x3a\xd7\xd5\x15\x34\x28\x98\xe0\xa2\xa3\xab\x6d\xdf\xa7\x64\xdc\
+\xeb\xcc\x42\xba\x8b\x3b\x0b\xdf\xd8\xa1\x85\xfc\xb8\x8e\xbf\x2b\
+\xd8\x27\x94\xd0\xaf\xb0\x5e\xe5\xee\x61\x46\x5a\x0a\xc2\xb9\x95\
+\x62\x18\x5a\x4e\xa4\x54\xc8\x54\x3e\xee\x09\xe4\x1e\x95\x73\x66\
+\x76\x35\xaa\xb0\xc7\xdd\xde\xb5\xcf\x57\xb6\xeb\x90\xb6\x90\xd0\
+\x6f\xdb\x61\x9b\xcf\x97\xda\x37\x72\x2a\xc7\x14\x75\x8d\x16\x8c\
+\xe1\x04\xda\xd6\x0a\x5a\x90\x44\x09\xae\xdc\xfb\xb3\x60\xc8\x68\
+\x27\x1b\x0e\xfb\x12\x85\x57\xb5\xe2\x50\x1c\xdf\x8e\x7d\x30\xe3\
+\xe6\x6e\xdc\x83\x5e\x8d\x60\xca\x74\xb4\xe6\xbb\x1a\x87\xd8\xd9\
+\xd5\xb0\x50\x44\x52\xa3\xd5\x4e\x00\x92\x54\x32\xcd\x85\x8f\x03\
+\x56\x32\x44\x05\x26\x3c\x98\x80\x11\x61\x29\xd3\xde\x9c\x8d\x25\
+\x94\x32\xc5\x86\xd2\x19\x02\x9b\xd7\xe6\xe5\x86\x2d\x29\xb3\xfb\
+\x58\x55\x4b\x33\x47\x34\x6e\xf7\xb4\x71\x1f\x2e\x78\xff\x9f\x1a\
+\xb7\xdb\xd1\xb8\xdf\xb2\x32\xab\x8d\x5b\xbe\x07\xe3\xe6\xc4\x5a\
+\xcd\xed\x1d\xeb\x76\x08\xa7\x8e\xde\x51\x1b\x23\xca\x19\xc5\xcd\
+\x1d\xeb\x96\x84\xd3\x76\x11\xf5\x18\x82\x14\xd5\xc8\xeb\x28\x51\
+\x8c\x0a\x24\xb6\x76\x6d\xda\xdc\x19\x33\x0c\x1d\x02\xb5\x33\xd2\
+\x22\x21\x94\x1c\x3e\x83\x5b\xce\x0e\x61\xd9\x4a\x3e\xcf\xa4\x8e\
+\x66\xd7\x8f\xee\xc6\x88\x03\x5a\xf4\xd3\xfa\x50\x5c\xe3\x12\x5e\
+\x19\x76\x68\xb9\xb8\x63\xdf\x1a\x15\x0a\x37\x4c\x75\xc3\x00\x83\
+\x37\xd0\x8a\x76\xed\xdb\xa0\x54\xa2\x12\xfc\x77\xec\x5b\x5a\xc2\
+\x98\xd1\x54\x3c\x25\xd5\x63\xa0\xb5\x49\x29\x51\xe3\x31\xce\x51\
+\x7e\xac\x73\x4b\x78\x25\xc5\xb9\xd4\x10\x8c\x82\x5b\xb4\x82\xaa\
+\xc3\x00\xb5\x55\x28\xec\x00\xd5\x50\xbd\x1c\xac\x0f\xba\x4d\x4c\
+\xbe\xa3\xe3\x0c\xe9\xdb\xbb\xce\xde\x35\xbf\x73\xe7\xf9\x20\x1c\
+\xad\xf1\xc9\x18\xb3\x80\x23\x83\xdf\x74\x5a\x1c\xc4\x6f\x3a\xfa\
+\xc6\x60\xfc\x63\x08\x75\x5f\x1b\x3f\x44\x1d\xf9\x88\x95\xef\xfa\
+\x04\xc3\xdb\x79\xef\x73\x85\x57\xb7\xf4\x16\xb2\xfe\x20\xb6\x8e\
+\xda\x87\x5a\x86\x54\xc8\xe3\x12\xb0\xa4\x35\x2c\x51\x5d\x69\x26\
+\x94\xf6\x55\x90\x62\x86\x08\x14\x40\x72\x18\x0a\x04\x67\x29\xb9\
+\xe6\x07\xc0\x27\xe3\x7b\x25\x4b\x07\x41\xe7\x11\xaa\x4c\x25\xac\
+\xd2\xb6\xae\x32\x51\xa4\x28\xe6\x74\x9d\xfa\x68\x25\x94\xb5\xd6\
+\x57\x99\x8e\xa0\xe2\x94\x62\xe8\x25\x0d\xe1\x4a\x77\x98\x2a\xb3\
+\x65\x43\xbb\xd4\x99\xfc\xf5\x8c\x9f\xef\xfe\xe0\xe3\x08\xd5\x91\
+\x38\xf6\x43\xcc\x03\xd4\xe7\xec\x51\x2c\x18\x11\xde\x77\x06\x2f\
+\xc8\xe5\xd7\x98\xa6\x55\x6e\x6a\x8c\x53\x77\x20\xed\x18\xcc\x09\
+\x10\x84\xc7\x70\xda\xe7\xe2\x4c\x1e\x2d\x9d\x7f\x10\x94\x6c\x47\
+\x48\x1e\x21\x12\x99\x3f\x5a\x18\xda\x15\x53\xe0\xc7\x67\x49\x70\
+\x93\x12\xbd\x0f\x54\x09\xed\xf3\x38\xce\xb5\x72\xaa\x57\xc8\x91\
+\xf4\xce\x19\x52\xdf\xf3\xda\xd7\xce\x8f\xde\x05\x2c\xdf\x36\x7a\
+\x57\x4f\x2d\xaa\x27\xc4\x54\x53\x4a\x45\xf7\xb1\x85\xd4\x44\x50\
+\xc7\xfc\xf3\x61\x45\xac\xb3\x5a\x1c\x2a\x72\xef\x17\xba\x0f\xf0\
+\x88\xf8\xe1\xd0\x2d\x76\x0e\xdd\xcf\xc0\xe4\x74\x6a\x39\x7d\x49\
+\xe8\x7e\xc6\xc1\x93\xe9\x79\x4c\x85\xf9\x5e\x31\x69\x18\xe1\x70\
+\x99\x48\x26\xab\xa3\x01\xe2\x10\xef\x22\x0d\xdd\xe3\x5d\xe4\x41\
+\xf0\xf8\xfe\xe4\xfa\x6a\xb6\xae\xf6\x12\xad\x79\x4d\x53\x7f\xfa\
+\x5c\xd9\xc6\xd4\xdf\xfe\x41\x9c\x78\x1f\xc5\xf9\x3b\x83\xa4\xe4\
+\x1c\x97\x52\x2b\x82\xfc\x4b\x1e\xe0\xf5\xa4\x30\x92\xbd\x35\x20\
+\x0f\x70\xf6\xa0\xcd\x46\xcf\x9e\x7a\x92\xd0\x97\xbe\xca\x78\x96\
+\x56\xfa\x21\xf0\x00\x5c\xfa\xa1\xd5\x46\xe1\x5b\x08\x56\x3c\x2a\
+\x58\xb3\xef\xb9\xb7\x97\xbd\x91\x77\xd4\x47\x37\x27\x7c\x78\x63\
+\xc4\x30\x69\xf9\xf7\x2c\xdc\x43\xbe\x80\xdb\xed\xb8\x03\x32\x06\
+\xe9\x91\x6b\x50\x9e\xb3\x7b\x55\xfb\x9b\x09\xf7\x5d\xfa\x5a\xac\
+\x6d\x14\xc2\x3f\xec\x5b\x4a\x7a\x90\xea\xd3\x87\xff\xfd\xe2\x7f\
+\xcf\xb1\xd9\xc3\xc5\xff\x5d\x1f\x89\xd8\xde\xb4\xfb\xd5\xe3\xff\
+\x91\xeb\xcf\xc3\x58\x7c\xeb\x71\x43\xbf\x43\x0d\xef\x9f\x42\x7c\
+\xb5\x58\xa5\xd0\xc3\x5a\xe6\xdd\x29\xf0\xad\x99\x38\x5e\xac\x7a\
+\xa4\x00\x0d\xed\xee\x25\xe8\x51\x90\xc9\x8e\x9d\x9b\x1e\x26\x85\
+\x6a\xbf\x58\xed\x0d\x47\xad\x2c\xeb\xd5\xa1\xe9\x4f\xc1\x1b\xc5\
+\xe0\x70\x81\x2b\x41\xb5\xb4\xef\x10\x9a\x66\xe7\xb3\x0b\xf6\x28\
+\xef\x34\xe1\x34\x9f\xf3\x84\xe4\xfb\x2e\x9b\x78\xe5\xea\xa4\x1b\
+\x2a\xca\x89\x54\x5c\xcb\x03\x94\x4d\x96\xee\x73\x86\x61\x8f\x38\
+\x7e\x3a\xf2\x1f\x8a\x55\x57\xcd\x97\x3b\xfe\xcb\xb5\xf8\x2a\x4d\
+\xae\x4f\x1a\x76\xce\xa3\x86\xbf\x45\x74\x91\x54\x8a\xc4\xea\xd3\
+\xea\xb7\x6e\x38\xcf\x8b\x38\x29\x36\x4d\xba\xfa\x75\x9a\xd6\xba\
+\xae\x3f\xce\x3c\xe9\x72\xe7\x67\x6d\xda\x69\x7f\xfb\xf2\x32\x8a\
+\xf3\xeb\xb3\x01\xbf\xdb\xf8\x2d\xcf\xa1\x20\x41\xac\x75\xd4\x36\
+\x69\xed\x76\xe7\x37\x18\x63\x88\xe3\x8e\xaa\x7b\x6d\x58\x8e\x5b\
+\x22\x01\x0c\x75\xbf\x71\x55\x14\x90\x6a\x38\x8b\x6e\x13\xec\xa9\
+\xfa\xb3\x91\xec\xf2\x32\xbf\xbe\x28\xbc\x6c\xca\x62\x95\xdc\x1d\
+\x19\xe7\x93\x95\xff\xee\x33\x5c\xd5\x9a\x5e\x7f\x6d\xd8\xea\xe1\
+\xc7\x86\xe7\xe7\xf9\x4d\xff\x04\xd7\x69\x86\xbd\x86\xeb\xef\x17\
+\x99\xe3\xf7\x24\xb2\xee\xb1\xf9\xa2\x91\x51\x75\x6f\xe3\xeb\x2e\
+\x37\x5b\x3f\x70\xb7\xe9\xf6\xe1\xa6\x79\x74\x93\xce\xd3\x6f\x49\
+\xbc\xb5\xe7\xa6\xcb\x32\x8b\x16\xe1\xc5\x2c\x3f\x8f\x66\xfd\xec\
+\x57\x1d\xb2\x3c\x4e\xb0\xf7\x69\x34\x03\x78\xd6\x70\x9b\x27\x65\
+\x14\x47\x65\xb4\x85\xd6\x86\xc2\x7d\xb5\xb7\xb6\xf5\x22\x9e\x8e\
+\xff\xfd\xe5\xa7\xc6\x0b\x4d\x26\xe3\xff\xe4\xc5\xd7\xad\x57\xf1\
+\x1d\xa2\xf3\x7c\x85\x8d\x37\x1e\xd2\x7f\x02\x39\x19\x7b\x63\x8d\
+\xca\xcf\xe9\x1c\x80\xf1\xdf\xae\xfe\xf5\x66\x3e\x03\xc8\x9b\x86\
+\x4e\x67\xff\x8d\xda\x76\xd2\x7a\xda\x22\xa9\xbf\x4d\xed\xfd\x9c\
+\x37\x9e\xcc\x53\x3f\x68\xf4\x4b\x99\xce\x66\x3f\xfb\x45\x5a\xde\
+\x72\x3d\x69\x5a\xce\x92\x96\x0b\x1d\xad\xb9\xdf\x78\xb7\xd6\xe6\
+\x4e\x47\x9b\xdd\x57\x77\x17\x5b\xa9\x74\xb0\xd6\x88\x75\x16\x9d\
+\x27\x90\xf8\x3f\x7c\x63\x70\xaf\xf5\xa2\xc8\x57\x8b\x39\x84\xbe\
+\x1e\xbe\x91\xe6\x22\x2a\x2f\x37\x1c\xae\xdd\xf1\xc6\xed\x52\x78\
+\x33\x29\xb9\x34\xea\xd3\x26\x24\x54\xbf\x4f\x53\x6c\xaf\x73\xd3\
+\xf2\xd4\xd5\x6d\xb1\x9a\x25\xe3\xe4\x2a\x81\x92\x63\xb8\xf2\x22\
+\xff\x9a\x34\xfd\xeb\xdb\x1a\xbc\x63\xe6\xcf\x1c\x31\xa1\x0c\xdb\
+\xd0\xbd\xcf\x02\xc3\x63\xb0\x9b\xc5\x6d\xe2\x7f\xf3\x34\xeb\x52\
+\x21\xed\xa4\x98\x01\x87\xe5\x58\x6e\x68\x5b\x46\xd6\x84\x38\x82\
+\x67\x28\x8a\xe8\x76\x9c\xe5\x59\xd2\xa6\xd6\x01\x69\x4c\x3f\xcd\
+\xa3\xe2\x6b\x52\xd4\xed\x57\xe9\x32\x3d\x4f\x67\x7e\x8a\xea\x72\
+\x96\x7c\x8a\xd3\xe5\x02\x22\x1b\xa7\x99\x67\xe3\x53\x7e\x95\x14\
+\xd3\x59\x7e\xdd\xb4\x27\x59\x84\x3f\xe1\x79\x34\xf9\x7a\x51\xf1\
+\x37\x8e\x26\x30\xf0\xd5\x2c\x2a\xb7\x6e\x1b\x5a\xfb\x67\x80\x48\
+\x42\x1d\x73\xc6\xbf\x6a\x74\xfe\xac\x95\x94\x36\xf8\x5b\xe0\x5f\
+\x56\x3a\xab\xa4\x18\x42\x1c\xc6\x22\x2e\x89\x40\x70\xa2\x95\x15\
+\x5a\x0f\x11\x27\x2c\xaa\x67\xe5\x49\x3e\xb8\x68\x05\x12\xca\x68\
+\x6d\x4c\x30\x09\x42\x34\x9b\x24\x94\x98\x91\x22\x10\x68\x19\x80\
+\x20\xd6\x04\xa5\xac\x66\x81\x0f\x40\xd4\x09\x2b\xb8\x5f\x8b\x11\
+\xed\x18\x75\x66\x28\x08\x2a\x6f\xca\xad\x09\xfc\x19\x10\xa7\xb5\
+\x54\x43\x64\xe2\x58\xd3\x48\x11\x30\x62\x15\x93\xc6\xb9\xa1\xff\
+\x08\xd2\x3a\x54\xed\x9e\x46\xad\x73\x06\x34\xef\x30\x35\x3c\x6a\
+\x4d\xd3\xa0\x22\x57\x02\x57\xa8\xec\x99\xa7\x71\x2e\xa4\x76\x43\
+\x4d\x89\xe4\x82\xcb\x60\x16\x30\x87\x7d\x38\xcb\x15\x1b\x52\xf0\
+\x2d\x89\xd4\x94\x2b\x3d\xc4\x06\x0c\xc2\x20\xb5\x81\xc5\x8e\xa9\
+\x10\x6e\x18\x2a\xc8\x83\x2b\x13\x30\x88\x49\x09\xc7\xf9\x30\x44\
+\xdc\x14\xd4\x38\x89\xc9\xab\xdd\x21\xc2\x52\xae\xb9\x0b\x42\xff\
+\x1d\xe3\x86\x22\x34\x58\xa7\xd5\x25\x24\xa6\x02\x84\x7e\xca\xb8\
+\xd3\x9e\xc2\x38\x62\x2e\x0f\xb0\x45\xee\x04\xe3\x18\xe0\xdf\x52\
+\x20\x06\x1b\x17\x70\x41\x38\xb3\x16\xeb\x30\x09\xb1\x58\x8d\x59\
+\x08\x65\xce\xf3\x27\xc0\x83\x51\x50\x14\xf5\x8c\x81\x1f\x48\x0c\
+\x97\xd8\x0e\xd4\x07\x1d\xcc\xfc\x1d\x03\x5b\x0a\x92\xc3\xce\x20\
+\x6e\x30\xa5\x50\xdc\x48\xc3\xc4\xd0\x11\xa5\x8c\xd0\x60\xb4\x59\
+\xa4\x59\xa3\x1e\x2a\x11\x9a\x10\xc2\x9d\xd7\x0e\xb4\x4e\x39\x74\
+\x3b\x64\x90\xa6\xc6\xc0\x40\x2a\x62\x18\xb4\x63\x31\x93\xf1\xe7\
+\x94\x99\x0d\x94\x22\x10\xbe\x95\x12\x4a\xc4\x44\x4c\x4b\x57\xcf\
+\x85\xe1\x90\x31\xac\x96\x63\x39\x98\xaf\xd3\xd6\x78\x79\x7f\xeb\
+\xa4\x0f\x05\x22\xbd\xe0\x94\x86\xb6\xff\xe0\x4d\x06\x0b\x2c\xf3\
+\x22\x44\x84\xbb\x8a\xca\x55\x91\xf8\x38\xd0\x24\x60\x3d\x0e\xa3\
+\xc7\x3b\xc0\x2d\xfe\xf0\xe1\xfe\x23\x87\x8f\x77\xdc\x05\xa1\xcf\
+\x75\x18\xd4\xad\x7f\xf4\xfb\xf7\x1c\xf3\x40\x18\x62\x60\x7b\xdc\
+\x0d\xe1\x2c\x0c\x8c\x8b\x0a\x40\xcd\x00\x2d\xd4\xc1\x6e\x43\x09\
+\x5d\x53\x18\x8d\x47\xb2\x00\xe0\x9d\xad\x80\xc5\x19\x85\x4d\xf6\
+\x13\x3d\x4e\xe9\x10\x30\xb3\x1c\xb5\x37\x2e\x3d\x86\x25\x37\x95\
+\x05\x09\x6f\x9e\x9a\x9a\xc6\x0c\x90\x03\x6b\x21\xa4\xef\x07\xe4\
+\x73\xf0\xa2\x02\x18\x25\x26\xa5\xc8\x66\x25\xa1\xd2\x2a\xcc\x12\
+\x6e\x97\xda\xac\x24\xfb\x89\x95\x99\x78\x1f\x65\x7d\xbe\xcc\xbc\
+\x1f\x51\xd6\x55\xd6\xcb\xfd\x11\x40\xa1\x31\xdd\x43\xb8\xdd\x19\
+\xb5\x0d\x50\x9b\xf4\x15\x11\xd0\xc7\x68\xa4\x1e\x93\xc9\xb7\xc9\
+\x64\x72\x00\x60\xfb\xf2\xf4\x4f\x60\x3f\x0f\xd8\x92\xc2\xb1\x23\
+\xf5\x36\x08\x6a\xda\x09\x67\xa8\xf2\x51\xcd\x17\x62\x42\x56\x27\
+\x96\xa5\x7f\x4b\x4f\x4d\x15\xe9\x84\xd0\xd4\xfa\x28\x09\xb0\x31\
+\x0a\x64\x09\x44\x01\x67\xa9\x03\x0d\x98\x16\x1a\xa1\xa6\x01\x95\
+\xf5\x8e\xdb\x48\xe9\x23\x20\xf3\xdf\x58\x1b\x86\xd0\x77\xf7\x86\
+\x06\x4c\x10\x85\x90\xa0\xfd\x79\x48\x82\x3f\x9c\x56\x66\xa4\xb9\
+\xd6\x08\x75\xde\x62\x14\x43\xb0\x63\xbc\xeb\x63\xc5\xd6\xc5\x3e\
+\xe6\x61\x5d\xef\xb7\x36\xaf\xe4\x62\xfd\x33\xbc\xbb\x48\xfc\x33\
+\x23\x7b\xdc\xaf\x5a\xa4\x2c\xc6\xc2\x85\x29\x0a\x17\xa4\xf4\x26\
+\x84\x73\xee\x9b\x34\xb2\x18\x00\xc4\xf9\x68\xeb\xc1\x25\xfc\x51\
+\x65\xa9\x19\x00\xcb\x2c\x51\x06\x15\xa5\xa8\x31\x87\x66\x2b\x87\
+\x9a\xc0\x0d\x1a\xcc\x52\x93\x8c\x45\x02\xa7\x51\xe9\x2b\xe7\x6c\
+\x45\xe3\x3e\x95\x1a\x0a\x87\x64\x05\x75\xa5\x6d\x67\x46\xa6\x3f\
+\x33\x72\xf7\x33\x23\xd6\xa4\x46\xa2\x95\x1a\xed\x98\xb2\xe8\x1a\
+\xc7\x92\x11\xa5\x0d\xe6\x92\x8f\x80\x77\x4f\xec\x9e\x8e\x2e\x3e\
+\x9f\x9c\xfa\xca\xea\xf3\xc9\xff\x00\x1f\xbe\xa3\x0d\
\x00\x00\x12\x92\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -53804,6 +54005,11 @@ qt_resource_name = "\
\x00\x7f\x01\x67\
\x00\x44\
\x00\x72\x00\x61\x00\x66\x00\x74\x00\x5f\x00\x57\x00\x69\x00\x72\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x14\
+\x04\x04\xe0\x87\
+\x00\x44\
+\x00\x72\x00\x61\x00\x66\x00\x74\x00\x5f\x00\x46\x00\x61\x00\x63\x00\x65\x00\x62\x00\x69\x00\x6e\x00\x64\x00\x65\x00\x72\x00\x2e\
+\x00\x73\x00\x76\x00\x67\
\x00\x10\
\x03\xff\x96\x67\
\x00\x44\
@@ -53973,8 +54179,8 @@ qt_resource_name = "\
qt_resource_struct = "\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\
-\x00\x00\x00\x10\x00\x02\x00\x00\x00\x03\x00\x00\x00\x5a\
-\x00\x00\x00\x00\x00\x02\x00\x00\x00\x39\x00\x00\x00\x21\
+\x00\x00\x00\x10\x00\x02\x00\x00\x00\x03\x00\x00\x00\x5b\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x3a\x00\x00\x00\x21\
\x00\x00\x00\x38\x00\x02\x00\x00\x00\x05\x00\x00\x00\x1c\
\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x17\x00\x00\x00\x05\
\x00\x00\x01\xb4\x00\x01\x00\x00\x00\x01\x00\x04\x13\x04\
@@ -54007,61 +54213,62 @@ qt_resource_struct = "\
\x00\x00\x00\x7c\x00\x01\x00\x00\x00\x01\x00\x00\x0f\x23\
\x00\x00\x06\xfa\x00\x01\x00\x00\x00\x01\x00\x0b\x0c\x2c\
\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x0a\x69\x15\
-\x00\x00\x09\x60\x00\x01\x00\x00\x00\x01\x00\x0b\xe3\x22\
-\x00\x00\x0c\x1c\x00\x01\x00\x00\x00\x01\x00\x0c\xce\xd0\
+\x00\x00\x09\x8e\x00\x01\x00\x00\x00\x01\x00\x0b\xef\x94\
+\x00\x00\x0c\x4a\x00\x01\x00\x00\x00\x01\x00\x0c\xdb\x42\
\x00\x00\x05\xb2\x00\x01\x00\x00\x00\x01\x00\x0a\xa8\xc0\
-\x00\x00\x07\x42\x00\x00\x00\x00\x00\x01\x00\x0b\x29\x76\
-\x00\x00\x08\x56\x00\x01\x00\x00\x00\x01\x00\x0b\x92\x24\
-\x00\x00\x0b\x52\x00\x01\x00\x00\x00\x01\x00\x0c\x95\xea\
-\x00\x00\x07\xb6\x00\x00\x00\x00\x00\x01\x00\x0b\x53\x45\
-\x00\x00\x09\xfa\x00\x01\x00\x00\x00\x01\x00\x0c\x23\xc3\
-\x00\x00\x0c\x6c\x00\x01\x00\x00\x00\x01\x00\x0c\xea\xf4\
+\x00\x00\x07\x70\x00\x00\x00\x00\x00\x01\x00\x0b\x35\xe8\
+\x00\x00\x08\x84\x00\x01\x00\x00\x00\x01\x00\x0b\x9e\x96\
+\x00\x00\x0b\x80\x00\x01\x00\x00\x00\x01\x00\x0c\xa2\x5c\
+\x00\x00\x07\xe4\x00\x00\x00\x00\x00\x01\x00\x0b\x5f\xb7\
+\x00\x00\x0a\x28\x00\x01\x00\x00\x00\x01\x00\x0c\x30\x35\
+\x00\x00\x0c\x9a\x00\x01\x00\x00\x00\x01\x00\x0c\xf7\x66\
\x00\x00\x04\xee\x00\x01\x00\x00\x00\x01\x00\x0a\x82\x37\
-\x00\x00\x09\x08\x00\x00\x00\x00\x00\x01\x00\x0b\xc0\xc8\
-\x00\x00\x08\x7c\x00\x01\x00\x00\x00\x01\x00\x0b\x97\xe8\
-\x00\x00\x07\x1c\x00\x00\x00\x00\x00\x01\x00\x0b\x16\xe0\
+\x00\x00\x09\x36\x00\x00\x00\x00\x00\x01\x00\x0b\xcd\x3a\
+\x00\x00\x08\xaa\x00\x01\x00\x00\x00\x01\x00\x0b\xa4\x5a\
+\x00\x00\x07\x4a\x00\x00\x00\x00\x00\x01\x00\x0b\x23\x52\
+\x00\x00\x07\x1c\x00\x01\x00\x00\x00\x01\x00\x0b\x16\xe0\
\x00\x00\x05\x12\x00\x01\x00\x00\x00\x01\x00\x0a\x87\xb6\
-\x00\x00\x07\x8a\x00\x01\x00\x00\x00\x01\x00\x0b\x42\x3b\
+\x00\x00\x07\xb8\x00\x01\x00\x00\x00\x01\x00\x0b\x4e\xad\
\x00\x00\x04\xca\x00\x01\x00\x00\x00\x01\x00\x0a\x77\xcb\
-\x00\x00\x0b\x7a\x00\x00\x00\x00\x00\x01\x00\x0c\xa1\x59\
+\x00\x00\x0b\xa8\x00\x00\x00\x00\x00\x01\x00\x0c\xad\xcb\
\x00\x00\x04\x28\x00\x01\x00\x00\x00\x01\x00\x0a\x43\x83\
\x00\x00\x06\x02\x00\x01\x00\x00\x00\x01\x00\x0a\xc3\xdf\
-\x00\x00\x0b\x0a\x00\x01\x00\x00\x00\x01\x00\x0c\x7e\xbb\
-\x00\x00\x0b\x2c\x00\x01\x00\x00\x00\x01\x00\x0c\x8c\x56\
+\x00\x00\x0b\x38\x00\x01\x00\x00\x00\x01\x00\x0c\x8b\x2d\
+\x00\x00\x0b\x5a\x00\x01\x00\x00\x00\x01\x00\x0c\x98\xc8\
\x00\x00\x05\xe0\x00\x00\x00\x00\x00\x01\x00\x0a\xb1\xc6\
\x00\x00\x03\xf6\x00\x01\x00\x00\x00\x01\x00\x0a\x3b\xca\
-\x00\x00\x08\xe6\x00\x01\x00\x00\x00\x01\x00\x0b\xb9\x74\
-\x00\x00\x0a\x54\x00\x00\x00\x00\x00\x01\x00\x0c\x34\x0b\
+\x00\x00\x09\x14\x00\x01\x00\x00\x00\x01\x00\x0b\xc5\xe6\
+\x00\x00\x0a\x82\x00\x00\x00\x00\x00\x01\x00\x0c\x40\x7d\
\x00\x00\x06\x56\x00\x01\x00\x00\x00\x01\x00\x0a\xd5\x4f\
-\x00\x00\x0a\x78\x00\x00\x00\x00\x00\x01\x00\x0c\x4a\xbe\
-\x00\x00\x08\x10\x00\x00\x00\x00\x00\x01\x00\x0b\x6a\xf8\
+\x00\x00\x0a\xa6\x00\x00\x00\x00\x00\x01\x00\x0c\x57\x30\
+\x00\x00\x08\x3e\x00\x00\x00\x00\x00\x01\x00\x0b\x77\x6a\
\x00\x00\x05\x64\x00\x01\x00\x00\x00\x01\x00\x0a\x97\xb6\
-\x00\x00\x0c\x3c\x00\x00\x00\x00\x00\x01\x00\x0c\xd9\x7e\
+\x00\x00\x0c\x6a\x00\x00\x00\x00\x00\x01\x00\x0c\xe5\xf0\
\x00\x00\x06\xb0\x00\x00\x00\x00\x00\x01\x00\x0a\xec\x8e\
\x00\x00\x04\x54\x00\x00\x00\x00\x00\x01\x00\x0a\x4b\x8a\
-\x00\x00\x0c\x9c\x00\x00\x00\x00\x00\x01\x00\x0c\xf6\xcd\
-\x00\x00\x0a\xc0\x00\x00\x00\x00\x00\x01\x00\x0c\x68\x45\
+\x00\x00\x0c\xca\x00\x00\x00\x00\x00\x01\x00\x0d\x03\x3f\
+\x00\x00\x0a\xee\x00\x00\x00\x00\x00\x01\x00\x0c\x74\xb7\
\x00\x00\x04\x78\x00\x01\x00\x00\x00\x01\x00\x0a\x60\xaa\
-\x00\x00\x0a\xe8\x00\x01\x00\x00\x00\x01\x00\x0c\x77\x6c\
-\x00\x00\x09\x82\x00\x01\x00\x00\x00\x01\x00\x0b\xeb\xcb\
-\x00\x00\x0b\xa0\x00\x01\x00\x00\x00\x01\x00\x0c\xa9\xe6\
+\x00\x00\x0b\x16\x00\x01\x00\x00\x00\x01\x00\x0c\x83\xde\
+\x00\x00\x09\xb0\x00\x01\x00\x00\x00\x01\x00\x0b\xf8\x3d\
+\x00\x00\x0b\xce\x00\x01\x00\x00\x00\x01\x00\x0c\xb6\x58\
\x00\x00\x06\xd8\x00\x01\x00\x00\x00\x01\x00\x0a\xfe\xcd\
-\x00\x00\x07\xe8\x00\x01\x00\x00\x00\x01\x00\x0b\x61\x47\
-\x00\x00\x09\xd8\x00\x00\x00\x00\x00\x01\x00\x0c\x0f\x32\
+\x00\x00\x08\x16\x00\x01\x00\x00\x00\x01\x00\x0b\x6d\xb9\
+\x00\x00\x0a\x06\x00\x00\x00\x00\x00\x01\x00\x0c\x1b\xa4\
\x00\x00\x05\x88\x00\x01\x00\x00\x00\x01\x00\x0a\x9e\x7f\
-\x00\x00\x08\x36\x00\x00\x00\x00\x00\x01\x00\x0b\x7c\xb0\
+\x00\x00\x08\x64\x00\x00\x00\x00\x00\x01\x00\x0b\x89\x22\
\x00\x00\x06\x36\x00\x01\x00\x00\x00\x01\x00\x0a\xcf\xd0\
-\x00\x00\x0a\x24\x00\x01\x00\x00\x00\x01\x00\x0c\x2a\x38\
-\x00\x00\x08\xbe\x00\x01\x00\x00\x00\x01\x00\x0b\xae\x02\
-\x00\x00\x09\x38\x00\x01\x00\x00\x00\x01\x00\x0b\xd3\x4c\
-\x00\x00\x0b\xf2\x00\x01\x00\x00\x00\x01\x00\x0c\xc4\x4e\
-\x00\x00\x0a\x9c\x00\x01\x00\x00\x00\x01\x00\x0c\x5d\x95\
+\x00\x00\x0a\x52\x00\x01\x00\x00\x00\x01\x00\x0c\x36\xaa\
+\x00\x00\x08\xec\x00\x01\x00\x00\x00\x01\x00\x0b\xba\x74\
+\x00\x00\x09\x66\x00\x01\x00\x00\x00\x01\x00\x0b\xdf\xbe\
+\x00\x00\x0c\x20\x00\x01\x00\x00\x00\x01\x00\x0c\xd0\xc0\
+\x00\x00\x0a\xca\x00\x01\x00\x00\x00\x01\x00\x0c\x6a\x07\
\x00\x00\x05\x34\x00\x01\x00\x00\x00\x01\x00\x0a\x8f\x94\
-\x00\x00\x0b\xc6\x00\x01\x00\x00\x00\x01\x00\x0c\xb4\xab\
-\x00\x00\x08\x9e\x00\x00\x00\x00\x00\x01\x00\x0b\x9e\x30\
+\x00\x00\x0b\xf4\x00\x01\x00\x00\x00\x01\x00\x0c\xc1\x1d\
+\x00\x00\x08\xcc\x00\x00\x00\x00\x00\x01\x00\x0b\xaa\xa2\
\x00\x00\x06\x84\x00\x00\x00\x00\x00\x01\x00\x0a\xdd\x34\
-\x00\x00\x07\x6a\x00\x01\x00\x00\x00\x01\x00\x0b\x38\xc7\
-\x00\x00\x09\xa6\x00\x00\x00\x00\x00\x01\x00\x0b\xf3\x1c\
+\x00\x00\x07\x98\x00\x01\x00\x00\x00\x01\x00\x0b\x45\x39\
+\x00\x00\x09\xd4\x00\x00\x00\x00\x00\x01\x00\x0b\xff\x8e\
\x00\x00\x03\xa2\x00\x01\x00\x00\x00\x01\x00\x0a\x27\x0f\
\x00\x00\x03\xce\x00\x01\x00\x00\x00\x01\x00\x0a\x31\x8a\
\x00\x00\x03\x76\x00\x01\x00\x00\x00\x01\x00\x0a\x1c\x55\
diff --git a/src/Mod/Draft/InitGui.py b/src/Mod/Draft/InitGui.py
index a7405a047..d19048f8b 100644
--- a/src/Mod/Draft/InitGui.py
+++ b/src/Mod/Draft/InitGui.py
@@ -107,7 +107,7 @@ class DraftWorkbench (Workbench):
self.cmdList = ["Draft_Line","Draft_Wire","Draft_Circle","Draft_Arc","Draft_Ellipse",
"Draft_Polygon","Draft_Rectangle", "Draft_Text",
"Draft_Dimension", "Draft_BSpline","Draft_Point",
- "Draft_ShapeString"]
+ "Draft_ShapeString","Draft_Facebinder"]
self.modList = ["Draft_Move","Draft_Rotate","Draft_Offset",
"Draft_Trimex", "Draft_Upgrade", "Draft_Downgrade", "Draft_Scale",
"Draft_Drawing","Draft_Edit","Draft_WireToBSpline","Draft_AddPoint",
diff --git a/src/Mod/Draft/Resources/Draft.qrc b/src/Mod/Draft/Resources/Draft.qrc
index 4e4b5069b..a4115ac39 100644
--- a/src/Mod/Draft/Resources/Draft.qrc
+++ b/src/Mod/Draft/Resources/Draft.qrc
@@ -57,6 +57,7 @@
icons/Draft_Heal.svg
icons/Draft_Ellipse.svg
icons/Draft_ShapeString.svg
+ icons/Draft_Facebinder.svg
patterns/concrete.svg
patterns/cross.svg
patterns/line.svg
diff --git a/src/Mod/Draft/Resources/icons/Draft_Facebinder.svg b/src/Mod/Draft/Resources/icons/Draft_Facebinder.svg
new file mode 100644
index 000000000..3105ff8ca
--- /dev/null
+++ b/src/Mod/Draft/Resources/icons/Draft_Facebinder.svg
@@ -0,0 +1,515 @@
+
+
+
+