Tweetable: “ProsthesianScan by @amy_friedmann customize your 3d prints biometrically”
As stated in my ofxAddon project I aim to utilized the 3d scanned mesh/point cloud data from the Kinect to create customizable prosthetics. The mesh is imported into Rhino and called upon as the driving force for the customized object. With each new insert the object is transformed based on the mesh and randomized spherical sizing. I was going to trying to combine an exterior mesh and the interior 3d scanned mesh, but had trouble combining the two into a water-tight object. Currently the mesh is turned into a point cloud or a point cloud can be loaded and used to inform the shape. I will add more form additives, but I struggled with what way to go with the designs, and how to apply elements to a preexisting object or have the object subtract itself from the form. I want to push this further, this is only the beginning.
import rhinoscriptsyntax as rs
import random
def drawObjects():
#get mesh to be used
objs = rs.GetObjects("Select mesh object", rs.filter.mesh, True)
if not objs: return
#offset mesh for better fitting
#offset = rs.GetInteger("offset mesh by",3,3,8)
#rs.MeshOffset( objs, offset)
vertices = rs.MeshVertices(objs)
if vertices:
pointcloud=rs.AddPointCloud(vertices)
points = rs.PointCloudPoints(pointcloud)
if points:
for point in points:
#print point
#for xn in range (0, points.length)
rad = random.randint(0,2)*.95
rad = rad*(.85)
x= point[0]
y=point[1]
z=point[2]
pt = (x,y,z)
sphere = rs.AddSphere(pt, rad)
rs.EnableRedraw(False)
drawObjects()
rs.Redraw()
Github Repository can be found here.