Generating Solid Slices from 3D OBJ Files in ParaView

I have a PDB file containing the coordinates of the molecules. Using these coordinates, I generate a CUB file that represents the pore volume. I then use VMD to create an isosurface of the pore volume and convert it into an OBJ file. I open this file in ParaView, as shown in Fig. 1. My goal is to slice this model into pieces. However, when I use the slicing function, I only obtain the outlines of the bodies. I tried the methods suggested in “(Slicing 3D data and filling inside volumes)," but the Delaunay2D filter does not work with my model. The volume in the OBJ file seems hollow. Can I generate solid slices of the model by Paraview?



The OBJ file is in:
Model - Google Drive

Maybe the filter ClipClosedSurface (applied from front and back) may help you - depending on what you are planning to do with the output. It could do the trick for visualisation purposes but as you actually produce a sheet-like volume it may not be the data you want for further computing.

Cheers,
Venke

Hi, Venke

Thanks for your reply!!!
I found that the ClipClosedSurface filter does work on my model!!! However, when I tried to clip it into 38 slices (with 0.02 intervals), it sometimes works well (as shown in Fig. 1), but sometimes it only works partially (as shown in Fig. 2). Is this a bug or or other issues?

Fig.1

Fig.2

Sincerely,
Nemo

Hi Nemo,
Glad to hear that the filter works for you, even if not in all cases.
I guess the lower figure is the expected one whereas the upper one has issues. As I am a user myself I can only guess what the problem could be. My suspicion is that the filter generates polygons from the mesh points closest to the slice and in the places with issues two polygons are generated causing the algorithm to think it is necessary to fill only the space between these polygons. Maybe these are places where the obj normals are (almost) equal to the slice normal? I could imagine that those places could be problematic.
However, maybe there is something the developers can do to improve the code if you can find out what the problematic places have in common?

Good luck and cheers,
Venke

Hi Venke,

Thanks for your quick reply.
Exactly, Fig. 2 is what I want and Fig. 1 has the issue. I will report on the bug tracker.
Thank you again!!!

Good luck and best wishes,
Nemo

An alternative to the Clip Closed Surface filter is to directly load a CUB file that represents the pore volume into ParaView (rather than an OBJ file). Then, apply the Clip filter to create pore volume data with filled volumes.

If there is no way to load a CUB file into ParaView, there’s an alternative, albeit less accurate, method to reconstruct the image data representing pore volumes. Follow these steps:

  1. Load the Model.obj file
  2. Generate dummy image data using the Resample To Image filter.
  3. Calculate the signed distance from the surface data on the image data created in step 2 (Programmable filter)
  4. Finally, use the Clip filter to extract pore volume data with filled volumes.

The State file for this less accurate method is placed below.
Recovery_volume.pvsm (699.6 KB)

If either of the methods successfully yields pore volume data with filled volumes, you’ll be able to create solid slices.

Dear Kyoshimi sensei,

Thanks for your reply! I tried opening the CUBE file in ParaView directly and applying the Clip Closed Surface filter. It worked perfectly, and the results are great!

Tkank you and Venke again. Have a nice day!

Best wishes,
Nemo