Fix DXF import with no layers

As discussed in https://forum.freecadweb.org/viewtopic.php?f=3&t=54842, if OpenSCAD creates a DXF with no layers in it, the code that is supposed to handle that in FreeCAD has a minor type error in it that prevents the import from working.
This commit is contained in:
Chris Hennes
2021-01-29 17:01:22 -06:00
parent 4db83a41ca
commit 77d666a48b
2 changed files with 4 additions and 2 deletions

View File

@@ -2220,7 +2220,7 @@ def processdxf(document, filename, getShapes=False, reComputeFlag=True):
drawstyle = "Dashdot"
locateLayer(name, color, drawstyle)
else:
locateLayer("0", [0.0, 0.0, 0.0], "Solid")
locateLayer("0", (0.0, 0.0, 0.0), "Solid")
# Draw lines
lines = drawing.entities.get_type("line")

View File

@@ -500,7 +500,9 @@ def importDXFface(filename,layer=None,doc=None):
#shapeobj.Document.removeObject(shapeobj.Name)
#groupobj[0].Document.removeObject(groupobj[0].Name)
for layer in layers: #remove everything that has been imported
layer.removeObjectsFromDocument()
removeOp = getattr(layer, "removeObjectsFromDocument", None)
if callable(removeOp):
layer.removeObjectsFromDocument()
#for obj in layer.Group:
# obj.Document.removeObject(obj.Name)
layer.Document.removeObject(layer.Name)