def loadCSG (openSCADFilename): # this adds some number of objects to mydoc importCSG.insert(openSCADFilename, mydoc.Name) stuff = mydoc.Objects # assume for now we only want the top level object (the last one) # someShapes = [stuff[-1].Shape] someShapes = [] for thing in stuff: if thing.InList == []: someShapes.append(thing.Shape) # clean it all up for obj in mydoc.Objects: mydoc.removeObject(obj.Name) return someShapes
def addelement(self): scadstr = unicode(self.form.textEdit.toPlainText()) asmesh = self.form.checkboxmesh.checkState() import OpenSCADUtils, os extension = 'stl' if asmesh else 'csg' tmpfilename = OpenSCADUtils.callopenscadstring(scadstr, extension) if tmpfilename: doc = FreeCAD.activeDocument() or FreeCAD.newDocument() if asmesh: import Mesh Mesh.insert(tmpfilename, doc.Name) else: import importCSG importCSG.insert(tmpfilename, doc.Name) os.unlink(tmpfilename) else: FreeCAD.Console.PrintError('Running OpenSCAD failed\n')
def addelement(self): scadstr=unicode(self.form.textEdit.toPlainText()) asmesh=self.form.checkboxmesh.checkState() import OpenSCADUtils, os extension= 'stl' if asmesh else 'csg' tmpfilename=OpenSCADUtils.callopenscadstring(scadstr,extension) if tmpfilename: doc=FreeCAD.activeDocument() or FreeCAD.newDocument() if asmesh: import Mesh Mesh.insert(tmpfilename,doc.Name) else: import importCSG importCSG.insert(tmpfilename,doc.Name) os.unlink(tmpfilename) else: FreeCAD.Console.PrintError(unicode(translate('OpenSCAD','Running OpenSCAD failed'))+u'\n')
def addelement(self): scadstr=unicode(self.form.textEdit.toPlainText()).encode('utf8') asmesh=self.form.checkboxmesh.checkState() import OpenSCADUtils, os extension= 'stl' if asmesh else 'csg' try: tmpfilename=OpenSCADUtils.callopenscadstring(scadstr,extension) doc=FreeCAD.activeDocument() or FreeCAD.newDocument() if asmesh: import Mesh Mesh.insert(tmpfilename,doc.Name) else: import importCSG importCSG.insert(tmpfilename,doc.Name) try: os.unlink(tmpfilename) except OSError: pass except OpenSCADUtils.OpenSCADError, e: FreeCAD.Console.PrintError(e.value)
def addelement(self): scadstr = self.form.textEdit.toPlainText() asmesh = self.form.checkboxmesh.checkState() import OpenSCADUtils, os extension = 'stl' if asmesh else 'csg' try: tmpfilename = OpenSCADUtils.callopenscadstring(scadstr, extension) doc = FreeCAD.activeDocument() or FreeCAD.newDocument() if asmesh: import Mesh Mesh.insert(tmpfilename, doc.Name) else: import importCSG importCSG.insert(tmpfilename, doc.Name) try: os.unlink(tmpfilename) except OSError: pass except OpenSCADUtils.OpenSCADError as e: FreeCAD.Console.PrintError(e.value)