在许许多多人眼里看来,学习编程语言是计算机专业独享的"特权",但其实现如今很多学科都离不开编程,计算机也与许许多多的专业融合的越来越紧密。
我是谁?我是来自四川某院校非计算机专业的学生,所学习的专业是“又土又木”的土木工程。本来认为这个专业和编程是“八竿子打不着”的,但随着参与的大创项目等项目的不断进展,对于编程有了更多认识与了解,编程可以解决一些常规手段无法完成的任务,也可以实现提高使用软件的效率……
专业与计算机的融合
就拿我的专业来说吧,BIM(Building Information Management)技术与计算机结合相当紧密,是以建筑工程项目的各项相关信息数据作为基础,管理三维建筑模型,通过数字信息仿真模拟建筑物所具有的真实信息。简言之,就是将一个实实在在的建筑通过电脑建模1:1的表现出来,不仅包含着建筑的几何信息,更包含着大量的非几何信息,如材料特性等,对于建筑整个生命周期都有着十分重要的作用。
BIM技术具有以下优点:1、可视化;2、协调性;3、模拟性;4、优化性;5、可出图性
各个专业都在向着智能化的方面发展,学会计算机自然是当今时代对人才的基本要求。
现有软件的特点与不足
尽管现有的BIM相关的软件有很多,最被人所熟知的便是Autodesk 公司的Revit,也是我国建筑业 BIM 体系中使用最广泛的软件之一。
Revit是一种建筑信息模型(BIM)软件,它具有许多特点,使其在建筑和工程领域中非常受欢迎。以下是Revit的一些特点:
-
建筑信息模型(BIM):Revit以BIM为基础,允许用户创建精确、细节丰富的虚拟模型。这种建模方式使用户能够在设计和施工过程中更好地协作和协调。
-
三维建模:Revit支持三维建模,允许用户以可视化的方式创建建筑模型。通过三维建模,用户可以更好地理解建筑设计,预测可能的问题,并进行优化。
-
参数化设计:Revit中的对象是参数化的,这意味着用户可以通过调整参数来改变模型的属性和特征。这种特点使得修改和更新模型变得更加方便和高效。
-
组件化设计:Revit提供了丰富的构件库,其中包含了各种标准化的建筑元素和家具。这些组件可以直接插入到模型中,加快设计过程,同时确保设计的一致性。
-
自动化工具:Revit内置了许多自动化工具,可以帮助用户简化繁琐的任务。例如,自动创建楼层平面图、生成建筑元素的立面图等。
-
协作和协调:Revit支持多用户同时访问和编辑模型,使团队成员可以实时协作。此外,Revit还提供了冲突检测和协调工具,可帮助用户发现和解决模型中的冲突问题。
-
项目管理:Revit允许用户将建筑项目细分为不同的阶段,并跟踪每个阶段的进展。这有助于更好地控制项目的时间表和资源分配。
总的来说,Revit是一款功能强大的建筑设计和工程软件,它通过提供BIM支持、三维建模、自动化工具等特点,提升了建筑设计的效率和质量。
但Revit对于复杂曲面的建模显得有点力不从心,需要借助其它建模软件和插件的帮助。现在主流的建模软件有Rhino,SketchUp,3ds Max……,还有一些二次开发插件Dynamo、grasshopper等。
相关软件图标
现有解决方法
以Rhino+Revit (Dynamo数据传递、SAP2000结构分析)的模式为例
1、在Rhino中创建好不规则建筑曲面 导入Revit
2、输入U向和V向网格划分数、网架厚度等参数,通过Dynamo节点获取相应UV坐标对应的三维坐标点
3、选取(三角形)网格为基本结构单元,对三维坐标矩阵分组排列,调用(三角)网格自适应构件族,在revit概念体量中生成网架模型
4、输入荷载、约束等非几何信息,调用Dynamo导入SAP2000进行创建模型的检验
在这种解决方案中,需要操作者能够用C或者C#在Visual Stdio环境中编写相关功能节点,然后在可视化编程软件Dynamo中连接节点网络,实现最终想要功能。特别是不同软件之间数据的交互,还不是特别完善,学会编程可以方便开发相关插件或程序,提高工作者的效率与质量。
Dynamo节点操作演示
上面例子所提到参数化建模,是模型转换为网格模型的参数化。也有grasshopper为代表的参数化建模,与Dynamo一样都为可视化编程程序,也需要操作者根据项目任务的不同,编写不同的节点,连接不同的节点网络,实现不同的功能。
grasshopper节点操作演示
小结
以上就是我对于学习编程的见解,无论是学的是不是计算机专业,我觉得都要或多或少的了解一门计算机编程语言,这不仅可以提高个人思维能力,特别是对于逻辑性和严密性方面。学会编程,就是多掌握了一个得力的工具,俗话说“工欲善其事必先利其器”。计算机作为现如今广泛应用的工具,改变着我们的生活,说不定在未来的某天你我会因为编程在各自的行业中有更多发展的机会,共学共勉!