X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2Fsmesh_plugins.py;h=2a8f1107fd56bf2cd65bada281f5468d6a259b96;hp=612e0faa889885f25214c768e6e4c392b03348cc;hb=0fc0831670e27a5611b941c52dc152fd63964515;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6 diff --git a/src/Tools/smesh_plugins.py b/src/Tools/smesh_plugins.py index 612e0faa8..2a8f1107f 100644 --- a/src/Tools/smesh_plugins.py +++ b/src/Tools/smesh_plugins.py @@ -1,10 +1,10 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2011-2012 CEA/DEN, EDF R&D, OPEN CASCADE +# -*- coding: utf-8 -*- +# Copyright (C) 2011-2020 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either -# version 2.1 of the License. +# version 2.1 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 @@ -17,17 +17,77 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# Author : Guillaume Boulant (EDF) +# Author : Guillaume Boulant (EDF) # import salome_pluginsmanager +import os +from qtsalome import QIcon -from spadderPlugin import runSpadderPlugin -from meshcut_plugin import MeshCut +try: + from spadderPlugin import runSpadderPlugin + salome_pluginsmanager.AddFunction('PADDER mesher', + 'Create a mesh with PADDER', + runSpadderPlugin) +except Exception as e: + salome_pluginsmanager.logger.info('ERROR: PADDER mesher plug-in is unavailable: {}'.format(e)) + pass -salome_pluginsmanager.AddFunction('PADDER mesher', - 'Create a mesh with PADDER', - runSpadderPlugin) +try: + from meshcut_plugin import MeshCut + icon_file = os.path.join(os.getenv('SMESH_ROOT_DIR'),'share', 'salome', 'resources', 'smesh', 'mesh_plugins_meshcut.png') + salome_pluginsmanager.AddFunction('MeshCut', + 'Cut a tetrahedron mesh by a plane', + MeshCut, icon=QIcon(icon_file)) -salome_pluginsmanager.AddFunction('MeshCut', - 'Cut a tetrahedron mesh by a plane', - MeshCut) +except Exception as e: + salome_pluginsmanager.logger.info('ERROR: MeshCut plug-in is unavailable: {}'.format(e)) + pass + +try: + from yamsplug_plugin import YamsLct + salome_pluginsmanager.AddFunction('ReMesh with MGSurfOpt', + 'Run Yams', + YamsLct) +except Exception as e: + salome_pluginsmanager.logger.info('ERROR: MGSurfOpt plug-in is unavailable: {}'.format(e)) + pass + +try: + from MGCleanerplug_plugin import MGCleanerLct + salome_pluginsmanager.AddFunction('ReMesh with MGCleaner', + 'Run MGCleaner', + MGCleanerLct) +except Exception as e: + salome_pluginsmanager.logger.info('ERROR: MGCleaner plug-in is unavailable: {}'.format(e)) + pass + +try: + from blocFissure.ihm.fissureCoude_plugin import fissureCoudeDlg + salome_pluginsmanager.AddFunction('Meshed Pipe with a crack (blocFissure plugin)', + 'Create a mesh with blocFissure tool', + fissureCoudeDlg) +except Exception as e: + salome_pluginsmanager.logger.info('ERROR: Meshed Pipe with a crack plug-in is unavailable: {}'.format(e)) + pass +try: + from blocFissure.ihm.fissureGenerale_plugin import fissureGeneraleDlg + salome_pluginsmanager.AddFunction('Add a crack in a mesh (blocFissure plugin)', + 'Insert a crack in an hexahedral mesh with blocFissure tool', + fissureGeneraleDlg) +except Exception as e: + salome_pluginsmanager.logger.info('ERROR: Meshed Pipe with a crack plug-in is unavailable: {}'.format(e)) + pass + +# ZCracks plugin requires the Zcracks tool +try: + zcracksHome=os.environ['ZCRACKSHOME'] + if len(zcracksHome) > 1: + #print 'ZCRACKSHOME ', zcracksHome + from Zcracks.zcracks_plugin import ZcracksLct + salome_pluginsmanager.AddFunction('Run Zcracks', + 'Add a crack in a mesh with Zcracks plug-in', + ZcracksLct) +except Exception as e: + #print 'probleme zcracks' + salome_pluginsmanager.logger.info('ERROR: Zcrack plug-in is unavailable: {}'.format(e)) + pass