diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index 26fb53e01..c59f77466 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -1284,15 +1284,16 @@ def getSVG(obj,scale=1,linewidth=0.35,fontsize=12,fillstyle="shape color",direct def getLineStyle(obj): "returns a linestyle pattern for a given object" - if obj.ViewObject: - if hasattr(obj.ViewObject,"DrawStyle"): - ds = obj.ViewObject.DrawStyle - if ds == "Dashed": - return "0.09,0.05" - elif ds == "Dashdot": - return "0.09,0.05,0.02,0.05" - elif ds == "Dotted": - return "0.02,0.02" + if gui: + if obj.ViewObject: + if hasattr(obj.ViewObject,"DrawStyle"): + ds = obj.ViewObject.DrawStyle + if ds == "Dashed": + return "0.09,0.05" + elif ds == "Dashdot": + return "0.09,0.05,0.02,0.05" + elif ds == "Dotted": + return "0.02,0.02" return "none" def getProj(vec): @@ -1485,23 +1486,36 @@ def getSVG(obj,scale=1,linewidth=0.35,fontsize=12,fillstyle="shape color",direct n += 1 elif obj.isDerivedFrom('Part::Feature'): - if obj.Shape.isNull(): return '' - color = getrgb(obj.ViewObject.LineColor) + if obj.Shape.isNull(): + return '' + if gui: + color = getrgb(obj.ViewObject.LineColor) + else: + color = "#000000" # setting fill - if obj.Shape.Faces and (obj.ViewObject.DisplayMode != "Wireframe"): - if fillstyle == "shape color": - fill = getrgb(obj.ViewObject.ShapeColor) + if obj.Shape.Faces: + if gui: + if (obj.ViewObject.DisplayMode != "Wireframe"): + if fillstyle == "shape color": + fill = getrgb(obj.ViewObject.ShapeColor) + else: + fill = 'url(#'+fillstyle+')' + svg += getPattern(fillstyle) + else: + fill = "none" else: - fill = 'url(#'+fillstyle+')' - svg += getPattern(fillstyle) + fill = "#888888" else: fill = 'none' lstyle = getLineStyle(obj) name = obj.Name - if obj.ViewObject.DisplayMode == "Shaded": - stroke = "none" + if gui: + if obj.ViewObject.DisplayMode == "Shaded": + stroke = "none" + else: + stroke = getrgb(obj.ViewObject.LineColor) else: - stroke = getrgb(obj.ViewObject.LineColor) + stroke = "#000000" if len(obj.Shape.Vertexes) > 1: wiredEdges = [] diff --git a/src/Mod/Draft/importDXF.py b/src/Mod/Draft/importDXF.py index cc563f5d3..494c5166e 100644 --- a/src/Mod/Draft/importDXF.py +++ b/src/Mod/Draft/importDXF.py @@ -43,11 +43,11 @@ import sys, FreeCAD, os, Part, math, re, string, Mesh, Draft, DraftVecUtils, Dra from Draft import _Dimension, _ViewProviderDimension from FreeCAD import Vector -try: import FreeCADGui -except: gui = False -else: gui = True -try: draftui = FreeCADGui.draftToolBar -except: draftui = None +gui = FreeCAD.GuiUp +try: + draftui = FreeCADGui.draftToolBar +except: + draftui = None files = ['dxfColorMap.py','dxfImportObjects.py','dxfLibrary.py','dxfReader.py'] baseurl = 'https://raw.github.com/yorikvanhavre/Draft-dxf-importer/master/' @@ -162,7 +162,8 @@ def getGroup(ob): def getACI(ob,text=False): "gets the ACI color closest to the objects color" - if not gui: return 0 + if not gui: + return 0 else: if text: col=ob.ViewObject.TextColor