本帖最后由 Jorin 于 2015-1-28 21:46 编辑
楼主理解的有点误区,当得到的最近点在 BREP 边缘上的时候,得到该边缘的序号并不是该边缘在所在 BREP 面上的序号,而是在整个 Brep 物件上所有边缘中的序号。
这个需要用 RhinoCommon 中的方法来解决,这里仅提供一个最简单的例子,没有考虑更多情况,其他情况请参考下面的做法。如图所示:
[mw_shl_code=python,true]clo=brep.ClosestPoint(point, 0.0)
type=int(clo[2].ComponentIndexType)
if type==3:
i=clo[2].Index
faceIndex=i
if type==2:
i=clo[2].Index
faceIndex=brep.Edges.AdjacentFaces()
index=faceIndex[/mw_shl_code]
|