0

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

1,5,0.2

3,4,0.2

1,5,0.3

3,4,0.3

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

4

1 回答 1

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 分组并使用这些组来构建曲线。您必须提供有关您想要的输出的更多信息,图表会很好。问候

于 2016-03-18T00:07:35.117 回答