xycost 发表于 2019-1-22 15:59:39

在dynamo中使用C#

您首先必须确保输入“CustomAssemblies”输入的空列表,因为旧的默认值现在无效。其次,如果你传递任何整数,你必须确保将它们转换为Int64,因为现在它是Dynamo中的默认值:
https://discourse-cdn-sjc1.com/business6/uploads/dynamobim/optimized/3X/8/d/8d4a46c3e01933eab37d7723dab848d1363f960b_2_690x272.png

xycost 发表于 2019-1-23 08:53:25

http://teocomi.com/dynamo-unchained-1-learn-how-to-develop-zero-touch-nodes-in-csharp/

xycost 发表于 2019-1-23 10:37:17

其实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
版权声明:本文为博主原创文章,转载请附上博文链接!

xycost 发表于 2019-1-23 10:39:01

在上一篇博客中,讲了在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]
查看完整版本: 在dynamo中使用C#