我正在使用 RhinoPython 和 RhinoCommon 来尝试将面添加到现有网格。一切似乎都正常,但创建的面与我选择的点不在同一个位置。有人可以解释为什么所选点的索引号似乎不是正确的吗?
import rhinoscriptsyntax as rs
import Rhino
import scriptcontext
import rhinoscript.utility as rhutil
def AddVertices(me):
"""Add face to a mesh"""
mesh=rhutil.coercemesh(me)
#select the vertices
go=Rhino.Input.Custom.GetObject()
go.GeometryFilter=Rhino.DocObjects.ObjectType.MeshVertex
go.SetCommandPrompt("Get mesh vertex")
go.GetMultiple(3,4)
objrefs = go.Objects()
point=[item.GeometryComponentIndex.Index for item in objrefs]
go.Dispose()
if len(point)==4:
mesh.Faces.AddFace(point[0], point[1], point[2], point[3])
else:
mesh.Faces.AddFace(point[0], point[1], point[2])
#replace mesh delete point
scriptcontext.doc.Objects.Replace(me,mesh)
mesh.Dispose()
scriptcontext.doc.Views.Redraw()
if( __name__ == "__main__" ):
me=rs.GetObject("Select a mesh to add face")
AddVertices(me)