Meshlab is not the right tool for this, as it does not have true boolean operators (it's boolean filters essentially re-sample the entire mesh using a marching cubes algorithm, which is almost certainly not what you want). I would suggest you try Blender instead, search for the boolean modifier.
I am the author of MLX (https://github.com/3DLIRIOUS/MeshLabXML), a Python interface to MeshLabServer. I have a great deal of experience working with MeshLabServer, creating complex MeshLab Server scripts using Python, and may be able to help with your project.
MeshLab isn't really the best tool for this. It does have a measuring tool (the yellow tape measure icon) but it is pretty rudimentary. Although, if you use Compute Planar Section to generate cross sections and then measure those, you may have better luck. MeshMixer has a useful Measure tool under Analysis; it has multiple options to perform differrent types of measurements, and is pretty easy to use IMO.
Hi Gilad, The MeshLabXML API has changed somewhat after the new MeshLab release in 2016.12; it is now object-based. The reason the old script no longer works is that the "Quadric Edge Collapse Decimation (with texture)" filte'rs name was changed in 2016.12 to "Simplification: Quadric Edge Collapse Decimation (with texture)". I just pushed a new version to PIP which you may want to try. Below is a conversion of the simplification script above to the new API, I hope you agree that this is an improvement....
What MeshLab version are you using and what is your meshlabserver command? I would guess that you are outputting the wrong layer; you may be outputting the first layer (the original file) instead of the second. Try adding a delete layer filter at the end of your script.
That's quite interesting. It's difficult to see the traingulation in the first mesh, can you please turn diplay edges and/or wireframe on? It would also be helpful to see what the original mesh looks like, or even better, provide a sample mesh that exhibits the issue.
In the compute.py module, see the functions parse_geometry & parse_topology.
I will try to squeeze it in if I can, but honestly I'm completely swamped at the moment. If you know Python (and you must, in order to use MLX) then you could write a parsing function yourself. That's the beauty of open source, right? If it helps, you can look at how I currently parse the geometry and topology info in compute.py.
Mohammad, Unfortunately I can't think of any other options other than the two I mentioned: either section the models and measure each section separately, or measure the entire model and section the results afterwards. It sounds like you wish to pursue the second option, which entails extracting the geometry and quality values from a ply file. There are other libraries that can read ply files, such as PyMesh for Python, and others for different languages, however I'm not sure that they will all read...
If I'm understanding correctly, you just want to compute the distance over a portion of the mesh, not the entire mesh, correct? Here's one possible way you could accomplish this with MeshLab: Write a selection function to select vertices in your section of interest, i.e. select any vertices that are within certain x, y & z values. Invert the selection & delete. Essentially you are cutting out your section of interest. Repeat on the second mesh. Compute the Hausdorff distance between the meshes and...
The max, min & RMS distance values are reported in the log window in the lower right (make sure that the layer dialog is turned on). The filter also creates vertex quality values, which are the computed distance values. If you haven't already, you may want to review this article: http://meshlabstuff.blogspot.com/2010/01/measuring-difference-between-two-meshes.html If you are trying to access the raw distance values, I think you would need to save the mesh in ply format, with the vq values, and extract...
Sounds like you are looking for "Hausdorff Distance" under "Sampling".
Aha! Glad you figured it out!
Patrick, The difference is definetely subtle. Can you please attach the files directly? Not sure if I can help, but I can certainly take a look. I haven't had any issues like this with writing mlp or mlx files with Python. I am using "\n" to terminate lines, which according to the Python docs is the LF character. Accoring to your hex values, the working file just uses LF for line endings, and the non-working file is using LF CR for some lines. Unfortunately I'm not all that familiar with C++, so...
Patrick, The difference is definetely subtle. Can you please attach the files directly? Not sure if I can help, but I can certainly take a look. I haven't had any issues like this with writing mlp or mlx files with Python. I am using "\n" to terminate lines, which according to the Python docs is the LF character. Accoring to your hex values, the working file just uses LF for line endings, and the non-working file is using LF CR for some lines. Unfortunately I'm not all that familiar with C++, so...
Patrick, The difference is definetely subtle. Can you please attach the files directly? Not sure if I can help, but I can certainly take a look. I haven't had any issues like this with writing mlp or mlx files with Python. I am using "\n" to terminate lines, which according to the Python docs is the LF character. Accoring to your hex values, the working file just uses LF for line endings, and the non-working file is using LF CR for some lines. Unfortunately I'm not all that familiar with C++, so...
Have you tried putting both files through a diff program? That should point out any differences and help isolate why one isn't working. If it helps, you can certainly take a look at how I create mlp files in MeshLabXML, see the "create_mlp" function in mlx.py.
Please see issue #128. This has been fixed in the latest source, however you would need to compile from source, or wait for the next release. Another option is to use Blender's "join" (CTRL-J) to perform this action, which supports textures.
Unfortunately I don't believe that there is any way in MeshLab to manually create...
I believe that MeshLab's painting tools create vertex colors, not texture colors...
You don't need to create a new mesh; you need to create a new UV mapping for the...
Looks like MeshLab doesn't like a comma as the decimal separator. I did a search...
There is no way to merge point clouds together and retain textures that I know of,...
The "Compute Topological Measures" filter computes manifoldness, along with other...
Mike, Yes, this is certainly possible. You can use the "Conditional Vertex (or Face)...
Sean, You are on the right track in that those filters can project a texture on a...
Matt, I would suggest that you verify the proper output mask by saving in the gui...
The "Conditional Vertex Selection" filter can select based on vertex color, position...
Blender and MeshLab compliment each other nicely; if I can't figure out how to accomplish...
Tim, You are correct that MeshLab's "Flatten Layers" does not currently preserve...
If you have some sample files you can share that would be helpful, otherwise I'm...
Jeff, Well, this certainly appears to be a bug in the Mac version of MeshLab, as...
Jennifer, If I'm understanding correctly you want to perform a boolean union on two...
Well, there are a few obvious problems in the original post: 1. Using filter "Texture...
I beleive that this feature is called "shrinkwrap" in some other software (I think...
If you save a mesh with an active transformation matrix as a project file (mlp extension)...
Felix, Meshlabserver can certainly use these other parameters to the decimation filter....
Yes, you want the meshlabserver program. This can run MeshLab on the command line...
Glad you got it working! If you're using python you may want to check out my meshlabserver...
My output looks different and I didn't get any errors; are you using version 1.3.3...
Jeff, It works fine for me; I'm using the 64 bit Windows 3.4BETA version. What version...
Yes, the Compute Geometric Measures filter will measure the mesh surface.
If you have a sample file you can upload I'd be happy to take a look. In the info...
This is an announcement of the 3rd party library MeshLabXML to programmatically create...
I've been planning to try working with rasters in meshlabserver soon. The only method...
I apologize for the confusion, however I was actually requesting that you post your...
I apologize for the confusion, however I was actually requesting that you post your...
Everything LOOKS correct. Can you post your command line output when you run the...
I use v1.3.4 BETA all the time with meshlabserver and it works great. Can you post...
One thing you could try is copying the color data from your original point cloud...
How about "Select Visible Points"? That appears to consider occlusion. If you need...
It sounds like the "Select Faces by view angle" filter is the one you want, although...
Update: in reading the muparser release notes I found that atan2 was added in version...
Update: in reading the muparser release notes I found that atan2 was added in version...
The issue is with your collada file. I tried opening it in Blender and it too could...
Sounds very interesting. Do either of you have a sample file you can share? Are your...
Sounds strange; how is it failing? Do you have "keep unreferenced verrtices" checked?...
Well, you could start by creating an issue requesting this feature at https://github.com/beltoforion/muparser/issues...
The per vertex color function only accepts RGBA (a separate function for each). You're...
Mehul, If I'm understanding you correctly, it sounds like you want to subdivide your...
No problem; apologies if the message above was a bit brusque.
Use the Discusssion search function; this was just discussed last month: https:/...
You can find the filters for normals under "Normals, Curvatures and Orientation"....
Hi Luca, You can split your file into separate objects using "Mesh Layer | Split...
I know this post is a bit old, but maybe you're still looking for a solution. There's...
This was tested on MeshLab version 1.3.4Beta 64 bit on Windows 8.1.
Mehul, I believe that the volume you are referring to is the volume that is being...
You need to turn on the layer dialog to see the output of Measure Geometry and other...
Grid Generator creates non-zero z values
Mehul, "Precision" is the size of the voxel used, e.g. how dense the grid is. Smaller...
Using the computed Quality values as the increment in the color function is a perfect...
Ah ha, I beleive I understand what you're after now. It's probably possible to implement...
Update: I belatedly realized that it might be helpful if I provided the output of...
Update: I belatedly realized that it might be helpful if I provided the output of...
Update: I belatedly realized that it might be helpful if I provided the output of...
I'm not a MeshLab developer and can't modify the geodesic distance filter, however...
Nick, What was the problem? Can you provide any help or instructions on compiling...
What filters have you tried? How much is the volume and the shape of the mesh changing?...
This could definetely be done with the "Per Vertex Color Function" filter. The trick...
If you need to actualy cut the mesh apart then you need to do that in another program;...
Sean, If your file consists of multiple parts (components) you can separate them...
Glad you got it to work! :)
Nathanael, Thanks for the upload. Opening the file in MeshLab generated an error...
Nathanael, Are you able to upload a sample file, or even just your mtl file? Is MeshLab...
Thanks for the pic; my answer still stands. To thicken the surface into a solid mesh...
amundsen, It's not quite clear to me what you're trying to achieve; a picture or...
I stand corrected; apparently MeshLab CAN bake textures! This blog entry gives a...
I stand corrected; apparently MeshLab CAN bake textures! This blog entry gives a...
When using meshlabserver on stl files you need to put a "merge close vertices" filter...
Alice, Yes it's possible to use meshlabserver for this; I do it all the time. Are...
I don't believe that MeshLab can do this, however Blender can. Search for some tutorials...
Jan, If you mean that you want to make your mesh manifold then MeshLab can help you....
Vertex color data is saved in the obj file itself. The mtl file is only for UV mapped...
alves, I would suggest you try some of the filters that smooth the actual mesh, not...
Alaa, At the start of your script add the "Merge Close Vertices" filter with a threshold...
"Show Quoted Box" shows the mesh's bounding box and a ruler measuring from zero to...
Great work tracking down that bug!
Martin, You can see the list of available meshlabserver options by running meshlabserver...
Hi Stephen, In my experience the "min" &"max" values, while required, do not actually...
Great, glad it worked for you! :)