diff --git a/src/Mod/Fem/FemExample.py b/src/Mod/Fem/FemExample.py index 22df26cea..79325b7f0 100755 --- a/src/Mod/Fem/FemExample.py +++ b/src/Mod/Fem/FemExample.py @@ -1,13 +1,13 @@ -# Example hwo to use the basic fem classes. The Fem module is dependend on Part but nor on other Modules. -# So we need only: -from Fem import * -from Part import * -from FreeCAD import * - -m = FemMesh() -m.NodeCount - -b = makeBox(10,10,10) -m.setShape(b) - +# Example hwo to use the basic fem classes. The Fem module is dependend on Part but nor on other Modules. +# So we need only: +from Fem import * +from Part import * +from FreeCAD import * + +m = FemMesh() +m.NodeCount + +b = makeBox(10,10,10) +m.setShape(b) + m.NodeCount \ No newline at end of file diff --git a/src/Mod/Fem/Gui/AppFemGui.cpp b/src/Mod/Fem/Gui/AppFemGui.cpp index 1f02f79ed..31170d47c 100644 --- a/src/Mod/Fem/Gui/AppFemGui.cpp +++ b/src/Mod/Fem/Gui/AppFemGui.cpp @@ -1,112 +1,112 @@ -/*************************************************************************** - * Copyright (c) 2008 Jürgen Riegel (juergen.riegel@web.de) * - * * - * This file is part of the FreeCAD CAx development system. * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Library General Public * - * License as published by the Free Software Foundation; either * - * version 2 of the License, or (at your option) any later version. * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Library General Public License for more details. * - * * - * You should have received a copy of the GNU Library General Public * - * License along with this library; see the file COPYING.LIB. If not, * - * write to the Free Software Foundation, Inc., 59 Temple Place, * - * Suite 330, Boston, MA 02111-1307, USA * - * * - ***************************************************************************/ - - -#include "PreCompiled.h" -#ifndef _PreComp_ -# include -# include -#endif - -#include -#include -#include +/*************************************************************************** + * Copyright (c) 2008 Jürgen Riegel (juergen.riegel@web.de) * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + + +#include "PreCompiled.h" +#ifndef _PreComp_ +# include +# include +#endif + +#include +#include +#include #include -#include +#include #include "DlgSettingsFemImp.h" -#include "ViewProviderFemMesh.h" -#include "ViewProviderFemMeshShape.h" -#include "ViewProviderFemMeshShapeNetgen.h" -#include "ViewProviderAnalysis.h" -#include "ViewProviderSetNodes.h" -#include "ViewProviderSetElements.h" -#include "ViewProviderSetFaces.h" -#include "ViewProviderSetGeometry.h" -#include "ViewProviderFemConstraint.h" -#include "ViewProviderFemConstraintBearing.h" -#include "ViewProviderFemConstraintFixed.h" -#include "ViewProviderFemConstraintForce.h" -#include "ViewProviderFemConstraintPressure.h" -#include "ViewProviderFemConstraintGear.h" -#include "ViewProviderFemConstraintPulley.h" -#include "ViewProviderResult.h" -#include "Workbench.h" -//#include "resources/qrc_Fem.cpp" - -// use a different name to CreateCommand() -void CreateFemCommands(void); - -void loadFemResource() -{ - // add resources and reloads the translators - Q_INIT_RESOURCE(Fem); - Gui::Translator::instance()->refresh(); -} - -/* registration table */ -extern struct PyMethodDef FemGui_Import_methods[]; - - -/* Python entry */ -extern "C" { -void FemGuiExport initFemGui() -{ - if (!Gui::Application::Instance) { - PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application."); - return; - } - - (void) Py_InitModule("FemGui", FemGui_Import_methods); /* mod name, table ptr */ - Base::Console().Log("Loading GUI of Fem module... done\n"); - - // instantiating the commands - CreateFemCommands(); - - // addition objects - FemGui::Workbench ::init(); - FemGui::ViewProviderFemAnalysis ::init(); - FemGui::ViewProviderFemAnalysisPython ::init(); - FemGui::ViewProviderFemMesh ::init(); - FemGui::ViewProviderFemMeshShape ::init(); - FemGui::ViewProviderFemMeshShapeNetgen ::init(); - FemGui::ViewProviderSetNodes ::init(); - FemGui::ViewProviderSetElements ::init(); - FemGui::ViewProviderSetFaces ::init(); - FemGui::ViewProviderSetGeometry ::init(); - FemGui::ViewProviderFemConstraint ::init(); - FemGui::ViewProviderFemConstraintBearing ::init(); - FemGui::ViewProviderFemConstraintFixed ::init(); - FemGui::ViewProviderFemConstraintForce ::init(); - FemGui::ViewProviderFemConstraintPressure ::init(); - FemGui::ViewProviderFemConstraintGear ::init(); - FemGui::ViewProviderFemConstraintPulley ::init(); - FemGui::ViewProviderResult ::init(); - FemGui::ViewProviderResultPython ::init(); - +#include "ViewProviderFemMesh.h" +#include "ViewProviderFemMeshShape.h" +#include "ViewProviderFemMeshShapeNetgen.h" +#include "ViewProviderAnalysis.h" +#include "ViewProviderSetNodes.h" +#include "ViewProviderSetElements.h" +#include "ViewProviderSetFaces.h" +#include "ViewProviderSetGeometry.h" +#include "ViewProviderFemConstraint.h" +#include "ViewProviderFemConstraintBearing.h" +#include "ViewProviderFemConstraintFixed.h" +#include "ViewProviderFemConstraintForce.h" +#include "ViewProviderFemConstraintPressure.h" +#include "ViewProviderFemConstraintGear.h" +#include "ViewProviderFemConstraintPulley.h" +#include "ViewProviderResult.h" +#include "Workbench.h" +//#include "resources/qrc_Fem.cpp" + +// use a different name to CreateCommand() +void CreateFemCommands(void); + +void loadFemResource() +{ + // add resources and reloads the translators + Q_INIT_RESOURCE(Fem); + Gui::Translator::instance()->refresh(); +} + +/* registration table */ +extern struct PyMethodDef FemGui_Import_methods[]; + + +/* Python entry */ +extern "C" { +void FemGuiExport initFemGui() +{ + if (!Gui::Application::Instance) { + PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application."); + return; + } + + (void) Py_InitModule("FemGui", FemGui_Import_methods); /* mod name, table ptr */ + Base::Console().Log("Loading GUI of Fem module... done\n"); + + // instantiating the commands + CreateFemCommands(); + + // addition objects + FemGui::Workbench ::init(); + FemGui::ViewProviderFemAnalysis ::init(); + FemGui::ViewProviderFemAnalysisPython ::init(); + FemGui::ViewProviderFemMesh ::init(); + FemGui::ViewProviderFemMeshShape ::init(); + FemGui::ViewProviderFemMeshShapeNetgen ::init(); + FemGui::ViewProviderSetNodes ::init(); + FemGui::ViewProviderSetElements ::init(); + FemGui::ViewProviderSetFaces ::init(); + FemGui::ViewProviderSetGeometry ::init(); + FemGui::ViewProviderFemConstraint ::init(); + FemGui::ViewProviderFemConstraintBearing ::init(); + FemGui::ViewProviderFemConstraintFixed ::init(); + FemGui::ViewProviderFemConstraintForce ::init(); + FemGui::ViewProviderFemConstraintPressure ::init(); + FemGui::ViewProviderFemConstraintGear ::init(); + FemGui::ViewProviderFemConstraintPulley ::init(); + FemGui::ViewProviderResult ::init(); + FemGui::ViewProviderResultPython ::init(); + // register preferences pages new Gui::PrefPageProducer ("FEM"); - - // add resources and reloads the translators - loadFemResource(); -} - -} // extern "C" { + + // add resources and reloads the translators + loadFemResource(); +} + +} // extern "C" { diff --git a/src/Mod/Fem/Gui/Workbench.cpp b/src/Mod/Fem/Gui/Workbench.cpp index e9210037e..bfbd96197 100755 --- a/src/Mod/Fem/Gui/Workbench.cpp +++ b/src/Mod/Fem/Gui/Workbench.cpp @@ -1,108 +1,108 @@ -/*************************************************************************** - * Copyright (c) 2008 Werner Mayer * - * * - * This file is part of the FreeCAD CAx development system. * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Library General Public * - * License as published by the Free Software Foundation; either * - * version 2 of the License, or (at your option) any later version. * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Library General Public License for more details. * - * * - * You should have received a copy of the GNU Library General Public * - * License along with this library; see the file COPYING.LIB. If not, * - * write to the Free Software Foundation, Inc., 59 Temple Place, * - * Suite 330, Boston, MA 02111-1307, USA * - * * - ***************************************************************************/ - - -#include "PreCompiled.h" - -#ifndef _PreComp_ -# include -#endif - -#include "Workbench.h" -#include -#include - - -using namespace FemGui; - -#if 0 // needed for Qt's lupdate utility - qApp->translate("Workbench", "FEM"); - qApp->translate("Workbench", "&FEM"); -#endif - -/// @namespace FemGui @class Workbench -TYPESYSTEM_SOURCE(FemGui::Workbench, Gui::StdWorkbench) - -Workbench::Workbench() -{ -} - -Workbench::~Workbench() -{ -} - -Gui::ToolBarItem* Workbench::setupToolBars() const -{ - Gui::ToolBarItem* root = StdWorkbench::setupToolBars(); - Gui::ToolBarItem* fem = new Gui::ToolBarItem(root); - fem->setCommand("FEM"); - *fem << "Fem_NewMechanicalAnalysis" - << "Fem_CreateFromShape" - << "Fem_MechanicalMaterial" - << "Fem_BeamSection" - << "Fem_ShellThickness" - << "Separator" - << "Fem_CreateNodesSet" - << "Separator" - << "Fem_ConstraintFixed" - << "Fem_ConstraintForce" - << "Fem_ConstraintPressure" - << "Fem_ConstraintBearing" - << "Fem_ConstraintGear" - << "Fem_ConstraintPulley" - << "Separator" - << "Fem_MechanicalJobControl" +/*************************************************************************** + * Copyright (c) 2008 Werner Mayer * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + + +#include "PreCompiled.h" + +#ifndef _PreComp_ +# include +#endif + +#include "Workbench.h" +#include +#include + + +using namespace FemGui; + +#if 0 // needed for Qt's lupdate utility + qApp->translate("Workbench", "FEM"); + qApp->translate("Workbench", "&FEM"); +#endif + +/// @namespace FemGui @class Workbench +TYPESYSTEM_SOURCE(FemGui::Workbench, Gui::StdWorkbench) + +Workbench::Workbench() +{ +} + +Workbench::~Workbench() +{ +} + +Gui::ToolBarItem* Workbench::setupToolBars() const +{ + Gui::ToolBarItem* root = StdWorkbench::setupToolBars(); + Gui::ToolBarItem* fem = new Gui::ToolBarItem(root); + fem->setCommand("FEM"); + *fem << "Fem_NewMechanicalAnalysis" + << "Fem_CreateFromShape" + << "Fem_MechanicalMaterial" + << "Fem_BeamSection" + << "Fem_ShellThickness" + << "Separator" + << "Fem_CreateNodesSet" + << "Separator" + << "Fem_ConstraintFixed" + << "Fem_ConstraintForce" + << "Fem_ConstraintPressure" + << "Fem_ConstraintBearing" + << "Fem_ConstraintGear" + << "Fem_ConstraintPulley" + << "Separator" + << "Fem_MechanicalJobControl" << "Fem_Quick_Analysis" << "Fem_PurgeResults" - << "Fem_ShowResult"; - return root; -} - -Gui::MenuItem* Workbench::setupMenuBar() const -{ - Gui::MenuItem* root = StdWorkbench::setupMenuBar(); - Gui::MenuItem* item = root->findItem("&Windows"); - Gui::MenuItem* fem = new Gui::MenuItem; - root->insertItem(item, fem); - fem->setCommand("&FEM"); - *fem << "Fem_NewMechanicalAnalysis" - << "Fem_CreateFromShape" - << "Fem_MechanicalMaterial" - << "Fem_BeamSection" - << "Fem_ShellThickness" - << "Separator" - << "Fem_CreateNodesSet" - << "Separator" - << "Fem_ConstraintFixed" - << "Fem_ConstraintForce" - << "Fem_ConstraintPressure" - << "Fem_ConstraintBearing" - << "Fem_ConstraintGear" - << "Fem_ConstraintPulley" - << "Separator" - << "Fem_MechanicalJobControl" + << "Fem_ShowResult"; + return root; +} + +Gui::MenuItem* Workbench::setupMenuBar() const +{ + Gui::MenuItem* root = StdWorkbench::setupMenuBar(); + Gui::MenuItem* item = root->findItem("&Windows"); + Gui::MenuItem* fem = new Gui::MenuItem; + root->insertItem(item, fem); + fem->setCommand("&FEM"); + *fem << "Fem_NewMechanicalAnalysis" + << "Fem_CreateFromShape" + << "Fem_MechanicalMaterial" + << "Fem_BeamSection" + << "Fem_ShellThickness" + << "Separator" + << "Fem_CreateNodesSet" + << "Separator" + << "Fem_ConstraintFixed" + << "Fem_ConstraintForce" + << "Fem_ConstraintPressure" + << "Fem_ConstraintBearing" + << "Fem_ConstraintGear" + << "Fem_ConstraintPulley" + << "Separator" + << "Fem_MechanicalJobControl" << "Fem_Quick_Analysis" << "Fem_PurgeResults" - << "Fem_ShowResult"; - - return root; -} + << "Fem_ShowResult"; + + return root; +}