Here is another case.
On OpenSCAD, there is just a warning, on FreeCAD 0.20 it fails.
Code: Select all
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 149, in insert
processcsg(tmpfile)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 180, in processcsg
result = parser.parse(f.read())
File "C:\Program Files\FreeCAD 0.20\bin\lib\site-packages\ply\yacc.py", line 333, in parse
return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
File "C:\Program Files\FreeCAD 0.20\bin\lib\site-packages\ply\yacc.py", line 1120, in parseopt_notrack
p.callable(pslice)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 801, in p_import_file1
p[0] = [process_import_file(filen,ext,p[3]['layer'])]
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 819, in process_import_file
obj=processDXF(fname,layer)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 882, in processDXF
face = importDXFface(filename,layer,doc)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\OpenSCAD2Dgeom.py", line 497, in importDXFface
faces = edgestofaces(edges)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\OpenSCAD2Dgeom.py", line 410, in edgestofaces
return Overlappingfaces(facel).makeshape()
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\OpenSCAD2Dgeom.py", line 229, in makeshape
return fusefaces(faces)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\OpenSCAD2Dgeom.py", line 366, in fusefaces
return reduce(lambda p1,p2: p1.fuse(p2),faces)
<class 'TypeError'>: reduce() of empty sequence with no initial value
Traceback (most recent call last):
File "./convert_shape.py", line 143, in <module>
FreeCAD.loadFile(iname)
TypeError: Traceback (most recent call last):
File "<string>", line 2, in <module>
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 149, in insert
processcsg(tmpfile)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 180, in processcsg
result = parser.parse(f.read())
File "C:\Program Files\FreeCAD 0.20\bin\lib\site-packages\ply\yacc.py", line 333, in parse
return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
File "C:\Program Files\FreeCAD 0.20\bin\lib\site-packages\ply\yacc.py", line 1120, in parseopt_notrack
p.callable(pslice)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 801, in p_import_file1
p[0] = [process_import_file(filen,ext,p[3]['layer'])]
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 819, in process_import_file
obj=processDXF(fname,layer)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\importCSG.py", line 882, in processDXF
face = importDXFface(filename,layer,doc)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\OpenSCAD2Dgeom.py", line 497, in importDXFface
faces = edgestofaces(edges)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\OpenSCAD2Dgeom.py", line 410, in edgestofaces
return Overlappingfaces(facel).makeshape()
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\OpenSCAD2Dgeom.py", line 229, in makeshape
return fusefaces(faces)
File "C:\Program Files\FreeCAD 0.20\Mod\OpenSCAD\OpenSCAD2Dgeom.py", line 366, in fusefaces
return reduce(lambda p1,p2: p1.fuse(p2),faces)
<class 'TypeError'>: reduce() of empty sequence with no initial value