今天就随便找个话题------聊聊IronPython与.NET Framework吧,算了,这东西比较专业,为避免说错话,还是从网上搜点专业术语贴出来吧,希望对学习Dynamo的小伙伴能有些帮助。
IronPython
IronPython只是Python语言的一种方言
编程语言带有"方言"
编程语言是通用的,但它们总是用于特定任务;也许您正在构建网站的UI或管理数百个数据库,此上下文将始终确定对于任何给定任务来说哪些功能是重要的,哪些是不重要的。
有时会衍生出一种特定的编程语言"方言",以更好地满足特定的技术要求。这些衍生语言很像人类的方言,使用相同的术语和语法,但略作修改以扩展某些功能或更好地适合其预期的上下文。
Python有几种流行的"方言",它们都是为特定的目的而构建的:IronPython是Dynamo使用的Python语言的"方言"。
IronPython针对.NET框架
IronPython专门针对.NET框架的库而设计。这非常有用,因为它使我们可以访问Microsoft的.NET库,这些库是为专业软件开发人员构建的强大而灵活的资源。还需要一个具有.NET Framework功能的Python实现(即IronPython)来与更广泛的Autodesk AEC生态系统进行对话,该生态系统可以通过C#访问API。
Trade-off是IronPython是一个开源项目,其更新与主要的Python项目无关。它的开发落后于Python,这意味着它缺少标准Python语言的一些较新功能。此外,某些流行的Python库(例如numpy)从来没有针对IronPython构建,因此无法在Dynamo中使用。最后,值得注意的是IronPython与Python 2和Python 3几乎相同,因此使用IronPython所获得的知识将可以直接转移到Dynamo之外的许多其他开发领域。
.NET Framework
.NET是Windows系统上软件开发人员的一大资源。
.NET简介
.NET Framework(发音为dot-net)是Windows操作系统的一套软件开发资源。
从Windows资源管理器到按钮和下拉菜单,基本上每个Windows应用程序都广泛使用.NET库。因此,Windows用户已经很熟悉它的许多图形元素。
该框架包含许多有用的,久经考验的库,这些库解决了一些基本(棘手的)主题,例如时区,区域,语言,位置,UI开发,网络,数据库管理等。
为什么他是相关的?
.NET Framework的库为Windows系统上的大多数应用程序开发奠定了基础。这意味着Revit,Dynamo和许多其他应用程序(例如Excel,Outlook)是使用.NET库构建的。通过使用这种通用语言,可以开发出远远超出Dynamo范围的工具,或者访问对日常工作非常有用的库:
- **在程序之间进行通信:**就Dynamo软件包而言,Rhynamo可以与Rhino,Bumblebee和Excel以及Dynaworks和Navisworks进行交互。
- 建立用户界面: .NET Framework还为用户提供了许多GUI元素资源。Dynamo流行的Data-Shapes程序包使用Windows的Winforms库创建弹出用户界面,作为Dynamo定义的一部分。
- 与Web服务进行通信: DynaServer和DynaSlack软件包都能够从Web服务器发送和接收数据。是否想将Google翻译用作Dynamo定义的一部分?这是可能的!