# Creating 3D solids from a point cloud

**URL:** <https://forum.dynamobim.com/t/creating-3d-solids-from-a-point-cloud/100066>\
**Category:** Geometry\
**Created:** [April 15, 2024, 1:14pm UTC](https://forum.dynamobim.com/t/creating-3d-solids-from-a-point-cloud/100066 "2024-04-15T13:14:49Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![Daan](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/daan/32/82246_2.png) [@Daan](https://forum.dynamobim.com/u/Daan)\
**Post date:** [April 16, 2024, 12:12pm UTC](https://forum.dynamobim.com/t/creating-3d-solids-from-a-point-cloud/100066/4 "2024-04-16T12:12:12Z")

</div>

Hi @sven.deleau ,

I know the springs package ‘spring nodes’ has a node to group geometry if they lie within a specific margin from eachother. However, even if you have the curves grouped for each of the 10 geometries I don’t see how a concave hull is going to help you retrieve the geometry as a solid in a similar fashion to how they are looking right now.

Perhaps this code my help you out though:

> [@Concave Hull (Alpha Shape) from list of points with Python?](https://forum.dynamobim.com/t/concave-hull-alpha-shape-from-list-of-points-with-python/34058/11):
>
> I cleaned up the code a bit: import clr clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import Line from math import sqrt, hypot points, alpha = IN OUT = [] pLen = len(points) alpha2 = alpha \* alpha if pLen \< 2: raise Exception('AlphaShape needs at least 2 points') for i, p in enumerate(points): for j in xrange(i+1, pLen): if p.IsAlmostEqualTo(points[j]): raise Exception('AlphaShape needs pairwise distinct points') dist = hypot(p.…

---

_[View the full topic](https://forum.dynamobim.com/t/creating-3d-solids-from-a-point-cloud/100066)._
