1
$\begingroup$

I work with scientific pointclouds and I often have extra columns of data in my .ply files. For example, I might have a column for "temperature" where there is a temperature value for each point or mesh triangle. In a 3D package called CloudCompare, it's easy to hide parts of a pointcloud or mesh based on the value of one of these "scalar fields."

Is there a similar feature in Blender? If I have a .ply with extra columns, is there any way for me to, say, color the mesh by the value of that column, or use that column as the input to a python script?

$\endgroup$
6
  • 2
    $\begingroup$ there is a vertex group option you can use it the same way it hold a value between 0.0 and 1.0 (on the point level ) and there is a special mode to display this value as a color on the mesh $\endgroup$
    – Chebhou
    Mar 17, 2015 at 22:10
  • $\begingroup$ Chebhou, I did not fully understand your comment, but I think maybe you have the right idea here. If I could import the extra column in the .ply as vertex group data, that would probably answer my question. Do you know how I can do that? $\endgroup$ Mar 17, 2015 at 22:15
  • 1
    $\begingroup$ I'm not familiar with this format so how are you importing the file ? is there an addon or a script i could alter it to get this option ? $\endgroup$
    – Chebhou
    Mar 17, 2015 at 22:20
  • $\begingroup$ Ah, I forgot that it was a plugin. Here it is. PLY is very simple -- basically just a table of numbers, in ASCII or binary format. $\endgroup$ Mar 17, 2015 at 22:25
  • 1
    $\begingroup$ @Chebhou the Stanford ply import/export addon is included with blender, just enable it. $\endgroup$
    – sambler
    Mar 18, 2015 at 6:24

1 Answer 1

1
$\begingroup$

I have edited the import script so you can get extra info from the file as vertex weights with a factor as object property ex : temperature info column will generate

  • vertex_group named 'temperature'
  • object property named 'temperature_factor'
  • point temperature = vertex_weight*temperature_factor

download this file ( import_ply.py ) and replace the one in Program Files\Blender Foundation\Blender\2.73\scripts\addons\io_mesh_ply\ , restart blender after that to take effect


I have used the factor to normalize all values (0.0<->1.0) because weight can't handle more than that

enter image description here

enter image description here

$\endgroup$
4
  • 1
    $\begingroup$ Wow, above and beyond the call of duty! This is really useful! $\endgroup$ Mar 23, 2015 at 19:58
  • $\begingroup$ @foobarbecue thanks, be sure to try and give feedback $\endgroup$
    – Chebhou
    Mar 23, 2015 at 20:00
  • $\begingroup$ think you can link the script again? $\endgroup$
    – Derek Eden
    Jul 9, 2021 at 21:05
  • $\begingroup$ @Derek sorry i don't i think i have it now $\endgroup$
    – Chebhou
    Jul 29, 2021 at 14:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .