分享 --- GhPython开始支持以函数调用GH电池及多线程

[复制链接]
跳转到指定楼层
2343127 Jorin 发表于 2013-12-14 10:31:05 楼主
本帖最后由 Jorin 于 2013-12-14 10:53 编辑

本周开放下载的 ghPython 0.6.0.3 增加了一些激动人心的新功能:

最主要的新增功能有两个:

1.可以直接以代码的形式调用GH的电池函数。这样你就可以在代码中以函数的形式访问自己熟悉的电池了。

调用方法如下:
# 导入GH组件(电池)库
import ghpythonlib.components as ghcomp
# 以输入点为参数访问 Voronoi 组件
curves = ghcomp.Voronoi(points)
# 从 Voronoi 组件输出的曲线作为 Area 组件的输入参数访问 Area 组件
centroids = ghcomp.Area(curves).centroid

2.支持多线程计算。

下图中两个电池功能是完全相同的,从图中可以看到,在测试用的四核计算机上,使用GHpython的多线程计算,速度提高了三倍。


更多信息,请参考:http://stevebaer.wordpress.com/2013/12/11/ghpython-node-in-code/
Rhino Python 入门请参考:跟我读RhinoPython  101 系列视频教学
GHpython下载,请访问:http://www.food4rhino.com/project/ghpython

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享分享2
关于大陆地区Rhino原厂培训中心
 楼主| Jorin 发表于 2013-12-16 22:33:18
2
infinite 发表于 2013-12-16 12:44
跟我读RhinoPython  101 系列视频教学好久没更新了

请耐心等待。
 楼主| Jorin 发表于 2013-12-29 00:55:31
3
claudemit13 发表于 2013-12-27 18:54
请问怎么在GhPython中自己添加扩展库,比如numpy

像在普通python下安装那样的方式安装好,然后把C:\Program Files (x86)\Rhinoceros 5\Plug-ins\IronPython\Lib\site-packages下面你安装好的文件拷贝到C:\Users\Jorin\AppData\Roaming\McNeel\Rhinoceros\5.0\Plug-ins\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)就好了
以上是在我电脑上的路径,和你电脑上的路径对应起来解决。
numpy没安装测试过,我刚用手头有的django测试了,这种方法是完全可行的。
 楼主| Jorin 发表于 2013-12-31 09:02:03
4
claudemit13 发表于 2013-12-30 23:56
通过远程协助,终于在ironpython 2.7上装好numpy,测试可用
在rhino的python tool option 那里链接到num ...

这样肯定不行啊。把ironpython下面的ipy.exe等四个可执行文件拷贝到C:\Program Files (x86)\Rhinoceros 5\Plug-ins\IronPython下面,然后按照同样的方法安装。
 楼主| Jorin 发表于 2013-12-31 09:05:37
5
claudemit13 发表于 2013-12-30 23:56
通过远程协助,终于在ironpython 2.7上装好numpy,测试可用
在rhino的python tool option 那里链接到num ...

虽然RhinoPython是基于Ironpython的,但是用的时候调用的是Rhino目录下的ironpython,而不是你自己安装的ironpython,你得把numpy安装到rhino的ironpython,你的操作仅仅是安装到了你自己装的ironpython里面,当然就不能调用了。
 楼主| Jorin 发表于 2013-12-31 22:42:16
6
claudemit13 发表于 2013-12-31 12:17
把ironpython下面的ipy.exe等四个可执行文件拷贝到C:\Program Files (x86)\Rhinoceros 5\Plug-ins\IronPy ...

刚刚用numpy测试了一下,确实不行,这应该与使用ironpkg安装有相当大的关系,不像django,直接就安装上去了。我尝试通过MinGW的编译器以build的方式安装也没有成功。google了一下,看起来很多人在visual studio环境下用numpy这个库也出现同样的问题。
 楼主| Jorin 发表于 2014-1-6 17:01:49
7
本帖最后由 Jorin 于 2014-1-6 17:03 编辑
claudemit13 发表于 2014-1-1 23:31
那么有没有在GhPython中可以用的别的科学计算类工具?

终于在RhinoPython中导入成功了。我做的过程是这样子的:
在Ironpython中成功安装好numpy后,一定要在RhinoPython的Tools\options\model seach path中添加Iron Python 2.7根目录下的DLLS路径。一运行,又出现问题了,“No module named mtrand”,然后在代码最前面用公共运行时clr 中的AddReference函数引用mtrand,就正确了。引用mtrand的方法是
import clr
clr.AddReference("mtrand")
在这之后导入numpy使用,就没问题了。
 楼主| Jorin 发表于 2014-1-7 22:18:23
8
claudemit13 发表于 2014-1-7 21:53
奇怪,在model seach path中添加C:\Program Files (x86)\IronPython 2.7\DLLs,选择了5 files open at st ...

“Could not add reference to assembly mtrand”
出现这个错误不是numpy安装好没安装好的问题,看起来就像是DLLs没成功导入。
导入进去你用 Reset script engine 重置一下编辑器试试。
 楼主| Jorin 发表于 2014-1-9 10:23:59
9
claudemit13 发表于 2014-1-8 18:50
会是我安装的是x64的rhino的问题么,还是如此报错

嗯,要在64位Rhino中用numpy,首先要确保能够在IronPython Console (64-bit)  中能够用numpy。但是,貌似没办法在64 位 Ironpython中用。
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则