From ec1b0d8720613cf6c89ca732f43d4aedd7e072b8 Mon Sep 17 00:00:00 2001 From: Joachim Zettler Date: Mon, 26 Mar 2012 10:06:16 +0200 Subject: [PATCH] Changes on Machining Distortion to account for Centos 5.6 compilation --- src/Mod/Fem/App/AppFem.cpp | 0 src/Mod/Fem/App/AppFemPy.cpp | 81 +++++++++++++++++- src/Mod/Fem/App/CMakeLists.txt | 0 src/Mod/Fem/App/FemMesh.cpp | 65 ++++++++++++-- src/Mod/Fem/App/FemMesh.h | 0 src/Mod/Fem/App/FemMeshObject.cpp | 0 src/Mod/Fem/App/FemMeshObject.h | 0 src/Mod/Fem/App/FemMeshProperty.cpp | 0 src/Mod/Fem/App/FemMeshProperty.h | 0 src/Mod/Fem/App/FemMeshPy.xml | 0 src/Mod/Fem/App/FemMeshPyImp.cpp | 0 src/Mod/Fem/App/HypothesisPy.cpp | 0 src/Mod/Fem/App/HypothesisPy.h | 0 src/Mod/Fem/App/Makefile.am | 0 src/Mod/Fem/App/PreCompiled.cpp | 0 src/Mod/Fem/App/PreCompiled.h | 0 src/Mod/Fem/CMakeLists.txt | 0 src/Mod/Fem/FemExample.py | 0 src/Mod/Fem/Gui/AppFemGui.cpp | 0 src/Mod/Fem/Gui/AppFemGuiPy.cpp | 0 src/Mod/Fem/Gui/CMakeLists.txt | 0 src/Mod/Fem/Gui/Command.cpp | 0 src/Mod/Fem/Gui/Makefile.am | 0 src/Mod/Fem/Gui/PreCompiled.cpp | 0 src/Mod/Fem/Gui/PreCompiled.h | 0 src/Mod/Fem/Gui/Resources/Fem.qrc | 0 src/Mod/Fem/Gui/Resources/Makefile.am | 0 src/Mod/Fem/Gui/Resources/UpdateResources.bat | 0 .../Fem/Gui/Resources/icons/Fem_FemMesh.svg | 0 .../Fem/Gui/Resources/translations/Fem_af.qm | Bin .../Fem/Gui/Resources/translations/Fem_af.ts | 0 .../Fem/Gui/Resources/translations/Fem_de.qm | Bin .../Fem/Gui/Resources/translations/Fem_de.ts | 0 .../Fem/Gui/Resources/translations/Fem_es.qm | Bin .../Fem/Gui/Resources/translations/Fem_es.ts | 0 .../Fem/Gui/Resources/translations/Fem_fi.qm | Bin .../Fem/Gui/Resources/translations/Fem_fi.ts | 0 .../Fem/Gui/Resources/translations/Fem_fr.qm | Bin .../Fem/Gui/Resources/translations/Fem_fr.ts | 0 .../Fem/Gui/Resources/translations/Fem_hr.qm | Bin .../Fem/Gui/Resources/translations/Fem_hr.ts | 0 .../Fem/Gui/Resources/translations/Fem_hu.qm | Bin .../Fem/Gui/Resources/translations/Fem_hu.ts | 0 .../Fem/Gui/Resources/translations/Fem_it.qm | Bin .../Fem/Gui/Resources/translations/Fem_it.ts | 0 .../Fem/Gui/Resources/translations/Fem_ja.qm | Bin .../Fem/Gui/Resources/translations/Fem_ja.ts | 0 .../Fem/Gui/Resources/translations/Fem_nl.qm | Bin .../Fem/Gui/Resources/translations/Fem_nl.ts | 0 .../Fem/Gui/Resources/translations/Fem_no.qm | Bin .../Fem/Gui/Resources/translations/Fem_no.ts | 0 .../Fem/Gui/Resources/translations/Fem_pl.qm | Bin .../Fem/Gui/Resources/translations/Fem_pl.ts | 0 .../Fem/Gui/Resources/translations/Fem_pt.qm | Bin .../Fem/Gui/Resources/translations/Fem_pt.ts | 0 .../Fem/Gui/Resources/translations/Fem_ru.qm | Bin .../Fem/Gui/Resources/translations/Fem_ru.ts | 0 .../Fem/Gui/Resources/translations/Fem_se.qm | Bin .../Fem/Gui/Resources/translations/Fem_se.ts | 0 .../Fem/Gui/Resources/translations/Fem_uk.qm | Bin .../Fem/Gui/Resources/translations/Fem_uk.ts | 0 .../Fem/Gui/Resources/translations/Fem_zh.qm | Bin .../Fem/Gui/Resources/translations/Fem_zh.ts | 0 src/Mod/Fem/Gui/ViewProviderFemMesh.cpp | 0 src/Mod/Fem/Gui/ViewProviderFemMesh.h | 0 src/Mod/Fem/Gui/Workbench.cpp | 0 src/Mod/Fem/Gui/Workbench.h | 0 src/Mod/Fem/Init.py | 0 src/Mod/Fem/InitGui.py | 0 src/Mod/Fem/Makefile.am | 0 src/Mod/Fem/convert2TetGen.py | 0 src/Mod/Fem/fem.dox | 0 72 files changed, 138 insertions(+), 8 deletions(-) mode change 100644 => 100755 src/Mod/Fem/App/AppFem.cpp mode change 100644 => 100755 src/Mod/Fem/App/AppFemPy.cpp mode change 100644 => 100755 src/Mod/Fem/App/CMakeLists.txt mode change 100644 => 100755 src/Mod/Fem/App/FemMesh.cpp mode change 100644 => 100755 src/Mod/Fem/App/FemMesh.h mode change 100644 => 100755 src/Mod/Fem/App/FemMeshObject.cpp mode change 100644 => 100755 src/Mod/Fem/App/FemMeshObject.h mode change 100644 => 100755 src/Mod/Fem/App/FemMeshProperty.cpp mode change 100644 => 100755 src/Mod/Fem/App/FemMeshProperty.h mode change 100644 => 100755 src/Mod/Fem/App/FemMeshPy.xml mode change 100644 => 100755 src/Mod/Fem/App/FemMeshPyImp.cpp mode change 100644 => 100755 src/Mod/Fem/App/HypothesisPy.cpp mode change 100644 => 100755 src/Mod/Fem/App/HypothesisPy.h mode change 100644 => 100755 src/Mod/Fem/App/Makefile.am mode change 100644 => 100755 src/Mod/Fem/App/PreCompiled.cpp mode change 100644 => 100755 src/Mod/Fem/App/PreCompiled.h mode change 100644 => 100755 src/Mod/Fem/CMakeLists.txt mode change 100644 => 100755 src/Mod/Fem/FemExample.py mode change 100644 => 100755 src/Mod/Fem/Gui/AppFemGui.cpp mode change 100644 => 100755 src/Mod/Fem/Gui/AppFemGuiPy.cpp mode change 100644 => 100755 src/Mod/Fem/Gui/CMakeLists.txt mode change 100644 => 100755 src/Mod/Fem/Gui/Command.cpp mode change 100644 => 100755 src/Mod/Fem/Gui/Makefile.am mode change 100644 => 100755 src/Mod/Fem/Gui/PreCompiled.cpp mode change 100644 => 100755 src/Mod/Fem/Gui/PreCompiled.h mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/Fem.qrc mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/Makefile.am mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/UpdateResources.bat mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/icons/Fem_FemMesh.svg mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_af.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_af.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_de.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_de.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_es.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_es.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_fi.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_fr.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_hr.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_hu.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_it.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_it.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_ja.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_nl.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_no.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_no.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_pl.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_pt.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_pt.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_ru.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_se.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_se.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_uk.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_zh.qm mode change 100644 => 100755 src/Mod/Fem/Gui/Resources/translations/Fem_zh.ts mode change 100644 => 100755 src/Mod/Fem/Gui/ViewProviderFemMesh.cpp mode change 100644 => 100755 src/Mod/Fem/Gui/ViewProviderFemMesh.h mode change 100644 => 100755 src/Mod/Fem/Gui/Workbench.cpp mode change 100644 => 100755 src/Mod/Fem/Gui/Workbench.h mode change 100644 => 100755 src/Mod/Fem/Init.py mode change 100644 => 100755 src/Mod/Fem/InitGui.py mode change 100644 => 100755 src/Mod/Fem/Makefile.am mode change 100644 => 100755 src/Mod/Fem/convert2TetGen.py mode change 100644 => 100755 src/Mod/Fem/fem.dox diff --git a/src/Mod/Fem/App/AppFem.cpp b/src/Mod/Fem/App/AppFem.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/AppFemPy.cpp b/src/Mod/Fem/App/AppFemPy.cpp old mode 100644 new mode 100755 index 551e07eb6..79f6eb585 --- a/src/Mod/Fem/App/AppFemPy.cpp +++ b/src/Mod/Fem/App/AppFemPy.cpp @@ -149,7 +149,82 @@ static PyObject * SMESH_PCA(PyObject *self, PyObject *args) Base::Matrix4D Trafo = pca.Transform(); /*Let´s transform the input mesh with the PCA Matrix*/ inputMesh->getFemMeshPtr()->transformGeometry(Trafo); - //inputMesh->getFemMeshPtr()->getSMesh()->ExportUNV("C:/PCA_alignment.unv"); + //inputMesh->getFemMeshPtr()->getSMesh()->ExportUNV("C:/Temp/PCA_alignment.unv"); + //Now lets check if the smallest dimension of the BBox is oriented towards the Z-Axis. If not, lets rotate it around the X or Y axis + //Use the SMESH structure for that + // aMesh.Transform(Trafo); + + //Base::Rotation rotatex,rotatey,rotatez; + //const Base::Vector3d rotate_axis_x(1.0,0.0,0.0),rotate_axis_y(0.0,1.0,0.0),rotate_axis_z(0.0,0.0,1.0); + //double bbox_length_x,bbox_length_y,bbox_length_z; + ////Rotate around the each axes and choose the settings for the min bbox + //Base::Matrix4D final_trafo; + //Base::BoundBox3f aBBox; + ////Get the current BBOX and look for the size + //aBBox = aMesh.GetBoundBox(); + //bbox_length_x = aBBox.LengthX();bbox_length_y = aBBox.LengthY();bbox_length_z = aBBox.LengthZ(); + ////Now do the rotation stuff + //if (bbox_length_z < bbox_length_x && bbox_length_z < bbox_length_y) + // Py_Return; + //else if ( + + + //MeshCore::MeshKernel atempkernel; + + //float it_steps=10.0; + //double step_size; + //double alpha_x=0.0,alpha_y=0.0,alpha_z=0.0; + //double perfect_ax=0.0,perfect_ay=0.0,perfect_az=0.0; + + ////Do a Monte Carlo approach and start from the Principal Axis System + ////and rotate +/- 60° around each axis in a first iteration + //double angle_range_min_x=-PI/3.0,angle_range_max_x=PI/3.0, + // angle_range_min_y=-PI/3.0,angle_range_max_y=PI/3.0, + // angle_range_min_z=-PI/3.0,angle_range_max_z=PI/3.0; + + ////We rotate until we are 0.1° sure to be in the right position + //for (step_size = (2.0*PI/it_steps);step_size>(2.0*PI/3600.0);step_size=(2.0*PI/it_steps)) + //{ + // for(alpha_x=angle_range_min_x;alpha_xnext(); current_node.Set(float(aNode->X()),float(aNode->Y()),float(aNode->Z())); current_node = matrix * current_node; - if(current_node.z > billet_thickness || current_node.z < 0.0) + if(current_node.z > billet_thickness || current_node.z < -0.1) { //lets jump out of the function as soon as we find a //Node that is higher or lower than billet thickness @@ -563,7 +638,7 @@ static PyObject * minBoundingBox(PyObject *self, PyObject *args) float(0.0),float(0.0),float(0.0),float(1.0)); inputMesh->getFemMeshPtr()->transformGeometry(trans_matrix); - //inputMesh->getFemMeshPtr()->getSMesh()->ExportUNV("C:/fine_tuning.unv"); + //inputMesh->getFemMeshPtr()->getSMesh()->ExportUNV("C:/temp/fine_tuning.unv"); } PY_CATCH; diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/FemMesh.cpp b/src/Mod/Fem/App/FemMesh.cpp old mode 100644 new mode 100755 index 440b5cb01..ef78fd024 --- a/src/Mod/Fem/App/FemMesh.cpp +++ b/src/Mod/Fem/App/FemMesh.cpp @@ -58,9 +58,13 @@ #include #include +//to simplify parsing input files we use the boost lib +#include + using namespace Fem; using namespace Base; +using namespace boost; TYPESYSTEM_SOURCE(Fem::FemMesh , Base::Persistence); @@ -374,23 +378,32 @@ void FemMesh::readNastran(const std::string &Filename) inputfile.open(Filename.c_str()); inputfile.seekg(std::ifstream::beg); std::string line1,line2,temp; + std::vector token_results; + token_results.clear(); Base::Vector3d current_node; std::vector vertices; vertices.clear(); + std::vector nodal_id; + nodal_id.clear(); std::vector tetra_element; std::vector > all_elements; std::vector element_id; element_id.clear(); + bool nastran_free_format = false; do { std::getline(inputfile,line1); if (line1.size() == 0) continue; - if (line1.find("GRID*")!= std::string::npos) //We found a Grid line + if (!nastran_free_format && line1.find(",")!= std::string::npos) + nastran_free_format = true; + if (!nastran_free_format && line1.find("GRID*")!= std::string::npos ) //We found a Grid line { //Now lets extract the GRID Points = Nodes //As each GRID Line consists of two subsequent lines we have to //take care of that as well std::getline(inputfile,line2); + //Get the Nodal ID + nodal_id.push_back(atoi(line1.substr(8,24).c_str())); //Extract X Value current_node.x = atof(line1.substr(40,56).c_str()); //Extract Y Value @@ -400,7 +413,7 @@ void FemMesh::readNastran(const std::string &Filename) vertices.push_back(current_node); } - else if (line1.find("CTETRA")!= std::string::npos) + else if (!nastran_free_format && line1.find("CTETRA")!= std::string::npos) { tetra_element.clear(); //Lets extract the elements @@ -422,6 +435,46 @@ void FemMesh::readNastran(const std::string &Filename) all_elements.push_back(tetra_element); } + else if (nastran_free_format && line1.find("GRID")!= std::string::npos ) //We found a Grid line + { + char_separator sep(","); + tokenizer > tokens(line1, sep); + token_results.assign(tokens.begin(),tokens.end()); + if (token_results.size() < 3) + continue;//Line does not include Nodal coordinates + nodal_id.push_back(atoi(token_results[1].c_str())); + current_node.x = atof(token_results[3].c_str()); + current_node.y = atof(token_results[4].c_str()); + current_node.z = atof(token_results[5].c_str()); + vertices.push_back(current_node); + } + else if (nastran_free_format && line1.find("CTETRA")!= std::string::npos) + { + tetra_element.clear(); + //Lets extract the elements + //As each Element Line consists of two subsequent lines as well + //we have to take care of that + //At a first step we only extract Quadratic Tetrahedral Elements + std::getline(inputfile,line2); + char_separator sep(","); + tokenizer > tokens(line1.append(line2), sep); + token_results.assign(tokens.begin(),tokens.end()); + if (token_results.size() < 11) + continue;//Line does not include enough nodal IDs + element_id.push_back(atoi(token_results[1].c_str())); + tetra_element.push_back(atoi(token_results[3].c_str())); + tetra_element.push_back(atoi(token_results[4].c_str())); + tetra_element.push_back(atoi(token_results[5].c_str())); + tetra_element.push_back(atoi(token_results[6].c_str())); + tetra_element.push_back(atoi(token_results[7].c_str())); + tetra_element.push_back(atoi(token_results[8].c_str())); + tetra_element.push_back(atoi(token_results[10].c_str())); + tetra_element.push_back(atoi(token_results[11].c_str())); + tetra_element.push_back(atoi(token_results[12].c_str())); + tetra_element.push_back(atoi(token_results[13].c_str())); + + all_elements.push_back(tetra_element); + } } while (inputfile.good()); @@ -431,10 +484,10 @@ void FemMesh::readNastran(const std::string &Filename) std::vector::const_iterator anodeiterator; SMESHDS_Mesh* meshds = this->myMesh->GetMeshDS(); meshds->ClearMesh(); - int j=1; + unsigned int j=0; for(anodeiterator=vertices.begin(); anodeiterator!=vertices.end(); anodeiterator++) { - meshds->AddNodeWithID((*anodeiterator).x,(*anodeiterator).y,(*anodeiterator).z,j); + meshds->AddNodeWithID((*anodeiterator).x,(*anodeiterator).y,(*anodeiterator).z,nodal_id[j]); j++; } @@ -442,7 +495,8 @@ void FemMesh::readNastran(const std::string &Filename) { //Die Reihenfolge wie hier die Elemente hinzugefügt werden ist sehr wichtig. //Ansonsten ist eine konsistente Datenstruktur nicht möglich - meshds->AddVolumeWithID( + meshds->AddVolumeWithID + ( meshds->FindNode(all_elements[i][0]), meshds->FindNode(all_elements[i][2]), meshds->FindNode(all_elements[i][1]), @@ -458,6 +512,7 @@ void FemMesh::readNastran(const std::string &Filename) } } + void FemMesh::read(const char *FileName) { Base::FileInfo File(FileName); diff --git a/src/Mod/Fem/App/FemMesh.h b/src/Mod/Fem/App/FemMesh.h old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/FemMeshObject.cpp b/src/Mod/Fem/App/FemMeshObject.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/FemMeshObject.h b/src/Mod/Fem/App/FemMeshObject.h old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/FemMeshProperty.cpp b/src/Mod/Fem/App/FemMeshProperty.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/FemMeshProperty.h b/src/Mod/Fem/App/FemMeshProperty.h old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/FemMeshPy.xml b/src/Mod/Fem/App/FemMeshPy.xml old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/FemMeshPyImp.cpp b/src/Mod/Fem/App/FemMeshPyImp.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/HypothesisPy.cpp b/src/Mod/Fem/App/HypothesisPy.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/HypothesisPy.h b/src/Mod/Fem/App/HypothesisPy.h old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/Makefile.am b/src/Mod/Fem/App/Makefile.am old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/PreCompiled.cpp b/src/Mod/Fem/App/PreCompiled.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/App/PreCompiled.h b/src/Mod/Fem/App/PreCompiled.h old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/FemExample.py b/src/Mod/Fem/FemExample.py old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/AppFemGui.cpp b/src/Mod/Fem/Gui/AppFemGui.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/AppFemGuiPy.cpp b/src/Mod/Fem/Gui/AppFemGuiPy.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/CMakeLists.txt b/src/Mod/Fem/Gui/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Command.cpp b/src/Mod/Fem/Gui/Command.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Makefile.am b/src/Mod/Fem/Gui/Makefile.am old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/PreCompiled.cpp b/src/Mod/Fem/Gui/PreCompiled.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/PreCompiled.h b/src/Mod/Fem/Gui/PreCompiled.h old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/Fem.qrc b/src/Mod/Fem/Gui/Resources/Fem.qrc old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/Makefile.am b/src/Mod/Fem/Gui/Resources/Makefile.am old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/UpdateResources.bat b/src/Mod/Fem/Gui/Resources/UpdateResources.bat old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/icons/Fem_FemMesh.svg b/src/Mod/Fem/Gui/Resources/icons/Fem_FemMesh.svg old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_af.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_af.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_af.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_af.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_de.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_de.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_es.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_es.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_es.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_es.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fi.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_fi.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fr.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_fr.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hr.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_hr.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hu.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_hu.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_it.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_it.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ja.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_ja.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_nl.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_nl.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_no.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_no.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_no.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_no.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pl.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_pl.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pt.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_pt.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pt.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_pt.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ru.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_ru.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_se.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_se.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_se.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_se.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_uk.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_uk.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_zh.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_zh.qm old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_zh.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_zh.ts old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp b/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/ViewProviderFemMesh.h b/src/Mod/Fem/Gui/ViewProviderFemMesh.h old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Workbench.cpp b/src/Mod/Fem/Gui/Workbench.cpp old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Gui/Workbench.h b/src/Mod/Fem/Gui/Workbench.h old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Init.py b/src/Mod/Fem/Init.py old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/InitGui.py b/src/Mod/Fem/InitGui.py old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/Makefile.am b/src/Mod/Fem/Makefile.am old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/convert2TetGen.py b/src/Mod/Fem/convert2TetGen.py old mode 100644 new mode 100755 diff --git a/src/Mod/Fem/fem.dox b/src/Mod/Fem/fem.dox old mode 100644 new mode 100755