fliping code and some minor adjustments

This commit is contained in:
jriegel 2013-07-12 23:09:13 +02:00
parent 6f5ae0dd42
commit 125b2f3543
4 changed files with 73 additions and 33 deletions

View File

@ -56,6 +56,9 @@ class _CommandAlignment:
return
FreeCAD.ActiveDocument.openTransaction("Alignment")
# switch on Bound Box
FemMeshObject.ViewObject.BoundingBox = True
n = FemMeshObject.FemMesh.Nodes
p = Mesh.calculateEigenTransform(n)
p2 = p.inverse()
@ -63,11 +66,12 @@ class _CommandAlignment:
taskd = _AlignTaskPanel(FemMeshObject)
FreeCADGui.Control.showDialog(taskd)
FreeCAD.ActiveDocument.commitTransaction()
def IsActive(self):
if FemGui.getActiveAnalysis():
return True
for i in FemGui.getActiveAnalysis().Member:
if i.isDerivedFrom("Fem::FemMeshObject"):
return True
else:
return False
@ -87,6 +91,8 @@ class _AlignTaskPanel:
#Connect Signals and Slots
QtCore.QObject.connect(self.formUi.pushButton_FlipX, QtCore.SIGNAL("clicked()"), self.flipX)
QtCore.QObject.connect(self.formUi.pushButton_FlipY, QtCore.SIGNAL("clicked()"), self.flipY)
QtCore.QObject.connect(self.formUi.pushButton_FlipZ, QtCore.SIGNAL("clicked()"), self.flipZ)
self.update()
@ -100,11 +106,30 @@ class _AlignTaskPanel:
def accept(self):
FreeCADGui.Control.closeDialog()
self.obj.ViewObject.BoundingBox = False
FreeCAD.ActiveDocument.commitTransaction()
def reject(self):
FreeCADGui.Control.closeDialog()
self.obj.ViewObject.BoundingBox = False
FreeCAD.ActiveDocument.abortTransaction()
def flipX(self):
p = self.obj.Placement
r2 = p.Rotation.multiply(FreeCAD.Rotation(FreeCAD.Vector(1,0,0),180))
p.Rotation = r2
return
def flipY(self):
p = self.obj.Placement
r2 = p.Rotation.multiply(FreeCAD.Rotation(FreeCAD.Vector(0,1,0),180))
p.Rotation = r2
return
def flipZ(self):
p = self.obj.Placement
r2 = p.Rotation.multiply(FreeCAD.Rotation(FreeCAD.Vector(0,0,1),180))
zl = self.obj.FemMesh.BoundBox.ZLength
p.Rotation = r2
return
FreeCADGui.addCommand('MachDist_Alignment',_CommandAlignment())

View File

@ -52,7 +52,9 @@ class _CommandIsostatic:
def IsActive(self):
if FemGui.getActiveAnalysis():
return True
for i in FemGui.getActiveAnalysis().Member:
if i.isDerivedFrom("Fem::FemMeshObject"):
return True
else:
return False

View File

@ -144,35 +144,9 @@ class _MaterialTaskPanel:
self.formUi = form_class()
self.form = QtGui.QWidget()
self.formUi.setupUi(self.form)
#self.form.setObjectName("TaskPanel")
#self.grid = QtGui.QGridLayout(self.form)
#self.grid.setObjectName("grid")
#self.title = QtGui.QLabel(self.form)
#self.grid.addWidget(self.title, 0, 0, 1, 2)
# tree
#self.tree = QtGui.QTreeWidget(self.form)
#self.grid.addWidget(self.tree, 1, 0, 1, 2)
#self.tree.setColumnCount(3)
#self.tree.header().resizeSection(0,50)
#self.tree.header().resizeSection(1,80)
#self.tree.header().resizeSection(2,60)
# buttons
#self.addButton = QtGui.QPushButton(self.form)
#self.addButton.setObjectName("addButton")
#self.addButton.setIcon(QtGui.QIcon(":/icons/MachDist_Add.svg"))
#self.grid.addWidget(self.addButton, 3, 0, 1, 1)
#self.addButton.setEnabled(True)
QtCore.QObject.connect(self.formUi.pushButton_FlipX, QtCore.SIGNAL("clicked()"), self.flipX)
#self.delButton = QtGui.QPushButton(self.form)
#self.delButton.setObjectName("delButton")
#self.delButton.setIcon(QtGui.QIcon(":/icons/MachDist_Remove.svg"))
#self.grid.addWidget(self.delButton, 3, 1, 1, 1)
#self.delButton.setEnabled(True)
#QtCore.QObject.connect(self.addButton, QtCore.SIGNAL("clicked()"), self.addElement)
#QtCore.QObject.connect(self.delButton, QtCore.SIGNAL("clicked()"), self.removeElement)
self.update()
def isAllowedAlterSelection(self):
@ -194,5 +168,44 @@ class _MaterialTaskPanel:
def reject(self):
FreeCADGui.ActiveDocument.resetEdit()
def add_L_data(self):
l_filename = QtGui.QFileDialog.getOpenFileName(None, 'Open file','','R-Script File for L Coefficients (*.txt)')
values = self.parse_R_output(l_filename)
self.lc1.setValue(values[0])
self.lc2.setValue(values[1])
self.lc3.setValue(values[2])
self.lc4.setValue(values[3])
self.lc5.setValue(values[4])
self.lc6.setValue(values[5])
def add_LT_data(self):
lt_filename = QtGui.QFileDialog.getOpenFileName(None, 'Open file','','R-Script File for LT Coefficients (*.txt)')
values = self.parse_R_output(lt_filename)
self.ltc1.setValue(values[0])
self.ltc2.setValue(values[1])
self.ltc3.setValue(values[2])
self.ltc4.setValue(values[3])
self.ltc5.setValue(values[4])
self.ltc6.setValue(values[5])
def parse_R_output(self,filename):
file = open(str(filename))
lines = file.readlines()
found = False
coeff = []
for line in lines:
if line[0:9] == "c0 to c5:":
found = True
coeff.append(float(line[15:]))
continue
if found and line[0:4] == "MSE:":
found = False
if found:
coeff.append(float(line[15:]))
file.close()
return coeff[0],coeff[1],coeff[2],coeff[3],coeff[4],coeff[5]
FreeCADGui.addCommand('MachDist_Material',_CommandMaterial())

View File

@ -57,8 +57,8 @@ class _CommandMesh:
FreeCADGui.doCommand("Gui.activeDocument().setEdit(App.ActiveDocument.ActiveObject.Name)")
else:
import os
filename = QtGui.QFileDialog.getOpenFileName(QtGui.qApp.activeWindow(),'Open part file..',os.getcwd(),'Mesh or Part files (*.bdf *.stp *.igs);;All files(*)')
if filename.right(3) in (u'bdf'):
filename = QtGui.QFileDialog.getOpenFileName(QtGui.qApp.activeWindow(),'Open part file..',os.getcwd(),'Mesh or Part files (*.bdf *.unv *.med *.dat *.stp *.igs);;All files(*)')
if filename.right(3) in (u'bdf',u'med',u'dat',u'unv'):
FreeCADGui.addModule("Fem")
FreeCADGui.doCommand("Fem.insert('" + str(filename) +"','"+FreeCAD.ActiveDocument.Name+ "')")
FreeCADGui.doCommand("FemGui.getActiveAnalysis().Member = FemGui.getActiveAnalysis().Member + [App.activeDocument().ActiveObject]")