X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2Fsmesh_plugins.py;h=7c726820ad47b7570b1576c234c8314b39644657;hp=5dd763cf30bb893748e52319e5aeefee2f946bfe;hb=HEAD;hpb=072a73120b6db7bba2389aa7ada0cde20e22ee57 diff --git a/src/Tools/smesh_plugins.py b/src/Tools/smesh_plugins.py index 5dd763cf3..126c0c96e 100644 --- a/src/Tools/smesh_plugins.py +++ b/src/Tools/smesh_plugins.py @@ -1,10 +1,10 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2011-2013 EDF R&D +# -*- coding: utf-8 -*- +# Copyright (C) 2011-2024 EDF # # 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,32 +17,88 @@ # # 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 -from yamsplug_plugin import YamsLct -from MGCleanerplug_plugin import MGCleanerLct -from blocFissure.ihm.fissureCoude_plugin import fissureCoudeDlg +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 -salome_pluginsmanager.AddFunction('ReMesh with MGSurfOpt ( formerly Yams )', - 'Run Yams', - YamsLct) +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 -salome_pluginsmanager.AddFunction('ReMesh with MGCleaner', - 'Run MGCleaner', - MGCleanerLct) +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 -salome_pluginsmanager.AddFunction('Meshed Pipe with a crack', - 'Create a mesh with blocFissure tool', - fissureCoudeDlg) +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 + +# Topological to volumic mesh plugin +try: + from TopIIVolMeshPlugin import TopIIVolMeshLct + salome_pluginsmanager.AddFunction('Run Topological Volumic mesher', + 'run topological volumic mesher', + TopIIVolMeshLct) +except Exception as e: + #print 'probleme zcracks' + salome_pluginsmanager.logger.info('ERROR: TopIIVolMesh plug-in is unavailable: {}'.format(e)) + pass