Point Cloud Visualizer

I don’t see the button to send you a pm, it’s because I’m new on this site web ?

i’ve sent you message…

I send you this right now :slight_smile: thanks

Is it possible to include a button to unlink objects from pointclouds?
(If I accidently link a pointcloud to the wrong object, is there a way to unlink it?)

1 Like

i’ll add reset button for it in next version, now you can only do it in python
have object selected and active and run this from text editor

import bpy
from space_view3d_point_cloud_visualizer.mechanist import PCVMechanist
o = bpy.context.active_object
del PCVMechanist.cache[o.name]
del o['point_cloud_visualizer']
PCVMechanist.tag_redraw()

Awesome, Thanks!

Hi there! i have some issues converting points of clouds. How can i solve this problem? it shows the problem “unknown location -1”

hi, i need more info, what blender version, what pcv version, what are you trying to do, when it breaks, start blender from console and post full error, etc. i can’t help you without it…

Nice plugin! Definitly worth the price :star: :star: :star: :star: :star:

Some questions (or feature requests? :wink: )

How can I export multiple selected pointclouds at once?
I have split a pointcloud into a grid of smaller pointclouds and now I would like to export them all as separate .ply files to a folder.

Is it possible to automatically name the pointcloud object to the filename of an imported pointcloud. When I import a pointcloud I would like the object to be named something similar to the filename of the imported object.

How can I rename a pointcloud object? Whenever I rename the points seem to disapear.

Thanks!

1 Like

well, it might be possible, not sure with the names of resulting files? maybe container object name, they are unique

it is, but i rather not do that. pcv uses other objects as container, so if i rename object, it might break something else. BUT, you can use main menu > File > Import > PCV (.ply) or Shift+A > PCV > PCV (.ply), those commands create new empty object as container and it is named after ply file after. both can also load multiple ply files at once.

again, any blender object is used as container and the only thing that can identify it is its name. so if you rename object while points are loaded it will loose connection between cache and object and stops. it is limitation of blender api, the only thing that is unique about any blender object is its name.

and now… some news

Announcing version 2.0

2.0 Highlights:

  • New internal data system (uses less RAM, can hold scalars)
  • New PLY reader (faster, only fast partial loading methods) and writer (can write Binary or ASCII PLY format)
  • Ability to display larger point clouds
  • Importing LAS files via Laspy (optional install from preferences)
  • Loading and displaying scalars from PLY, LAS and ASCII based formats
  • Convert points to geometry nodes (for recent Blender 3.0 using fields)
  • Many smaller new features and more to come…

You can access pre-release alpha version right now in downloads. Zip file is addon without documentation. Install directly downloaded zip. No need to unzip before installation like with 1.x releases.

2.0 will be free upgrade for all customers.

and as usual, some more notes:

  • new scalars panel

scalars

  • reworked ascii files import to include scalars
  • render normals and bounding box (if enabled), render to exr
  • PyMeshLab (optional install) curvature and simplification filters (more to come (maybe?) and more file formats import (maybe?))
  • extra display options: ‘name’ (loaded filename at origin) and ‘in front’ (something like xray, need to be finished, does not work well with multiple clouds)
  • button to reset current pcv instance
  • some things removed: ascii guess format operator (was buggy), ascii add and import menu shortcuts

what is not yet working

  • simplify, split, join and merge filters broken (need full rewrite for scalar support)
  • all Open3D dependent things are broken (waiting for Open3D 0.14.0 release, then will be updated)

those are marked in ui like so…
fixme

there will be bugs, detailed bug reports are highly appreciated!

3 Likes

and some fun with point cloud, curvature and geonodes in new pcv

5 Likes

new 2.0 pre-release version is ready

v1.999.1

  • scalar display is now handled in shaders - faster, can be animated and rendered, added bleeding parameter to mix colors and scalar
  • whole internal shader system rewritten, any shader can use clip planes and mixing with scalar
  • added sequence “on the fly” frame ply loading - no need to preload all frames, reasonably fast with smaller files, works for render too
  • all filters updated to work with new data system and scalars
  • fix “in front” display option
  • fix export ply with scalars
  • and many smaller things…

bleeding

scalars

download again in files on blendermarket, file: 2.0-pre-release-space_view3d_point_cloud_visualizer-1.999.1.zip, zip file is addon itself, installs to blender directly

again, it is pre-release, there will be bugs, bug reports are highly appreciated!

1 Like

version 1.999.2 is available

  • blender 3.0+ only (bgl module is being deprecated, gpu module only is now used, so “Prepared for the future!”)
  • scalar color schemes
  • all new edit mode (on the inside - using mesh attributes), works with scalars, can select by scalar value, set scalar value, flip normals
  • all filters preserve scalars
  • new filters for working with scalars: Remove Value, Colorize, Add Scalar
  • render extra mask and depth pass in separate files (there seems to be no way to make multi layer file via python)
  • updated Open3D, installation right now need some extra steps, when Open3D 0.14 will be released on PyPI, i enable button in preferences for easy installing

for Open3D on macos it is something like this:

on linux/win should be similar, just download correct wheel and use correct paths for platform

point cloud to isometric pixel art?
filter > voxel grid with align to cell center, then convert > geometry nodes with the same size and without normal alignment so cubes are not rotated

1 Like

version 1.999.3 available

  • pcd format import (ascii and binary types), my own custom implementation so i consider it experimental
  • e57 format import via pymeshlab (only position, normal and color is imported), experimental as well, if you use older macos than catalina it will crash blender, linux and windows are untested yet
  • load default options in preferences for helpers (File > Import > PCV and Add > PCV)
  • added normals length in edit mode
  • fixed transfer colors to texture exception when uv is from edge to edge
  • fixed render all scene points in depth and mask passes
1 Like

1.999.4

  • install Open3d button enabled, Open3d 0.14.1 is already available on PyPI for python 3.9 shipped with blender 3.0
  • added “Remove Duplicates” filter for removing points from too dense areas or for very fast subsampling (uses SciPy, need to be installed from preferences, or it comes with Open3d)
  • added reload upon export option, so exported points can be reloaded from exported file after export
  • added convert to geonodes, number of vertices in instance mesh is calculated from instanced mesh itself
  • fixed render when some of points have in front option enabled and rendering of all points in scene is requested
  • fixed animation render not updating when some of pcv properties are animated
  • fixed sync display settings in 3d view menu
1 Like

Oh man I am so happy with the ability to display scalar fields !! Thank you so much for this amazing tool and the continued improvements :slight_smile:

Hello, I had used this add-on when it was open source. I found a lot of useful things, but in my opinion this version still lack some option like large dataset draw (above 20M it’s hard to render without crash).

Before buying the most recent version on blendermarket, I would like to know if this point has been improved, if with graphic cards hardware being improved, and new geometry node workflow of blender, and point cloud development that have been done. Is there is any way to render large dataset (between 500M to 3B points) inside of blender (with optimization like what have cloudcompare or lidarpointcloud plugin of ue4)

Thanks for your reply.

this has been solved in latest 2.0 alpha, some user was kind enough to try to load and display ~650M points real world data on 24GB gpu without problem. it renders (opengl render from pcv) as well

i would not call it workflow, if you want to use cycles for rendering, converting to geometry nodes is fast, only one vertex with attributes per cloud point is created, final mesh is computed by blender. and if you don’t like cubes, you can change it after conversion, or if you want some more editing, whole geometry nodes are at your disposal. but it is one way journey, you load points, convert to geonodes, done.

depends how much ram and gpu ram you have, pcv loads either all points or some subset if you want to, but then it need to fit all in memory. there is no octree magic. not yet anyway. pyhon is too slow for it

1 Like