Hi,
thank you for your answer.
> What you mean by keeping the surface structure? The topology of one mesh
> or the order of the triangles? If i get it right you need to repair
> multiple touching surfaces and that you need to repair both in the same
> way, which is currently not implemented.
I did not get what you mean by "repair both in the same way"...
By keeping the surface structure, I mean that the surfaces should not be collapsed into one, as is the case for stl format AFAIK. A cube, for example, has 6 outer surfaces, and those should also be 6 different surfaces in the mesh file (with identical nodes at the edges, of course). So it is not at the triangle level, but at the surface level that the structure must be preserved when the repair is done.
As an example, imagine two cubes, one on top of the other, but shifted in horizontal direction (see attachment: Test_partial_2D_mesh.png). The common interface between both is a part of the bottom surface of the upper cube, and a part of the upper surface of the lower cube. gmsh cannot do the merge at the interface, so it would create two overlapping nonconformal meshes (attachment: Test_partial_2D_interface.png). The triangles and nodes at the interface would not be identical. Now I would need a tool which detects the overlap at the interface and repairs it. The result would have to be that the interface is cut out from the upper surface of the lower and the bottom surface of the upper cube, and the holes replaced by a new surface common to both cubes. At the lines limiting the interface, the meshes must share nodes (attachment: Test_partial_2D_clean.png).
I hope that this makes clear what I want to do.
Would OpenFlipper be able to do this? If not, do you have a hint where else I could look?
Thanks,
Matthias
_____________________________________________________________________
ERBE Elektromedizin GmbH
Firmensitz: 72072 Tuebingen
Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede
Registergericht: Stuttgart HRB 380137
Hi,
I am looking for a way to repair a surface mesh generated by gmsh, and would like to know if this is possible.
I explain my problem in some more depth:
I am doing FEM simulations and need to generate meshes from CAD data which I get in STEP format. The geometries normally consist of several volumes which are in contact with each other, so they share common interfaces. In CAD, each volume has its own set of outer surfaces, so that there are duplicated interfaces between the volumes. For FEM, the mesh needs to be conformal at the interfaces, i.e. there needs to be only one surface with its nodes and triangles between the volumes. I am using gmsh (http://geuz.org/gmsh) to generate the mesh. The problem is that gmsh cannot repair those duplicated interfaces. So what I want to do is
* generate a surface mesh with gmsh
* export it, use a mesh manipulation program to repair the mesh at the duplicated interfaces
* re-import the repaired mesh into gmsh and generate the 3D mesh.
My question: Is this possible with OpenFlipper?
I have installed OpenFlipper and tried to import a surface mesh from gmsh, but I did not find a format which gmsh writes that can be opened by OpenFlipper. gmsh writes msh (its own format), inp, unv, wrl, and some more. It is important that the surfaces structure (i.e. there are several surfaces, not just one) is kept during the process, so stl is not an option as far as I understand.
Which mesh formats (except OpenMesh) can be read by OpenFlipper? Or is there a way to convert a mesh from gmsh to OpenMesh format?
If it is not possible with OpenFlipper, do you know another software I could use for this purpose?
Thank you for some hints,
Matthias
_____________________________________________________________________
ERBE Elektromedizin GmbH
Firmensitz: 72072 Tuebingen
Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede
Registergericht: Stuttgart HRB 380137
Hello everybody,
I tried to install only openmesh, in particular version 2.3.1.
After using cmake with the gcc 4.7 compiler,
(
here is the command
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/OpenMesh
-DCMAKE_CXX_COMPILER=/usr/gcc_4_7/bin/g++-4.7
-DCMAKE_C_COMPILER=/usr/gcc_4_7/bin/gcc-4.7
)
and a successful make command, I got the following make install error:
...
[100%] Built target Synthesizer
[ 21%] Built target OpenMeshCore
[ 43%] Built target OpenMeshCoreStatic
[ 50%] Built target OpenMeshTools
[ 58%] Built target OpenMeshToolsStatic
[ 59%] Built target Dualizer
[ 60%] Built target commandlineDecimater
[ 61%] Built target Smoothing
[ 62%] Built target commandlineSubdivider
[ 63%] Built target commandlineAdaptiveSubdivider
[ 64%] Built target mconvert
[ 65%] Built target mkbalancedpm
[ 65%] Built target Analyzer
[ 74%] Built target DecimaterGui
[ 80%] Built target QtViewer
[ 88%] Built target SubdividerGui
[ 94%] Built target ProgViewer
[100%] Built target Synthesizer
Install the project...
-- Install configuration: "Release"
CMake Error at src/OpenMesh/Core/cmake_install.cmake:54 (FILE):
file INSTALL cannot find
"*********************/OpenMesh-2.3.1/build/Build/lib/OpenMesh/libOpenMeshCore.so.2.3".
Call Stack (most recent call first):
cmake_install.cmake:37 (INCLUDE)
make: *** [install] Fehler 1
As one can see, the cmake command uses the default Debug configuration,
so why is the install configuration "Release" used?
Is this a bug?
Best regards,
Marcel Makowski
--
Dipl.-Math. Marcel Makowski
Institut für Geometrie und Praktische Mathematik
RWTH-Aachen
Templergraben 55
D-52056 Aachen, Germany
email: makowski(a)igpm.rwth-aachen.de
Phone: +49-241-80-97066
Fax: +49-241-80-92317
URL: http://www.igpm.rwth-aachen.de