AutoCAD二次开发技术在结构施工图中的现状与展望

发表时间:2020/11/18   来源:《基层建设》2020年第20期   作者:曹吴臻
[导读] 摘要:AutoCAD二次开发技术是一种对现有AutoCAD功能进行拓展延伸的技术,有其一系列的有点,目前已有不少针对其的研究。
        中船第九设计研究院工程有限公司  上海市  200063
        摘要:AutoCAD二次开发技术是一种对现有AutoCAD功能进行拓展延伸的技术,有其一系列的有点,目前已有不少针对其的研究。但在实际的结构施工图中,使用频率仍较为低下。笔者从起步要求高、需求空间被挤压两点上分析其利用频率不高的原因,并提出了改进这些原因的方法,对其未来的发展方向构思了一定的设想。
        关键词:AutoCAD;CAD二次开发;结构施工图
        引言
        AutoCAD二次开发技术,顾名思义,是基于AutoCAD平台对其现有的功能进行扩展和延伸的技术。目前,主要有三种二次开发工具:其一是Visual LISP,其中AutoLISP是最早的AutoCAD二次开发工具,内嵌于CAD自身,相对于后二者更易于上手,但可实现功能更少;其二是VBA(Visual Basic for Application programming environment),相比于前者,它利用AutoCAD组件可以实现程序化、交互式地进行绘图操作;其三是ObjectARX(AutoCAD Runtime eXtension programming environment),这是一种面向对象的二次开发环境,可以利用C++、C#或者VB.NET语言进行编程,是目前最有力的二次开发工具,可以直接使用AutoCAD提供的程序库,也可以定义新类或者添加修改已有类。[1]
        早在二十世纪八十年代AutoCAD的早期版本中,就已提供了二次开发功能,时至今日已有几十个年头,可以说已经是一项较为成熟的技术了。国内也有不少学者,针对二次开发的优势与必要性进行了研究。然而在实际项目的施工图绘制过程中,仍然很少实际应用到此技术。下文将对此现象产生的原因进行推究,并由此找出改善目前二次开发技术应用环境的方式。
        一、AutoCAD二次开发技术的现状
        CAD二次开发技术作为研究方向之一,国内已有不少学者对其进行了研究。有的课题小组通过实际运用二次开发技术,研究出实现平法施工图绘图的实际案例,并介绍了其详细的实现过程[2];也有以VBA为二次开发工具,提出参数化绘图,解决绘图中重复工作量大,需求人力多,出图错误率高的问题,并构思了参数化绘图的总体设计思想[3];在近似的机械行业中,也有不少基于CAD展开的二次开发研究,能在弥补专业软件缺陷的同时,解决一部分后置处理工作[4]。
        从另一个角度来看,在笔者实际经历的项目设计过程中,实际所使用到的二次开发技术的使用比例仍仅占到很少的一部分。除了常用,同也是互联网上能搜到成品的数个起到简单功能的插件外,如:能起到对比两张图配筋结果区别的wpjmax、能清除图纸中三维坐标系的flatten等AutoLISP所开发的插件,而其余利用比例很低。它们的共通点在于,程序简单且不需要用户自行构思代码、基于CAD自带的AutoLISP所汇编完成、功能单一明确。
        而相比于简单快捷的LISP语言,能实现更多功能、可以利用窗口界面交互设计的VBA及ObjectARX虽然更为好用,但在实际项目中使用的经历反而较少。笔者与同事也曾自行写过一些ObjectARX开发的小插件,然而仅用于特定案例,并未推广于其他项目的图纸绘制过程中。ObjectARX由于上手难度相对较高,,一方面开发时间相对较长,另一方面局限于个人用或基于特定需求开发,并未能实现重复利用。
       
        (图一)
       
        (图二)
        (上图中,图一为AutoLISP开发界面,图二为ObjectARX开发界面)
        二、AutoCAD二次开发技术利用率低的成因
        与科研较多的成果与成熟的技术相反,实际工程中所使用的比例较低,笔者认为是基于以下几个原因:
        (1)二次开发技术起步的要求较高
        AutoCAD二次开发技术作为一门交叉学科,涉及到了专业技术知识和对AutoCAD软件实现技术两方面的内容。一方面,它要求开发者对起所准备编写的内容有着详细透彻的理解,能知晓过程中每一个结果是如何得到的。而目前的设计环境下,大批量的计算内容已经可以通过专业软件进行设计计算,通过手算进行的已属于小部分,容易仅知晓结果而对如何得出设计结果的实际计算过程反而不清楚、不明确,这样是无法进行开发设计的。
        另一方面,AutoCAD二次开发技术需要对于开发软件进行掌握。无论是最容易上手的Lisp,还是ObjectARX所利用到的c++、c#等语言,都需要一定的计算机语言基础,而这对于结构设计师而言往往是跨专业的内容,涉猎限于浅尝即止。除了对于语言自身的熟悉理解外,由于是基于AutoCAD进行的二次开发,AutoCAD有其专用的库、类和函数,对应着CAD中的图形元素或者命令,因而还需要对每种所使用到的类及函数进行理解后,方可进行编程工作。而这往往仅能通过在Autodesk的官网上搜到的英文版本帮助手册进行研究。
        此外,虽然AutoLISP内嵌于CAD可以直接打开CAD后就开始开发工作,功能较多的ObjectARX则在开发前需要根据所使用的CAD版本,安装对应版本的ObjectARX与开发环境。而不同工程师之间,往往所习惯使用的CAD版本不尽相同,以笔者公司为例,从2010到最新版本的CAD都各自有人使用,这就导致没法统一一个通用的开发环境,而仅限于个人。
        (2)二次开发插件的需求空间被其他现成软件挤压
        目前能够辅助计算、绘图的软件及插件已经为数众多,已经能满足大部分的设计需求。如前文中所提到的实现平法施工图绘图的实际案例,由于此文献撰写日期较早,目前以PKPM、yjk为首的国内主要设计软件,都已自备的施工图绘制甚至是审查功能,而且能够基于其设计结果,在满足裂缝挠度或者各项规范要求的情况下实现施工图的绘制。若是对其效果不满意,市场上也有很多专门的施工图绘制软件。其余的功能如节点计算等,探索者、理正工具箱等软件也能同时提供设计结果、计算书和施工图纸。这些市场上经历各家设计院实际使用与反馈而日趋成熟的软件,无论是效果还是泛用度上,都胜过单纯基于AutoCAD所能实现的功能。这进一步挤压了二次开发工具的需求空间,导致实际利用率的降低。
        三、改进方式与对其未来发展方向的展望
        虽然笔者前面赘述了众多导致二次开发技术目前利用率低的原因,但这并不代表着二次开发技术是一门鸡肋的技术。正相反,在明白了目前二次开发技术的现状与利用率低的原因后,也就代表着能够知道如何合理发挥这门技术的长处与优势。
        首先,对于二次开发技术起步的要求较高,且局限于个人或个别项目这点,笔者认为,可以通过以设计院为范围,成立对应的课题小组或由专门的研发部门进行研究设计。而其余的工程师,仅需提出自身的功能需求,或对所形成的成果的实际使用效果进行意见反馈,实现进一步优化。与个人分散的开发过程相反,这样可以实现一个自上而下的开发过程,节省大量的人力物力。
        其次,如前文所述,由于需求空间被其余现有的软件功能所挤压,在泛用性上有所缺乏,那么可以反其道而行之,以设计院自身的设计习惯进行设计。这也和前一点中所提到的以设计院为范围进行开发所相辅相成。由于是自上而下的开发过程,例如由院总工程师带头,可以在整个设计院内实行推广同一个标准。
        此外,在功能上,大批量的平法施工图可以通过专门软件进行批量生成,而实际项目中除了梁板柱自身外,为了实现立面效果或功能需求,还需要补充众多的节点及剖面,如:翻口、雨棚、悬挑板、井道等。一方面,这些节点往往大体类似而实际各个均不相同,但却可以通过几个变量来简单确定,非常适合二次开发技术的发挥;另一方面,各个工程师手工绘制的节点风格各不相同,可能会出现同一个项目节点却不同的情况,或者可能会出现轻视墙身节点导致设计不安全的情况。通过二次开发技术,能够实现准确化、标准化的绘制。
        也可以利用二次开发技术,对其他软件或工具的设计结果进行进一步的深化。例如,目前楼梯的绘制,以常用的理正或探索者为例,仅能实现单跨楼梯的绘制。通过二次开发技术对其进深化,可以实现整个楼梯的绘制,甚至进行进一步的优化与检查,如楼梯梁、梯柱是否与建筑的门窗有重合碰撞,净高是否能满足要求等。通过二次开发技术进行参数化设计,可以进一步减少图纸中可能出现的问题,也能够加快施工图的绘制效率。
        结语
        AutoCAD二次开发技术具有提高设计效率,缩短设计周期,提高设计质量,降低设计成本等优点,合理利用此项技术可以让人机结合,实现优势互补。在使用方便、泛用度高度现有其他软件利用频率较高的现在,通过调整二次开发技术的方向,改为基于设计院范围的标准化,并弥补现有软件缺少的功能,或对已有的功能进行深化优化,可以体现出二次开发技术的优势,进一步提高设计效率。
        参考文献:
        任爱珠、张建平. 土木工程CAD技术. 清华大学出版社,2006.
        郭亮. AutoCAD二次开发在混凝土结构施工图绘制中的应用[D]. 合肥工业大学.
        顾叶环. 基于AutoCAD二次开发的参数化绘图设计研究与应用[D].
        韩洪征,朱颖,孙琳. 基于AutoLISP数控车加工程序仿真功能开发[J]. 机械制造与自动化,2018,47(06):124-126.、
        作者简介:曹吴臻(1993-05-30),男,汉族,籍贯:上海市,当前职务:结构工程师,当前职称:助理工程师,学历:本科,研究方向:土木工程
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: