找出最优的适宜于三维打印的方位取向
利用对基于网格的几何区域的广泛支持,可轻松地对从结构性载荷到直立方位等各方面进行可打印分析.
想把模型放在平面上,给出候选方向.
显示完整的 Wolfram 语言输入
Out[1]=
![](assets.zh/find-optimal-3d-print-orientations/O_27.png)
凸包的每个面代表了一个候选方向.
In[2]:=
![Click for copyable input](assets.zh/find-optimal-3d-print-orientations/In_27.png)
convexHull = ConvexHullMesh[points];
orientations = MeshPrimitives[convexHull, 2];
highlight[convexHull, cover]
Out[2]=
![](assets.zh/find-optimal-3d-print-orientations/O_28.png)
使用质心的正射投影进一步限制候选方向.
In[3]:=
![Click for copyable input](assets.zh/find-optimal-3d-print-orientations/In_28.png)
masscenter = RegionCentroid[cover];
projection[polygon_, p_] := RegionNearest[AffineSpace @@ polygon, p];
candidates =
Select[orientations, RegionMember[#, projection[#, masscenter]] &];
候选方向之一.
In[4]:=
![Click for copyable input](assets.zh/find-optimal-3d-print-orientations/In_29.png)
Show[ncover =
TransformedRegion[cover, transform[Last[SortBy[candidates, Area]]]],
Boxed -> True]
Out[4]=
![](assets.zh/find-optimal-3d-print-orientations/O_29.png)
打印模型.
In[5]:=
![Click for copyable input](assets.zh/find-optimal-3d-print-orientations/In_30.png)
Printout3D[ncover, "Shapeways"]
Out[5]=
![](assets.zh/find-optimal-3d-print-orientations/O_30.png)