问题引入:在用rhinopython时,总发现rhinoscriptsynax这个库里的函数和rhinocommon有重复,这是为什么?
答:rhino的架构如下,简单三句话:
- 在底层,rhino是基于c++和openNURBS开发的;
- 在中层,C#为了实现一次开发,多平台(windows、mac等)使用,将底层代码打包成rhinocommon这个库;
- 在上层,grasshopper和pythonscript都是基于rhinocommon进行开发,因此,我们会发现ironpython调用的库rhinoscriptsynax里的函数和rhinocommon很像,因为这个库就是rhinocommon的套壳,同理,grasshopper里的电池本质也都是将rhinocommon的函数打包而已。
补充1:gh和ironpython因为都是在间接调用rhinocommon,因此速度都很慢。
补充2:gh和ironpython本质就是个插件,格式大概是rh