Jenna3
(Jenna)
April 4, 2025, 9:23am
1
Hi all, I’ve been given point cloud scans of trees and I need to draw their centrelines.
Usually I just do this by hand in Rhino, but was wondering if it would be possible to automate this in Rhino/Grasshopper instead.
I’ve attached the Rhino file with the point cloud below. This is what it looks like:
Thanks in advance!
point cloud - tree.3dm (12.2 MB)
Hello
you could look at that.
A new Cockroach version for Grasshopper has been released and uploaded on Food4Rhino. The plugin is compiled for Windows Rhino 6 and 7.
This time we also open-source the full code of Cockroach, which employs three libraries: Open3D, CGAL, Cilantro. All of the C++ libraries are correctly cited and follows necessary license agreements. The Cockroach plugin provides wrappers for the .NET via PInvoke. GitHub - 9and3/Cockroach: A plug-in for Rhino point cloud post-processing and meshing
The goal …
Dear @laurent_delrieu
I would like to ask about this old script of yours about mesh curve offset:
I found its use by computing medial axis similar to this post:
Do you think there is a faster method to compute curve offset or somehow optimize your script?
Currently it takes a few seconds to compute:) Any ideas would be very helpful.
Also maybe you C# version instead of VB?
[MedialAxis]
MedialAxis.gh (44.1 KB)
[MedialAxisField]
brvdln
(Brv)
April 4, 2025, 9:40am
3
this could be a way.
I started from a surface, but you should reconstruct the surface from the point cloud
Area_contorno.gh (89.8 KB)
Just basic components do the job fine:
selected all points
3D convex hull
bounding box (to find a diagonal line close to center)
contours of convex hull (what is a mesh)
area to find center(s)
interpolate to create curve
extend a bit to have all cloud
center of point cloud tree scan.gh (322.8 KB)
Hi, NOT saying at all this is “the” automated answer, but I thought it could be fun.
Divide the “Z” values of your points into domain sections:
Get the ‘average’ point of each one of these point groups (you could also use the bounding box centers) and connect them:
You could also fit a line through the original points to create a new plane whose Z vector is the line itself and use that as your “more local” coordinate system for the “Z’s” of your points:
polyline-through-pts.gh (349.5 KB)