我有一个程序在不同的预定义几何图形之间进行插值,并输出一个CSV文件,其中包含由X Y Z列定义的点。例如:
1,5,0.2
3,4,0.2
1,5,0.3
3,4,0.3
我正在尝试将该文件导入Rhino,并且通过_interpCRV 连接具有共同Z值的任何点按照导入的顺序最终结果是我将具有相似的形状(如圆圈)在不同的Z值。之后我将不得不进一步操纵几何体,但是我很难开始第一步。提前谢谢!
答案 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分组并使用组来构建曲线。 您必须提供有关您想要的输出的更多信息,图表会很好。 问候