请选择 进入手机版 | 继续访问电脑版

[Python] 【已解决】求教一个关于python树形数据的问题

[复制链接]
21368 a80983672 发表于 2016-8-3 15:17:44 楼主
本帖最后由 筑梦NARUTO 于 2016-8-4 16:27 编辑

请问这这种问题怎解决
QQ截图20160803151659.jpg
关于大陆地区Rhino原厂培训中心
筑梦NARUTO 发表于 2016-8-3 17:12:29
2
上传代码,你这个创建树形数据的时候,类型是设置的Polylinecurve,而你穿进去的参数类型是guid,所以需要转换一下,用rs.coercecurve()系列函数转换一下类型
 楼主| a80983672 发表于 2016-8-3 17:25:46
3
from ghpythonlib.components import EdgeSurface
from Grasshopper import DataTree
from Rhino.Geometry import PolylineCurve
from Grasshopper.Kernel.Data import GH_Path
import rhinoscriptsyntax as rs
n=len(x)
b=y
i=0
L1=DataTree[PolylineCurve]();L2=DataTree[PolylineCurve]()
LS1=[];LS2=[]
for i in rs.frange(0,n-1,1):
    ls1=rs.OffsetCurve(x[i],[0,0,0],b)
    ls2=rs.OffsetCurve(x[i],[0,0,0],-b)
    LS1.append(ls1[0])
    LS2.append(ls2[0])
L1.AddRange(LS1,GH_Path(0))
L2.AddRange(LS2,GH_Path(0))
 楼主| a80983672 发表于 2016-8-3 17:27:28
4
本帖最后由 a80983672 于 2016-8-3 17:28 编辑
  1. from ghpythonlib.components import EdgeSurface
  2. from Grasshopper import DataTree
  3. from Rhino.Geometry import PolylineCurve
  4. from Grasshopper.Kernel.Data import GH_Path
  5. import rhinoscriptsyntax as rs
  6. n=len(x)
  7. b=y
  8. i=0
  9. L1=DataTree[PolylineCurve]();L2=DataTree[PolylineCurve]()
  10. LS1=[];LS2=[]
  11. for i in rs.frange(0,n-1,1):
  12.     ls1=rs.OffsetCurve(x[i],[0,0,0],b)
  13.     ls2=rs.OffsetCurve(x[i],[0,0,0],-b)
  14.     LS1.append(ls1[0])
  15.     LS2.append(ls2[0])
  16. L1.AddRange(LS1,GH_Path(0))
  17. L2.AddRange(LS2,GH_Path(0))
复制代码


筑梦NARUTO 发表于 2016-8-3 19:21:05
5

上传gh文件呀,那个x是啥?我不知道我也不好测试呀。
 楼主| a80983672 发表于 2016-8-3 23:02:36
6
筑梦NARUTO 发表于 2016-8-3 19:21
上传gh文件呀,那个x是啥?我不知道我也不好测试呀。

x就是几条pline线
筑梦NARUTO 发表于 2016-8-4 10:53:52
8

用了两种方法,你打开文件看看吧,还有尽量不要调用gh的电池做,容易出现bug
QQ截图20160804105948.png

upload.zip

9.92 KB, 下载次数: 81

 楼主| a80983672 发表于 2016-8-4 11:56:32
9
筑梦NARUTO 发表于 2016-8-4 10:53
用了两种方法,你打开文件看看吧,还有尽量不要调用gh的电池做,容易出现bug

多谢解答
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则