# Unwrap cylinder to plane in Paraview

I want to extract the data from the boundary surface of a cylinder (in a .vtu file) and plot it onto a plane, where the coordinates are theta (rotation angle) and Z(height) of the cylinder. I know that this could be done in many ways, but i am looking for a simple clean solution, using Paraview, python or both (i.e. a python macro in paraview)

• I tried using the ExtractSurface option to export the outer points with their data, but for some reason, some "volume" points (i mean points not on the domain boundary) are also exported

• I wrote a Python script using the VTK package to parse my input data file,then grab the cartesian coordinates, transform it to polar coordinates and finally take the boundary points using a condition on the radius. Although this works, it is not flawless because boundary points are not positioned "exactly" on the maximum radius but rather within an radius interval (diffuse interface)

Is there any way to use paraview filters to get the job done ? I also checked the Programmable filter option, tried some tutorial examples, but I find it complicated somehow.

Any suggestions or ideas ?

• Is it possible to share your data set? The Extract Surface filter is quite robust but in parallel for unstructured grids it can have difficulties due to not having ghost information to figure out what cells have sides on the boundary. As a side note, even once you have the boundary properly extracted you will need to split cells that cross the theta value you choose for "unrolling" the boundary unless all of the edges of the 2D cells line up along this split location. Even with this you'll need to create a copy of the points. Programmable filter is probably your best choice in ParaView. – andybauer Aug 21 '14 at 3:38
• I am actually surprised that this feature is not implemented. The dataset can be downloaded here drive.google.com/file/d/0B56IjspqMe1id2RuZ3pYNWhSM2M/… – SAAD Aug 21 '14 at 10:31
• I tried the Extract surface filter in your dataset, and it seems to work for me. Can you use an image for showing us what you get and why it is wrong? – nicoguaro Aug 21 '14 at 17:23

• I could easily project the curved surface to a plane using 0*iHat+coordsY*jHat+coordsZ*kHat but how to do the "unrolling" ? should I use a transformation ? – SAAD Aug 21 '14 at 17:58