Interesting.
IMHO it would be wise to push SMESH out of the PythonOCC and make it a
separate project.
This way the project can evolve more freely, while arguable FEM meshing is
out of scope for PythonOCC.
I think its the way forward for both projects.


On Tue, Apr 9, 2013 at 7:27 PM, Thomas Paviot <tpav...@gmail.com> wrote:

> Hi,
>
> For your information, I tried hard to get Mark's contribution working fine
> but I failed because of the many dependencies on which this smesh version
> relies. I didn't manage to cut off the dependency upon VTK, and I gave up:
> I don't want the small smesh addition to pythonocc require 2 or 3
> additional dependencies.
>
> Regards,
>
> Thomas
>
> 2013/4/9 Mark Blome <bl...@zib.de>
>
>>
>> Hi Cavendish,
>>
>> the updates to the geom and smesh modules including integration of the
>> netgen
>> mesher are not yet integrated in the official pythonocc distribution.
>>
>> I created these updates based on the Salome sources for the FE
>> preprocessor
>> application I am developing (btw: very interesting to hear you are
>> working on a similar
>> project! What is the application area you are focusing on ? Are you
>> planning a GUI-based
>> Fe preprocessor? If so which application design are thinking of ? )
>>
>> The updated smesh, geom sources (including wrappers) are available in the
>> pythonocc
>> git repository in the branch "mb/geom_smesh_updates":
>>         https://github.com/tpaviot/pythonocc/tree/mb/geom_smesh_updates
>>
>> It is planned to merge these updates into the main PythonOCC branch and
>> thereby make
>> the latest smesh and geom developments from the Salome project available
>> to pythonocc
>> (including the  netgen mesher). Unfortunately due to time constraints
>> (there are always too
>> many things to do ...) this hasn't happen yet.
>>
>> You might consider to work with the files in the mb/geom_smesh_updates
>> branch (I could assist you
>> in setting it up so you can work on your project). Once
>> "mb/geom_smesh_updates" is merged with the
>> main branch you can then switch back to the official pythonocc distro for
>> your developments.
>>
>> Please also note that the module MT ("MeshTools") is my adaption of the
>> python smesh interface
>> available in Salome (which will also be integrated into the official
>> pythonocc distribution).
>>
>> Regards,
>> Mark
>>
>>
>>
>> Am 09.04.2013 um 03:08 schrieb Cavendish McKay:
>>
>> > Hello,
>> >
>> > I'm trying to build a preprocessor for a FE calculation, and I'm running
>> > into a bit of trouble with the mesh generation.  Using the smesh module
>> > in Salome, I could do something like this:
>> >
>> >    tetra = smesh.Mesh(part, "Sqmesh")
>> >    algo1D = tetra.Segment()
>> >    algo1D.LocalLength(2.0)
>> >    algo2D = tetra.Triangle()
>> >    algo2D.MaxElementArea(5.0)
>> >    algo3d = tetra.Tetrahedron()
>> >    algo3D.MaxElementVolume(25.0)
>> >    ret = tetra.Compute()
>> >
>> > From the writeup at
>> > http://www.pythonocc.org/resources/meshing/pythonocc-and-smesh/, it
>> > looks like I ought to be able to do essentially the same thing in
>> > pythonocc, but there seems to be a disconnect between the way the code
>> > in the writeup access the mesh generator and its algorithms (i.e.,
>> > meshgen = MT.MeshGen(), etc.) and the module hierarchy present in my
>> > version (0.6-alpha) of pythonocc.  In particular, I can't find a module
>> > called MT, and the SMESH module doesn't have all the same parts.
>> >
>> > By looking at the code in the examples directory, I've made a function
>> > to generate a surface mesh for a compound object:
>> >
>> > def mesh_compound(comp):
>> >    meshgen = SMESH_Gen()
>> >    themesh = meshgen.CreateMesh(0,True)
>> >    an1DHypothesis = StdMeshers_Arithmetic1D(0,0,meshgen)
>> >    an1DHypothesis.SetLength(0.01, False)
>> >    an1DHypothesis.SetLength(1., True)
>> >    an1dAlgo = StdMeshers_Regular_1D(1,0,meshgen)
>> >
>> >    a2dHypothesis = StdMeshers_QuadranglePreference(2,0,meshgen)
>> >    a2dAlgo = StdMeshers_Quadrangle_2D(3,0,meshgen)
>> >
>> >    themesh.ShapeToMesh(comp)
>> >    # assign hypotheses
>> >    themesh.AddHypothesis(comp,0)
>> >    themesh.AddHypothesis(comp,1)
>> >    themesh.AddHypothesis(comp,2)
>> >    themesh.AddHypothesis(comp,3)
>> >    #compute
>> >    meshgen.Compute(themesh, themesh.GetShapeToMesh())
>> >    return themesh
>> >
>> > My questions are these:
>> > 1. Where is the Netgen mesher located?  I can't find it in
>> > OCC.StdMeshers or OCC.SMESH (or anywhere else I've looked, for that
>> matter).
>> > 2. There doesn't seem to be a StdMeshers_Triangle_2D. Is that correct?
>> > 3. Am I missing something?  I'd prefer to be able to use the
>> > Salome-style syntax, as it is clearer to me, but I can't figure out how
>> > to do so.
>> >
>> > Again, I'm using OCE version 0.12, pythonocc version 0.6dev, python
>> > 2.7.2 on os X 10.8
>> >
>> > Thanks,
>> > Cavendish
>> >
>> > _______________________________________________
>> > Pythonocc-users mailing list
>> > Pythonocc-users@gna.org
>> > https://mail.gna.org/listinfo/pythonocc-users
>>
>>
>> _______________________________________________
>> Pythonocc-users mailing list
>> Pythonocc-users@gna.org
>> https://mail.gna.org/listinfo/pythonocc-users
>>
>
>
> _______________________________________________
> Pythonocc-users mailing list
> Pythonocc-users@gna.org
> https://mail.gna.org/listinfo/pythonocc-users
>
>
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to