在Grasshopper中使用C#开发之(一)——C#调用Grasshopper中的电池
目录
前言:
1.查看所有可以调用的电池的名称
2.设置引用
3.主体代码
(1)方法1:返回列表,便于后续处理,推荐使用
(2)方法2:返回的results是object[ ] 类型,在处理有些问题时不方便,不建议使用
4.注意事项
5.参考资料
6.测试环境
前言:
我们在GH中使用C#开发时,由于有些算法在GH电池中有自带,因此调用其自身的电池可以避免重复造轮子,提升开发效率。本文用于介绍调用GH电池的方法。
1.查看所有可以调用的电池的名称
使用Rhino.NodeInCode.Components.NodeInCodeFunctions.GetDynamicMemberNames()
Rhino.NodeInCode.Components.NodeInCodeFunctions.GetDynamicMemberNames();
2.设置引用
using rd = Rhino.NodeInCode;
3.主体代码
(1)方法1:返回列表,便于后续处理,推荐使用
var func_info1 = rd.Components.FindComponent("XXX");//这个XXX从步骤1中查找原名称,忽略空格
var func = func_info1.Delegate as dynamic;
var pts = func(a, b)[0];//这个a,b是原本电池输入端,注意设置好输入端属性
B = pts;
(2)方法2:返回的results是object[ ] 类型,在处理有些问题时不方便,不建议使用
var com = rd.Components.FindComponent("XXX");//这个XXX从步骤1中查找原名称,忽略空格
if(com == null) return;object[] args = new object[]{a,b};//这个a,b是原本电池输入端,注意设置好输入端属性
string[] warnings;
var results = com.Evaluate(args, true, out warnings);B = results[0];
4.注意事项
(1)电池图上右键下拉菜单选择计算模式的只会继承第一种默认模式
5.参考资料
NodeInCode:在 C# 代码中调用 Grasshopper 自带函数(C# 电池图 / Visual Studio 解决方案)_哔哩哔哩_bilibili
如何在C#中调用Grasshopper的组件
6.测试环境
Rhino 6
Grasshopper 1.0.0007
在Grasshopper中使用C#开发之(一)——C#调用Grasshopper中的电池相关推荐
- 用cocos2d-android开发android游戏时调用box2d中的native本地函数问题
用cocos2d-android开发android游戏时调用box2d中的new World(Vector2,boolean)时,出现如下报错: "java.lang.Unsatisfied ...
- php中静态方法的调用,php中静态方法和非静态方法如何相互调用?
php中静态方法和非静态方法如何相互调用?2020-09-01 00:05:28 php中静态方法和非静态方法相互调用的方法:1.非静态方法调用静态方法: 可以[self]或者类名加[::]的形式调用 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)
前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...
- 【VMware中搭建iOS开发环境的引导工具】
最近临时接手iOS开发,在VMware 9.0中搭建了Xcode + iPhone SDK开发环境,本来打算下笔一记,但这个环境的搭建教程网上一抓一大把,bill就不再赘述了.但是bill在引导工具的 ...
- suse linux c 编译环境,SUSE 11中安装GCC开发环境
SUSE11中安装GCC开发环境 安装包下载网站:http://213.174.32.130/sles/distribution/11.0-SP1/repo/disk1/suse/x86_64/ RP ...
- 开发chrome 插件, background.js中 console log 看不到解决方法
开发chrome 插件, background.js中 console log 看不到解决方法 参考文章: (1)开发chrome 插件, background.js中 console log 看不到 ...
- C#开发Unity游戏教程之Unity中方法的参数
C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号"( )",有意义吗?看起来最 ...
- 4.1 MyEclipse中搭建Struts2开发环境
4.1 MyEclipse中搭建Struts2开发环境 (尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/5320594 ...
- 在一个空的Eclipse中安装Android开发的ADT和SDK
在一个空的Eclipse中安装Android开发的ADT和SDK 一.eclipse中安装adt插件(http://jingyan.baidu.com/article/8cdccae99b564a31 ...
最新文章
- 【Android 插件化】Hook 插件化框架 ( 从 Hook 应用角度分析 Activity 启动流程 二 | AMS 进程相关源码 | 主进程相关源码 )
- 等待多个并发事件完成的模型
- linux 下mysql命令 (授权用户 和 基本操作)
- 原生JavaScript---字符串[3]
- iOS中Block的基础用法
- 画验证曲线_椭圆曲线加密算法(ECC)
- 光伏领跑者火热前行 可靠性护航“长跑”
- html li 做瀑布流,js实现瀑布流效果(自动生成新的内容)
- cocos creator 方法数组_基于 Cocos 游戏引擎的音视频研发探索
- 翻书插件:bookblock.js
- 图解项目研发流程与制度实例
- 如何录屏制作gif图片
- 通过蓝牙连接进行ActiveSync同步
- Linux中如何查看Hadoop版本以及Java版本
- app小程序手机端Python爬虫实战11实现自动化登录考研帮app并滑动资讯信息
- 【异常】because it is a JDK dynamic proxy that implements
- Stream实践总结
- 第九周项目三小星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星星
- 图像检索中一些特征索引技术
- Python+pyc文件编译和运行