Support for SMESH
Are there any plans or desire to include SMESH (from Salome Platform) as part of pythonocc-core? I think it was included many years ago.
I've been working on pyOCCT and pySMESH in the background but mostly because it's technically interesting and fun, but practically pythonocc-core is just fine and I think covers everything someone would need, except the SMESH part.
I was thinking about starting a new project to build SMESH wrappers that use/work with pythonocc-core, but didn't want to duplicate efforts if this was one the roadmap.
SMESH was part of pythonocc-core until the 7.4.0 release, where it was dropped (according to the Changelog) in 2019. The last release supporting SMESH is 0.18.2 (https://github.com/tpaviot/pythonocc-core/tree/0.18.2). You can see the related SWIG files here: https://github.com/tpaviot/pythonocc-core/blob/0.18.2/src/SWIG_files/wrapper/SMESH.i and https://github.com/tpaviot/pythonocc-core/blob/0.18.2/src/SWIG_files/wrapper/SMESHDS.i
You're right, meshing features are missing from pythonocc, mostly because OCCT itself has quite limited meshing capabilities. SMESH support was dropped because it was too much work to maintain, and because Salome became quite an inextricable project where it became difficult to safely extract SMESH (and GEOM as well, at that time).
I have no plans on my side to restore SMESH support. This is simply due to a lack of time—getting SMESH back into pythonocc-core would be great. I know there has been some interesting work on the Salome side in recent months, and I'll be glad to help and join your efforts.
Thanks for the response. Would you want to have SMESH be part of pythonocc-core (like it was in the past)? Or would a separate project make sense (like I was pursuing with pyOCCT and pySMESH)? I assume you'd expect to include it like it was in the past, but thought worth checking. In either case I'd expect to use the same wrapper generator.
Yes, SMESH support brought very interesting and easily accessible meshing features. It was distributed as an integrated package, compilable as an option (as far as I remember). Anyway, if you want to couple SMESH to pythonocc, you'll have a strong interdependency with what already exists in pythonocc - making a separate package would lead to a lot of code duplication and effort.
So getting smesh back into pythonocc would be quite a great news