diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index 7d41143c0..a76b95017 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -1796,7 +1796,8 @@ class _ViewProviderDraft: def unsetEdit(self,vp,mode): if FreeCAD.activeDraftCommand: FreeCAD.activeDraftCommand.finish() - return + FreeCADGui.Control.closeDialog() + return False def getIcon(self): return(":/icons/Draft_Draft.svg") diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py index 9f7a9cd39..4f5de07c0 100644 --- a/src/Mod/Draft/DraftGui.py +++ b/src/Mod/Draft/DraftGui.py @@ -908,6 +908,7 @@ class DraftToolBar: if self.cancel: self.cancel() self.cancel = None + FreeCADGui.ActiveDocument.resetEdit() def escape(self): "escapes the current command" @@ -919,6 +920,7 @@ class DraftToolBar: def closeLine(self): "close button action" self.sourceCmd.finish(True) + FreeCADGui.ActiveDocument.resetEdit() def wipeLine(self): "wipes existing segments of a line" diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index f3378ecaa..15bea7f16 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -3114,12 +3114,17 @@ class Edit(Modifier): Modifier.finish(self) plane.restore() self.running = False + FreeCADGui.ActiveDocument.resetEdit() def action(self,arg): "scene event handler" if arg["Type"] == "SoKeyboardEvent": if arg["Key"] == "ESCAPE": self.finish() + elif arg["Key"] == "f": + self.finish() + elif arg["Key"] == "c": + self.finish(closed=True) elif arg["Type"] == "SoLocation2Event": #mouse movement detection if self.editing != None: self.point,ctrlPoint,info = getPoint(self,arg) diff --git a/src/Mod/Draft/Resources/icons/Snap_Grid.svg b/src/Mod/Draft/Resources/icons/Snap_Grid.svg index ad29fdc4f..fe467958e 100644 --- a/src/Mod/Draft/Resources/icons/Snap_Grid.svg +++ b/src/Mod/Draft/Resources/icons/Snap_Grid.svg @@ -14,7 +14,7 @@ height="64px" id="svg2726" sodipodi:version="0.32" - inkscape:version="0.48.1 r9760" + inkscape:version="0.48.3.1 r9886" sodipodi:docname="Snap_Grid.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" version="1.1"> @@ -88,10 +88,10 @@ showgrid="true" inkscape:document-units="px" inkscape:grid-bbox="true" - inkscape:window-width="1280" - inkscape:window-height="755" + inkscape:window-width="1920" + inkscape:window-height="1057" inkscape:window-x="0" - inkscape:window-y="22" + inkscape:window-y="0" inkscape:window-maximized="1" /> @@ -113,13 +113,12 @@ id="g4289" transform="matrix(0.1621282,0,0,0.1621282,6.3605986,-66.108806)"> + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccczczczczc" /> diff --git a/src/Mod/Draft/Resources/icons/Snap_Ortho.svg b/src/Mod/Draft/Resources/icons/Snap_Ortho.svg index 14ca56c12..7c6772e34 100644 --- a/src/Mod/Draft/Resources/icons/Snap_Ortho.svg +++ b/src/Mod/Draft/Resources/icons/Snap_Ortho.svg @@ -14,7 +14,7 @@ height="64px" id="svg2726" sodipodi:version="0.32" - inkscape:version="0.48.1 r9760" + inkscape:version="0.48.3.1 r9886" sodipodi:docname="Snap_Ortho.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" version="1.1"> @@ -196,17 +196,17 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="2.75" - inkscape:cx="12.13888" - inkscape:cy="24.347498" + inkscape:zoom="11" + inkscape:cx="22.199652" + inkscape:cy="28.79221" inkscape:current-layer="g4289" showgrid="true" inkscape:document-units="px" inkscape:grid-bbox="true" inkscape:window-width="1280" - inkscape:window-height="755" - inkscape:window-x="0" - inkscape:window-y="22" + inkscape:window-height="777" + inkscape:window-x="1920" + inkscape:window-y="0" inkscape:window-maximized="1" /> @@ -228,10 +228,11 @@ id="g4289" transform="matrix(0.1621282,0,0,0.1621282,6.3605986,-66.108806)"> + inkscape:connector-curvature="0" + sodipodi:nodetypes="czczccczccccczczcc" /> diff --git a/src/Mod/Draft/Resources/icons/Snap_Perpendicular.svg b/src/Mod/Draft/Resources/icons/Snap_Perpendicular.svg index 8dc363eff..3988c5f26 100644 --- a/src/Mod/Draft/Resources/icons/Snap_Perpendicular.svg +++ b/src/Mod/Draft/Resources/icons/Snap_Perpendicular.svg @@ -14,7 +14,7 @@ height="64px" id="svg2726" sodipodi:version="0.32" - inkscape:version="0.48.1 r9760" + inkscape:version="0.48.3.1 r9886" sodipodi:docname="Snap_Perpendicular.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" version="1.1"> @@ -58,17 +58,17 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="3.8890873" - inkscape:cx="21.852178" - inkscape:cy="16.273213" + inkscape:zoom="7.7781746" + inkscape:cx="24.45243" + inkscape:cy="13.674951" inkscape:current-layer="g4289" showgrid="true" inkscape:document-units="px" inkscape:grid-bbox="true" - inkscape:window-width="1280" - inkscape:window-height="755" + inkscape:window-width="1920" + inkscape:window-height="1057" inkscape:window-x="0" - inkscape:window-y="22" + inkscape:window-y="0" inkscape:window-maximized="1" /> @@ -91,9 +91,10 @@ transform="matrix(0.1621282,0,0,0.1621282,6.3605986,-66.108806)"> + inkscape:connector-curvature="0" + sodipodi:nodetypes="czccczccczcc" /> diff --git a/src/Mod/OpenSCAD/OpenSCADCommands.py b/src/Mod/OpenSCAD/OpenSCADCommands.py index 93b9f8d92..5d85395d0 100644 --- a/src/Mod/OpenSCAD/OpenSCADCommands.py +++ b/src/Mod/OpenSCAD/OpenSCADCommands.py @@ -199,6 +199,8 @@ class AddSCADTask: FreeCAD.Console.PrintError(unicode(translate('OpenSCAD','Running OpenSCAD failed'))+u'\n') class AddOpenSCADElement: + def IsActive(self): + return not FreeCADGui.Control.activeDialog() def Activated(self): panel = AddSCADTask() FreeCADGui.Control.showDialog(panel) diff --git a/src/Mod/OpenSCAD/importCSG.py b/src/Mod/OpenSCAD/importCSG.py index d6c34ceb6..39b520c5a 100644 --- a/src/Mod/OpenSCAD/importCSG.py +++ b/src/Mod/OpenSCAD/importCSG.py @@ -539,7 +539,10 @@ def p_linear_extrude_with_twist(p): print "Linear Extrude With Twist" h = float(p[3]['height']) print "Twist : ",p[3] - t = float(p[3]['twist']) + if 'twist' in p[3]: + t = float(p[3]['twist']) + else: + t = 0 if (len(p[6]) > 1) : obj = fuse(p[6],"Linear Extrude Union") else : @@ -862,7 +865,7 @@ def p_square_action(p) : mysquare = doc.addObject('Part::Plane',p[1]) mysquare.Length=x mysquare.Width=y - if p[9]=='true' : + if p[3]['center']=='true' : center(mysquare,x,y,0) p[0] = [mysquare] diff --git a/src/Mod/OpenSCAD/replaceobj.py b/src/Mod/OpenSCAD/replaceobj.py index 54185734c..f5e50fedf 100644 --- a/src/Mod/OpenSCAD/replaceobj.py +++ b/src/Mod/OpenSCAD/replaceobj.py @@ -11,14 +11,15 @@ def replaceobj(parent,oldchild,newchild): setattr(parent,propname,newchild) print propname, parent.getPropertyByName(propname) #else: print propname,propvalue + parent.touch() def replaceobjfromselection(objs): assert(len(objs)==3) - if objs[0] in objs[1].InList: parent, oldchild, newchild = objs + if objs[2] in objs[0].InList: oldchild, newchild, parent = objs + elif objs[0] in objs[1].InList: parent, oldchild, newchild = objs elif objs[0] in objs[2].InList: parent, newchild, oldchild = objs elif objs[1] in objs[0].InList: oldchild, parent, newchild = objs elif objs[1] in objs[2].InList: newchild, parent, oldchild = objs - elif objs[2] in objs[0].InList: oldchild, newchild, parent = objs elif objs[2] in objs[1].InList: newchild, oldchild, parent = objs else: assert(False) replaceobj(parent,oldchild,newchild)