From 97e1ca5ef62f8a676d89b1abd2beca5da9d88acc Mon Sep 17 00:00:00 2001 From: wandererfan Date: Sun, 10 Jun 2018 13:21:34 -0400 Subject: [PATCH] Fix #3419 Circles as Polygons - by default, OpenScad represents circles from dxf files as octogons. This fix provides access to the OpenScad variable "$fn" which controls the number of polygon sides. --- src/Mod/OpenSCAD/OpenSCADUtils.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Mod/OpenSCAD/OpenSCADUtils.py b/src/Mod/OpenSCAD/OpenSCADUtils.py index 203d80c2d5..1e5a986890 100644 --- a/src/Mod/OpenSCAD/OpenSCADUtils.py +++ b/src/Mod/OpenSCAD/OpenSCADUtils.py @@ -479,15 +479,22 @@ def meshoponobjs(opname,inobjs): def process2D_ObjectsViaOpenSCADShape(ObjList,Operation,doc): import FreeCAD,importDXF import os,tempfile + # Mantis 3419 + params = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/OpenSCAD") + fn = params.GetInt('fnForImport',32) + fnStr = ",$fn=" + str(fn) + # dir1=tempfile.gettempdir() filenames = [] for item in ObjList : outputfilename=os.path.join(dir1,'%s.dxf' % tempfilenamegen.next()) importDXF.export([item],outputfilename,True,True) filenames.append(outputfilename) - dxfimports = ' '.join("import(file = \"%s\");" % \ + # Mantis 3419 + dxfimports = ' '.join("import(file = \"%s\" %s);" % \ #filename \ - os.path.split(filename)[1] for filename in filenames) + (os.path.split(filename)[1], fnStr) for filename in filenames) + # tmpfilename = callopenscadstring('%s(){%s}' % (Operation,dxfimports),'dxf') from OpenSCAD2Dgeom import importDXFface # TBD: assure the given doc is active