Rhpython中如何隐藏一系列点

请教一个rhinopython的问题,我在Python中以tuple(x,y,z)的形式在rhino中生成了一系列点,并且把他们都append到了一个list里面,我后面想把这个list里的所有点隐藏掉,或者删掉,但是删除对象必须是guid,我有什么办法可以把这些tuple组成的list一起隐藏或者删除掉呢?
简而言之,就是我想要隐藏之前生成的一系列point,但是这些点的type都是3Dpoint,不是guid。在这种情况下改怎么在Python中隐藏?

代码发上来。

Point3d 本身是不会显示在场景中的,目前还看不到你是用什么方法把点生成到场景中的,但只要显示在场景中就一定有 GUID。

import rhinoscriptsyntax as rs

ptList = []
for i in range(10):
for j in range(10):
x = i
y = j
z = 0
ptList.append((x,y,z))
rs.AddPoint((x,y,z))

rs.AddTextDot((i+1)*10-(10-j), (x,y,z))

attractor = rs.GetPoint(‘select a point’)
for i in range(len(ptList)):
distance = rs.Distance(attractor, ptList[i])
circle = rs.AddCircle(ptList[i], distance/25)

ptList2 = []
for i in range(10):
for j in range(10):
x = i + 10
y = j
z = 0
ptList2.append((x,y,z))
rs.AddPoint((x,y,z))

rs.AddTextDot((i+1)*10-(10-j), (x,y,z))

crvID = rs.GetObject(‘select a closed curve’, rs.filter.curve)
center = rs.CurveAreaCentroid(crvID)[0]
for i in range(len(ptList2)):
translation = (ptList2[i][0] - center[0], ptList2[i][1] - center[1], ptList2[i][2] - center[2],)
newcurve = rs.CopyObject(crvID, translation)
rs.RotateObject(newcurve, ptList2[i], i/2)
rs.HideObject(ptList)

image

你的 ptList 里面保存的仅仅是点的坐标而已,而下面的 rs.AddPoint(x,y,z) 才是真正把点添加到场景中的关键一行,AddPoint 函数的返回值就是场景中点的 guid。所以你的 ptList 应该保存的是 AddPoint 的返回值 guid ,而不是只保存几个坐标值。

另外,贴代码请参考下面的帖子格式化一下代码:
代码格式化方法

ok好的,谢谢!