def Activated(self): FreeCAD.ActiveDocument.openTransaction("Adding Mesh\n") self.mesh = SMesh() sel = FreeCADGui.Selection.getSelection() for ob in sel: self.mesh.doop('AddOb',[ob.Label]) FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute()
class AddMesh: def Activated(self): FreeCAD.ActiveDocument.openTransaction("Adding Mesh\n") self.mesh = SMesh() sel = FreeCADGui.Selection.getSelection() for ob in sel: self.mesh.doop('AddOb',[ob.Label]) FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() def meshWire(self,ob): firstp=None lastp=None points=[] for p in ob.Points: sp = self.mesh.getOrCreatePoint(p,"points") points.append(sp) if firstp is None: firstp=sp if lastp is not None: self.mesh.getOrCreateEdge(lastp,sp,"edges") lastp = sp if len(ob.Points) > 2 and ob.Closed: self.mesh.getOrCreateEdge(lastp,firstp,"edges") if ob.ViewObject.DisplayMode == "Flat Lines" and ob.Closed: self.mesh.getOrCreateFace(points,"faces") @staticmethod def obtype(ob): p = getattr(ob,"Proxy",None) if p: ob = p return getattr(ob,"Type",None) def GetResources(self): return {'Pixmap' : '', 'MenuText': 'Add Mesh', 'ToolTip': 'Adds an empty surface mesh'} def IsActive(self): return FreeCAD.ActiveDocument is not None