如何使用Python将CSV文件导入Rhino并使用interpCRV命令连接点

时间:2016-03-05 18:33:26

标签: python csv rhino rhinoceros

我有一个程序在不同的预定义几何图形之间进行插值,并输出一个CSV文件,其中包含由X Y Z列定义的点。例如:

1,5,0.2

3,4,0.2

1,5,0.3

3,4,0.3

我正在尝试将该文件导入Rhino,并且通过_interpCRV 连接具有共同Z值的任何点按照导入的顺序最终结果是我将具有相似的形状(如圆圈)在不同的Z值。之后我将不得不进一步操纵几何体,但是我很难开始第一步。提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法从txt导入点:

def ReadPointsDef(filename):

if not filename: return

#read each line from the file
file = open(filename, "r")
#list of lines
contents = file.readlines()
#contents = [line.rstrip('\n') for line in file]
file.close()

# points=[]
points3d = Rhino.Collections.Point3dList()
for text in contents:
    items = text.strip("()\n").split(",")    
    if len(items)==3:
        x = float(items[0])
        y = float(items[1])
        z = float(items[2])
        points3d.Add(x,y,z)

#contents = [__point_from_string(line) for line in contents]
#return points
return points3d

然后在任何地方使用,例如:

points = ReadPointsDef("C:/Users/UsuarioStd/Documents/points.txt")
interCurve = rs.AddInterpCurve(points,3,4) 
rs.ObjectColor(interCurve, [255,0,0])#rojo

您必须按Z分组并使用组来构建曲线。 您必须提供有关您想要的输出的更多信息,图表会很好。 问候