Beispiel #1
0
 def Activated(self):
     selection = FreeCADGui.Selection.getSelectionEx()
     for selobj in selection:
         newobj = selobj.Document.addObject("Mesh::Feature", 'scale')
         newobj.Label = 'scale_%s' % selobj.Object.Label
         msh = selobj.Object.Mesh
         items = ["[1;1;1]"]
         item, ok = QtGui.QInputDialog.getItem(
             QtGui.QApplication.activeWindow(),
             'Scale about which Axis?',
             'Enter scaling value:',
             items,
             editable=True)
         if ok:
             splits = list(
                 item.replace('[', '').replace(']', '').split(';'))
             x = float(splits[0])
             y = float(splits[1])
             z = float(splits[2])
             vec = FreeCAD.Base.Vector(x, y, z)
             newmesh = OpenSCADUtils.scalemesh(msh, vec)
             newobj.Mesh = newmesh
             selobj.Object.ViewObject.hide()
         else:
             selobj.Document.removeObject(newobj.Name)
     FreeCAD.ActiveDocument.recompute()