fliping code and some minor adjustments
This commit is contained in:
parent
6f5ae0dd42
commit
125b2f3543
|
@ -56,6 +56,9 @@ class _CommandAlignment:
|
||||||
return
|
return
|
||||||
FreeCAD.ActiveDocument.openTransaction("Alignment")
|
FreeCAD.ActiveDocument.openTransaction("Alignment")
|
||||||
|
|
||||||
|
# switch on Bound Box
|
||||||
|
FemMeshObject.ViewObject.BoundingBox = True
|
||||||
|
|
||||||
n = FemMeshObject.FemMesh.Nodes
|
n = FemMeshObject.FemMesh.Nodes
|
||||||
p = Mesh.calculateEigenTransform(n)
|
p = Mesh.calculateEigenTransform(n)
|
||||||
p2 = p.inverse()
|
p2 = p.inverse()
|
||||||
|
@ -63,10 +66,11 @@ class _CommandAlignment:
|
||||||
|
|
||||||
taskd = _AlignTaskPanel(FemMeshObject)
|
taskd = _AlignTaskPanel(FemMeshObject)
|
||||||
FreeCADGui.Control.showDialog(taskd)
|
FreeCADGui.Control.showDialog(taskd)
|
||||||
FreeCAD.ActiveDocument.commitTransaction()
|
|
||||||
|
|
||||||
def IsActive(self):
|
def IsActive(self):
|
||||||
if FemGui.getActiveAnalysis():
|
if FemGui.getActiveAnalysis():
|
||||||
|
for i in FemGui.getActiveAnalysis().Member:
|
||||||
|
if i.isDerivedFrom("Fem::FemMeshObject"):
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
@ -87,6 +91,8 @@ class _AlignTaskPanel:
|
||||||
|
|
||||||
#Connect Signals and Slots
|
#Connect Signals and Slots
|
||||||
QtCore.QObject.connect(self.formUi.pushButton_FlipX, QtCore.SIGNAL("clicked()"), self.flipX)
|
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()
|
self.update()
|
||||||
|
|
||||||
|
@ -100,11 +106,30 @@ class _AlignTaskPanel:
|
||||||
|
|
||||||
def accept(self):
|
def accept(self):
|
||||||
FreeCADGui.Control.closeDialog()
|
FreeCADGui.Control.closeDialog()
|
||||||
|
self.obj.ViewObject.BoundingBox = False
|
||||||
|
FreeCAD.ActiveDocument.commitTransaction()
|
||||||
|
|
||||||
|
|
||||||
def reject(self):
|
def reject(self):
|
||||||
FreeCADGui.Control.closeDialog()
|
FreeCADGui.Control.closeDialog()
|
||||||
|
self.obj.ViewObject.BoundingBox = False
|
||||||
|
FreeCAD.ActiveDocument.abortTransaction()
|
||||||
|
|
||||||
def flipX(self):
|
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
|
return
|
||||||
|
|
||||||
FreeCADGui.addCommand('MachDist_Alignment',_CommandAlignment())
|
FreeCADGui.addCommand('MachDist_Alignment',_CommandAlignment())
|
||||||
|
|
|
@ -52,6 +52,8 @@ class _CommandIsostatic:
|
||||||
|
|
||||||
def IsActive(self):
|
def IsActive(self):
|
||||||
if FemGui.getActiveAnalysis():
|
if FemGui.getActiveAnalysis():
|
||||||
|
for i in FemGui.getActiveAnalysis().Member:
|
||||||
|
if i.isDerivedFrom("Fem::FemMeshObject"):
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -144,35 +144,9 @@ class _MaterialTaskPanel:
|
||||||
self.formUi = form_class()
|
self.formUi = form_class()
|
||||||
self.form = QtGui.QWidget()
|
self.form = QtGui.QWidget()
|
||||||
self.formUi.setupUi(self.form)
|
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
|
QtCore.QObject.connect(self.formUi.pushButton_FlipX, QtCore.SIGNAL("clicked()"), self.flipX)
|
||||||
#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)
|
|
||||||
|
|
||||||
#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()
|
self.update()
|
||||||
|
|
||||||
def isAllowedAlterSelection(self):
|
def isAllowedAlterSelection(self):
|
||||||
|
@ -194,5 +168,44 @@ class _MaterialTaskPanel:
|
||||||
def reject(self):
|
def reject(self):
|
||||||
FreeCADGui.ActiveDocument.resetEdit()
|
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())
|
FreeCADGui.addCommand('MachDist_Material',_CommandMaterial())
|
||||||
|
|
|
@ -57,8 +57,8 @@ class _CommandMesh:
|
||||||
FreeCADGui.doCommand("Gui.activeDocument().setEdit(App.ActiveDocument.ActiveObject.Name)")
|
FreeCADGui.doCommand("Gui.activeDocument().setEdit(App.ActiveDocument.ActiveObject.Name)")
|
||||||
else:
|
else:
|
||||||
import os
|
import os
|
||||||
filename = QtGui.QFileDialog.getOpenFileName(QtGui.qApp.activeWindow(),'Open part file..',os.getcwd(),'Mesh or Part files (*.bdf *.stp *.igs);;All files(*)')
|
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'):
|
if filename.right(3) in (u'bdf',u'med',u'dat',u'unv'):
|
||||||
FreeCADGui.addModule("Fem")
|
FreeCADGui.addModule("Fem")
|
||||||
FreeCADGui.doCommand("Fem.insert('" + str(filename) +"','"+FreeCAD.ActiveDocument.Name+ "')")
|
FreeCADGui.doCommand("Fem.insert('" + str(filename) +"','"+FreeCAD.ActiveDocument.Name+ "')")
|
||||||
FreeCADGui.doCommand("FemGui.getActiveAnalysis().Member = FemGui.getActiveAnalysis().Member + [App.activeDocument().ActiveObject]")
|
FreeCADGui.doCommand("FemGui.getActiveAnalysis().Member = FemGui.getActiveAnalysis().Member + [App.activeDocument().ActiveObject]")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user