From 9e6f3660e51663c7a29b2a20986f14685e90ca1f Mon Sep 17 00:00:00 2001 From: marioalexis Date: Tue, 24 Dec 2024 10:32:39 -0300 Subject: [PATCH] Fem: Add suppressible extension to mesh element objects --- src/Mod/Fem/femmesh/gmshtools.py | 6 ++++++ src/Mod/Fem/femmesh/netgentools.py | 2 ++ src/Mod/Fem/femobjects/base_femmeshelement.py | 5 +++++ src/Mod/Fem/femviewprovider/view_base_femmeshelement.py | 4 ++++ 4 files changed, 17 insertions(+) diff --git a/src/Mod/Fem/femmesh/gmshtools.py b/src/Mod/Fem/femmesh/gmshtools.py index 1ea5a11813..6c284dc81a 100644 --- a/src/Mod/Fem/femmesh/gmshtools.py +++ b/src/Mod/Fem/femmesh/gmshtools.py @@ -400,6 +400,8 @@ class GmshTools: else: Console.PrintMessage(" Mesh group objects, we need to get the elements.\n") for mg in self.mesh_obj.MeshGroupList: + if mg.Suppressed: + continue new_group_elements = meshtools.get_mesh_group_elements(mg, self.part_obj) for ge in new_group_elements: if ge not in self.group_elements: @@ -479,6 +481,8 @@ class GmshTools: ): self.outputCompoundWarning for mr_obj in self.mesh_obj.MeshRegionList: + if mr_obj.Suppressed: + continue # print(mr_obj.Name) # print(mr_obj.CharacteristicLength) # print(Units.Quantity(mr_obj.CharacteristicLength).Value) @@ -564,6 +568,8 @@ class GmshTools: # https://forum.freecad.org/viewtopic.php?f=18&t=18780&p=149520#p149520 self.outputCompoundWarning for mr_obj in self.mesh_obj.MeshBoundaryLayerList: + if mr_obj.Suppressed: + continue if mr_obj.MinimumThickness and Units.Quantity(mr_obj.MinimumThickness).Value > 0: if mr_obj.References: belem_list = [] diff --git a/src/Mod/Fem/femmesh/netgentools.py b/src/Mod/Fem/femmesh/netgentools.py index 488f996771..5ffed44c66 100644 --- a/src/Mod/Fem/femmesh/netgentools.py +++ b/src/Mod/Fem/femmesh/netgentools.py @@ -366,6 +366,8 @@ run_netgen(**{kwds}) result = [] for reg in self.obj.MeshRegionList: + if reg.Suppressed: + continue for s, sub_list in reg.References: if s.isDerivedFrom("App::GeoFeature") and isinstance( s.getPropertyOfGeometry(), PartShape diff --git a/src/Mod/Fem/femobjects/base_femmeshelement.py b/src/Mod/Fem/femobjects/base_femmeshelement.py index 31fcef9d31..c3a096090f 100644 --- a/src/Mod/Fem/femobjects/base_femmeshelement.py +++ b/src/Mod/Fem/femobjects/base_femmeshelement.py @@ -46,6 +46,8 @@ class BaseFemMeshElement(base_fempythonobject.BaseFemPythonObject): for prop in self._get_properties(): prop.add_to_object(obj) + obj.addExtension("App::SuppressibleExtensionPython") + def _get_properties(self): prop = [] @@ -72,3 +74,6 @@ class BaseFemMeshElement(base_fempythonobject.BaseFemPythonObject): if prop.name == "References": # change References to App::PropertyLinkSubListGlobal prop.handle_change_type(obj, old_type="App::PropertyLinkSubList") + + if not obj.hasExtension("App::SuppressibleExtensionPython"): + obj.addExtension("App::SuppressibleExtensionPython") diff --git a/src/Mod/Fem/femviewprovider/view_base_femmeshelement.py b/src/Mod/Fem/femviewprovider/view_base_femmeshelement.py index efe6cf2ff0..56b1dc2883 100644 --- a/src/Mod/Fem/femviewprovider/view_base_femmeshelement.py +++ b/src/Mod/Fem/femviewprovider/view_base_femmeshelement.py @@ -35,5 +35,9 @@ from femviewprovider import view_base_femobject class VPBaseFemMeshElement(view_base_femobject.VPBaseFemObject): """Proxy View Provider for Python base mesh element.""" + def __init__(self, vobj): + super().__init__(vobj) + vobj.addExtension("Gui::ViewProviderSuppressibleExtensionPython") + def isShow(self): return self.ViewObject.Visibility