在dynamo中使用C#
您首先必须确保输入“CustomAssemblies”输入的空列表,因为旧的默认值现在无效。其次,如果你传递任何整数,你必须确保将它们转换为Int64,因为现在它是Dynamo中的默认值:https://discourse-cdn-sjc1.com/business6/uploads/dynamobim/optimized/3X/8/d/8d4a46c3e01933eab37d7723dab848d1363f960b_2_690x272.png
http://teocomi.com/dynamo-unchained-1-learn-how-to-develop-zero-touch-nodes-in-csharp/ 其实Dynamo的Python Script就是一个很强大的可扩展的IronPython工具。我们知道IronPython可以很方便的引用dll文件。用过Unity3D的人也知道它可以很好的兼容C#和JavaScript,其实核心原理就是用的Python语言的强大的可扩展性。
回头来看,Dynamo的Python Script强大可扩展性也可以借此发挥。
这里直接用一个例子来说明。
首先来一个Visual Studio环境下生成的dll文件。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CalcLib
{
public class Calc
{
public int Add(int a, int b)
{
return a + b;
}
public int Sub(int a, int b)
{
return a - b;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
接下来把dll文件放在Dynamo默认的文件夹中,接下来开始写我们的Python Script。最后结果如下:
是不是突然茅塞顿开,觉得Dynamo可以有无限可能,比如和数据库、web等等都可以联系起来,虽然Dynamo的节点很多,但远远满足不了要求。
---------------------
作者:niuge8905
来源:CSDN
原文:https://blog.csdn.net/niuge8905/article/details/78073221
版权声明:本文为博主原创文章,转载请附上博文链接!
在上一篇博客中,讲了在Python Script中导入任意的dll文件,那么很自然的,如果dll文件当中包含winform窗口的类,自然可以在Dynamo中用上Revit二次开发用得顺手的窗口。
上篇博文:http://blog.csdn.net/niuge8905/article/details/78073221
这里就直接演示和窗口关联起来的类,以及最终在Dynamo中的显示效果。直接修改一下上篇博文的类(这里要加载一个Form1窗口类):
接下来是在Python中怎么利用这个类:
看看最终效果:
---------------------
作者:niuge8905
来源:CSDN
原文:https://blog.csdn.net/niuge8905/article/details/78075246
版权声明:本文为博主原创文章,转载请附上博文链接!
页:
[1]