Hello everybody,



First, thanks a lot for your neat work on openmesh! I am creating meshes for 3D modelling as a part of my masters thesis and I am glad to use a well written library.


I am able to build many thingsĀ  and play with it thanks to openmesh, however I encounter some troubles from time to time. I asked some communities (stackoverflow for instance) but the subject does not seem to be hot right now, and experts are hard to find, so I am asking you.

I use openmesh with Python 3.6. Openmesh was installed with a 'pip install openmesh' :

1/ First, I wanted to add custom propetries to vertices of the mesh, it does work but does not write in the file, or it is not read when the file is re-opened, here is my code :

    import openmesh as OM
    import numpy as np
    mesh = OM.TriMesh()

#Add some vertices
    vh0 = mesh.add_vertex(np.array([0,0,0]));
    vh1 = mesh.add_vertex(np.array([1,0,0]));
    vh2 = mesh.add_vertex(np.array([1,1,0]));
    vh3 = mesh.add_vertex(np.array([0,1,0]));

#Create some data
    data = np.arange(mesh.n_vertices)

#Add custom property
    for vh in mesh.vertices():
        mesh.set_vertex_property('prop1', vh, data[vh.idx()])

#Check properties have been added correctly
    print(mesh.vertex_property('prop1'))
    #prints data matrix
OM
.write_mesh('mesh.om',mesh)
#Re-load mesh in another instance :
    mesh1 = OM.TriMesh()
    mesh1 = OM.read_trimesh('mesh.om')
#Check property is still there
    print(mesh1.vertex_property('prop1'))
    #Prints a matrix of 'None'...
So, I cannot save then read a custom property. (So far, I save custom properties into a csv file, which is okay but not convienient.)

2/ Another issue I encounter is when I want to save a mesh into a vtk file. The writter writes nothing . Here is my code :
    import openmesh as OM

    mesh = OM.TriMesh()

#Add some vertices
    vh0 = mesh.add_vertex([0,0,0])
    vh1 = mesh.add_vertex([0,1,1])
    vh2 = mesh.add_vertex([1,0,1])
    vh3 = mesh.add_vertex([1,1,0])

#Add some faces (we are building a tetrahedron here)
    mesh.add_face(vh0,vh1,vh2)
    mesh.add_face(vh0,vh2,vh3)
    mesh.add_face(vh0,vh3,vh1)
    mesh.add_face(vh1,vh3,vh2)
    
    OM.write_mesh('TEST_MESH.vtk',mesh)

Nothing is written. (When I put .ply or .om ... instead of .vtk, it works just fine)

According to the documentation, it should work, so I don't know what I am doing wrong. If you have any tips or advices, it would be very appreciated,




Thank you for your time, thank you for your help,

Charles Duvert.