你会说我的语言吗?–AEC行业编程

| 发表于 |

威盛

在VIATechnik,我们一直在探索和分析不同的编程语言,以确定哪些工具最适合项目目标。这就是我们学到的东西。

随着数字技术在设计和建筑领域变得越来越普遍,该行业不再是 architects, engineers, and contractors. 与建筑物设计和建造有关的许多过程越来越依赖于数字技术。十年前,使用一种编程语言LISP在AutoCAD中自动化例程可能就足够了。如今,行业不断变化的动态已经出现在具有Python和C#知识的搜索专业人员中。这些编程语言对于自定义插件开发或任务自动化是必不可少的。 Autodesk无疑是云技术和应用程序开发领域的关键参与者。一个明显的例子是Forge,[1] 这有助于普及和简化AEC专用应用程序的开发。

建筑业的数字化, 随着项目复杂性和持续时间的增长, 迫使建筑专业人士 从设计转移到设计开发 应用程序和插件开发可以帮助提高行业内的效率和效力。许多 可以使用编程语言,并且 确定哪个是合适的项目可能会让人不知所措。选择正确的语言对于在尽可能短的时间内获得最佳性能至关重要。

在本文中,我们将为您概述VIATechnik认为对我们的软件工作必不可少的以下类别:Web开发,插件和外接程序开发,可视脚本,VR / AR开发以及iOS / Android开发。

Web开发

Web开发是指网站和Web应用程序的构建和维护。它是几种通过互联网交换数据的不同技术的结合。我们为什么要考虑AEC行业的Web开发?它与金属框架或电缆桥架的填充能力或线轴片的生成有何关系?

Autodesk通过Forge向Web开发迈出了一大步,该技术使公司能够利用设计和工程数据来开发自定义软件应用程序并连接工作流程。通过Web开发,可以与公众,利益相关者和设计专家共享建筑信息模型。为了使用可通过互联网进行通信的用户界面来设计任何东西,开发人员将使用Javascript和Python。图1显示了一个现代的数字设施管理Web应用程序。

Revit到网络
图1.数字设施管理Web应用程序,照片来源:VIATechnik

JavaScript。 根据东北大学的最新研究,[2] Javascript是2020年最受欢迎的语言之一。许多框架都是基于Javascript构建的。现在它’是一种现代,功能齐全且非常灵活的语言。 Javascript提供了绝大多数免费的开放源代码用户界面(UI)和用户体验(UX)库。

Javascript开发人员可以使用Microsoft身份验证库,Uber映射库,Google UI组件,Facebook的渲染框架和Netflix后端服务器设计。这一切都由大型公司维护,并有足够的资源来做到这一点。 Javascript开发人员可以构建可以充当网站但还可以离线缓存和存储数据的后端服务器,网站前端和Web应用程序。

例如,某些应用程序允许用户在3D真实世界地图上规划并汇总建筑物的粗略形状,然后进行能耗和成本分析。

Python。 高级软件工程师兼网站Coding Skills的所有者Artur Yolchan说:“ Python可能会成为2021年开发人员最喜欢的编程语言。”[3] 它是全球五大编程语言之一,也是世界上增长最快的主要语言。[4] 由于对机器学习和数据科学的适应,Python的增长在过去五年中飞速增长。

Python的通用目的是服务器端编程。它直接与服务器端的文件系统一起使用。开发人员可以利用其所有功能来分析数据,不仅用于机器学习,还可以用于BIM数据处理,数学和分析领域。它为幕后的网站完成了所有这些工作。 Dice是技术职业领域的领先网站之一,正在预测2021年对Python的兴趣会增长。

加载项和插件开发 

插件甚至可以自动化,自定义和扩展最强大的BIM平台。在VIATechnik的 卷云工作室,我们的团队一直在致力于各种Revit自动化和数据管理插件。任何BIM经理,架构师,工程师或积极的用户都可以创建自定义插件。 (注意:Revit API是在.NET Framework上构建的,因此该平台的任何语言都将有用。).NET是一个免费的,跨平台的开源开发人员平台,用于构建各种类型的应用程序。

C#。 C#是该领域的不错选择,因为它用途广泛,并适用于其他编程领域。它与Microsoft的.NET软件框架完全集成,该框架支持Windows,浏览器插件和移动设备的应用开发。 C#提供了共享代码库,大型代码库和各种数据类型。

使用C#,开发人员可以制作包含不同命令的自定义Revit工具栏,以自动执行日常任务。它还允许开发连接不同平台(例如Salesforce,Procore和Bluebeam)的应用程序。

视觉脚本

尽管Dynamo和Grasshopper不是编程语言,但值得一提。在过去的几年中,人们对可视化编程的兴趣日益增长,这一点令人难以忽视。对于不想编码的设计师来说,它们既方便又强大。在Dynamo中,常规节点符合视觉脚本的基本知识水平。中级用户可以使用其他人创建的程序集,其中的代码可以已经写入节点中。但是,更复杂的任务需要复杂的脚本和丰富的编程经验。在高级级别上,用户可以使用Python编写代码并获得对API的访问权限,并且与那些经验丰富的开发人员处于同一领域。

Python。 Can’找不到您需要的Dynamo节点?使用Python,您可以创建功能强大的自定义节点,以扩展Dynamo的功能并更快,更智能地解决Revit建模难题。它提供了更多可实现的方法来编写条件语句(if / then)和循环。它还使您可以用几行简洁的代码替换许多节点。

发电机
图2.用于MEP协调的Dynamo脚本,照片来源:Slava Krel(VIATechnik)

Rhino用户也可以使用Python,因为Python在Windows和Mac版本的Rhino上均可运行。由于两个平台都具有Rhino Python脚本,因此相同的Python脚本可以在两个平台上运行。

VR / AR开发

增强现实(AR)和虚拟现实(VR)现在可供日常使用。  像Web开发一样,VR / AR开发结合了多种不同的技术。但是,开发人员可以使用AR / VR查看器并构建应用程序,从而可以将BIM360,Revit和Navisworks中的任何3D模型显示在手中,并且支持AR的智能手机或平板电脑。

图像处理是另一个可以在不久的将来为AEC行业带来最大价值的领域。图像处理机器学习分为三个级别:

  1. 图片分类,您可以在其中大致分辨图片中的内容
  2. 对象检测,您可以在其中围绕图像绘制边界框
  3. 图像遮罩,可以在其中获得图像的确切轮廓

开发人员可以训练自己的模型来检测构造对象,从而使他们能够自动进行现场质量控制。

图片3.对象检测图像处理,照片来源:Slava Krel(VIATechnik)

C#。 根据SlashData的说法,C#是AR / VR开发人员中最流行的编程语言。[5] 它广泛用于开发使用最受欢迎的游戏引擎Unity的游戏。它可以在Mac和PC上运行,并且 several VR应用程序是使用C#创建的。 Unity的平台可与Autodesk Forge AR / VR工具套件一起使用。

iOS / Android本机应用程序开发

由于皮尤研究中心发布的智能手机所有权和使用率百分比[6] 每天都在增长,因此在不久的将来针对移动设备进行编程可能会非常有价值。在这种情况下,编程语言由平台决定。

科特林。 Android开发需要Kotlin编程语言。骰子报告指出,“在2018年末,对Dice数据的分析发现,提到的职位发布数量‘Kotlin’自2017年第二季度以来飞涨,这与Google宣布Kotlin正式成为Android的一流语言大致相符。”[8]

迅速。对于iOS平台,越来越多的开发人员选择Swift作为编程语言。[9]不幸的是,Objective-C不再是一种选择。根据相同 Tiobe index,[7] 每年,Objective-C的知名度都在下降。

可以通过以下方式制作跨平台解决方案 React Native,JavaScript 框架,可以在Android和iOS上使用,但始终会受到限制。适用于移动设备的跨平台解决方案永远不会胜过本机应用程序。

许多有用的移动应用程序可以通过管理打印,打孔列表和其他项目问题来提高项目生产率。

图4.预制解决方案Android应用程序,照片来源:Slava Krel(VIATechnik)

尽管编程本身对大多数人来说变得越来越容易和易于使用,但是新的语言正在取代大型的和过时的语言。许多作品都融入了现代应用程序中,而不是“按一下按钮”。

随着BIM项目的复杂性不断提高,没有模型数据管理或重复性的任务自动化就很难实现。软件开发扩展了BIM,并为已经以BIM方法启动的AEC公司提供了工作流自动化和优化的解决方案。掌握代码以及这些语言的功能以及如何将其组合为有效的产品,是BIM未来成功之道的关键。

关于作者

斯拉瓦·克雷尔(Slava Krel) 是VIATechnik的高级VDC工程师。 Slava专门从事MEPF BIM协调和Scan-to-BIM工作流程。他利用从概念到构造的数据流理解。在过去的几年中,Slava一直跟随着他对AEC行业的应用程序开发,编程和脚本编写的热情。 

威盛电子

威盛电子是全球领先的 BIM服务 虚拟设计和施工,其使命是将设计和施工的模拟世界转变为数字平台,从而实现高效的设计,工业化施工和数字房地产服务模型。通过这种转变,我们相信我们可以解决全球住房和基础设施方面的挑战,并提供能够孕育生活,商业和人际关系的空间。通过以下网址访问我们 viatechnik.com.

链接:

[1]//forge.autodesk.com/

[2]//www.northeastern.edu/graduate/blog/most-popular-programming-languages/

[3]//insights.dice.com/2020/12/09/5-programming-languages-that-will-dominate-2021-python-go-more/

[4]//www.tiobe.com/tiobe-index/

[5]//apply.workable.com/slashdata/?lng=en

[6]//www.pewresearch.org/global/2019/02/05/smartphone-ownership-is-growing-rapidly-around-the-world-but-not-always-equally/

[7]//www.tiobe.com/tiobe-index/

[8]//adtmag.com/articles/2019/06/25/kotlin-climb.aspx

[9]//www.businessofapps.com/insights/heres-why-you-should-plan-your-next-ios-app-with-swift/

分享这个

继续使用本网站即表示您同意使用cookie。 更多信息

该网站上的cookie设置被设置为“允许cookie”,以便为您提供最佳的浏览体验。如果您继续使用本网站而不更改Cookie设置,或单击下面的“接受”,则表示您同意。

关闭