APP下载

Lisp程序语言在室外管网综合方面具体实现和运用

2015-10-21吴耀懿王炜

建筑工程技术与设计 2015年19期

吴耀懿 王炜

【摘要】 针对当前室外管网综合设计复杂化精细化的发展趋势,本着大道至简的原则,探索采用LISP程序语言进行室外管网设计,提升设计质量和效率的途径。

【关键词】 LISP;BIM;室外管网综合

一、 引言:

随着工业技术和生活水平的提高,室外管线的种类越来越多,对室外管线设计的要求就越来越高。室外管网不仅仅需要在平面上按照相关的规范规程进行综合排布,还需要在竖向高度上进行精心安排,才能在有限的空间合理组织各种管线的布置。而这种需求必然要求设计师拥有比较强大的软件来进行室外管线设计的工作。然而目前国内许多设计机构在管线综合方面主要靠手工综合,而且竖向标高的碰撞上面基本不进行设计,都是靠施工单位在施工现场根据实际情况自行避让。这样导致室外管网排布的混乱,既不规范,甚至带来安全隐患等因素。往往发生拆了又建,建了又拆,很难统筹管理,后期维护困难等问题。

上面的情况一再发生,无论是地方政府还是设计单位、业主等都越来越意识到室外管网合理规划,统一综合设计的重要性和必要性。而且手工进行综合设计已经难以胜任这样的工作,迫切需要强大的软件进行辅助设计。

目前能进行室外管网综合的软件主要有一些国产软件和AutoDesk公司的Revit系列软件,但是一些国产软件使用繁琐复杂,难以满足设计师的需求,而Revit这样的BIM软件虽然在管线碰撞等方面很有优势,但是对硬件要求高,需要专门培训,使用起来也比较复杂。因此,开发出真正适合管网综合的程序就显得很有必要。

二、 LISP和 BIM的简介:

LISP(LISt Processor,即列表处理语言),由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言。可以说Lisp语言抽象复杂却又大道至简,它的主要的特点:1代码量小,2功能全,3易扩展。

AutoLISP是由Autodesk公司开发的一种LISP程序语言,嵌入在AutoCAD内部,具有智能的特点的编程语言。通过AutoLISP编程,可以节省工程师很多时间。AutoLISP程序语言在室外管网综合方面得天独厚的优势。

近几年BIM技术的方兴未艾,室外管网综合的性质决定了它比较适合采用BIM技术。现在主要使用的BIM软件有:AutodeskRevit Architecture,AutodeskRevit MEP,AutodeskRevit Structure,AutoCAD Civil 3D等。

在处理管道方面,主要有AutodeskRevit MEP和AutoCAD Civil 3D。然而上述各种BIM软件都擅长各自的领域,对于室外管线这块虽然均有涉及但是不够深入,而且软件过于复杂,对使用者要求较高,需要专门培训后方可上手。且上述软件对硬件要求也比较高,建模比较麻烦,使用他们做室外管网综合设计,费时费力,还难以得到满意的结果。

三、 采用Lisp解决室外管线的优势:

1. 节省开发时间,人力成本低。不需要掌握和精通Autodesk专门的bim软件,也不需要具备像C++这样大型开发软件的功底,Lisp语言短小精悍,入门容易。通常的说法是一行lisp代码大约能替代30行c++代码。采用Lisp这样的高阶语言,开发周期能明显缩短。

2. 采用Lisp语言开发,对硬件要求不高。比如笔者开发的室外管道综合程序,对1000个复杂节点的计算,配备酷睿i3CPU的机器,使用未经优化的lisp程序大约5分钟完成计算。对比Civil 3D ,Revit, MEP等软件配置要低得多。

3. LISP语言的可靠性。Lisp是解释性语言,在Auto CAD里面是用AutoLisp來实现。Lisp天生自带的垃圾回收机制以及它的解释性语言的本质就决定了它的安全性,如果不是故意为之,哪怕是初学lisp的新手写的lisp程序,都不太可能造成AutoCAD的崩溃。现在Autocad下的开发工具主要有Autolisp、ObjectARX、VBA。这三种软件之中以Lisp最可靠也最简单。对广大非计算机行业的工程师来说,Lisp是最佳选择。

4. LISP动态修改性。Lisp是一门动态语言,随时运行随时修改。如同画布画画一般,不满意的地方随时修改。比如管道之间的间距因为施工时考虑到操作方面的原因,需要略微放大管道的间距,仅仅需要调整一下一个变量的数值即可。程序不需要重新启动重新运行。

5. 时间成本:举个例子,一个10万平米用地的小区的室外管线竖向交叉点碰撞综合,在不使用软件的情况下,需要建筑或者总图专业、给排水专业、电力、电信、燃气、热力等专业一起综合3到5天。采用软件后,用软件建模型的时间大约1天。软件计算交叉点的过程数分钟而已,时间可忽略不计,碰撞调整的时间大约半天足够。比较起来时间大幅缩短。

6. 一次性程序的优势:所谓一次性程序就是针对某个命题某个目的编写的程序。Lisp是最适合用来写一次性程序的语言和工具。在我们碰见的各种各样的设计案例中,总有这样那样的特别要求,设计师从事的设计,从这个角度上来说,永远没有相同的东西,不是规格化模块化的大生产。所以能适应各种各样的管线设计的程序,也必然是多样性的、便于修正的。在笔者经历的很多项目中,往往会针对一个项目新编写或者修正一个程序,以达到软件真正为项目服务的目的。就这一点而言,lisp写成的程序,跟很多软件公司给定的程序有天壤之别。我们写的程序是为项目而定制,代价极小,可能只需要半个小时到数小时就能调整出一个适应某个项目的程序。而一般软件公司的程序,需要你去学习它,适应它,甚至需要去培训数天。因此,lisp开发的程序的优势就非常非常明显。

四、 Lisp构建室外管网综合具体实现的主要技术:

1. 管道模型的建立:管道可以用直线或者三维实体建立,将管道的类型、标高、坡度等信息附着在管道模型上,以便计算和调整使用。附着的方式有很多,数据词典、扩展数据等都可以。下面举例采用数据词典技术,将一个直线的句柄附着在一个圆的图元上:

(setq cir (entlast))

(setq cir (vlax-ename->vla-object cir))

(setq line(car(entsel ”select a line”)))

(vlax-ldata-put cir "Line1" line)

2. 反应器技术:AutoLisp提供了一个很方便使用者的技术:反应器。反应器是附加到CAD图形对象上的对象,如果用户改变了该图元,应用程序将通过反应器接收该图元被改变的信息,从而使图元发生某种用户所期望和设置的变化。下面举例说明数据库反应器的一般用法:

(setq circleReactor

(VLR-Pers (vlr-object-reactor

(list Circle1) nil '((:vlr-modified . Function1))

)))

上面的程序段创建了一个永久反应器,并附着在图元Circle1上,当图元Circle1发生改变,比如位置变化、大小变化或者颜色变化等,都将触发反应器的回调函数Function1, Function1程序段里放置用户设置好的变化程序。

3. 管道的碰撞和是否符合规范的检测:程序遍历各种管线,根据附着在管线上的数据:比如管道起点终点标高、管道直径、材质厚度、保温层厚度等数据,计算出管道之间是否碰撞,以及管线之间的水平间距、竖向间距是否满足《城市工程管線综合规划规范》的要求。

4. 管道的调整方案建议:程序根据管线的数据,对发生碰撞和不符合规范的管道,提出调整建议,比如将居于某管线上方的管道往上调整20CM就可以躲避碰撞和满足规范要求。程序给出不同的调整方案,提供给设计师参考,设计师根据管网的整体情况合理调整即可。

五、 采用Lisp编写的管线综合程序实践运用

采用Lisp编写的管线综合程序,能快速的建立起管道模型,通过模型能能直接判定调整的策略方向。具体到每个一根管线,每一个交叉节点的碰撞等问题,软件可以自动调整或者提供调整方案给用户进行选择,能迅速高质量的完成整个室外管线综合的工作。

下图为山东德州某社区管网综合改造项目截图:

软件能够根据规定的规则计算出各种管线的交叉点,自动调整管线高程,避让碰撞。三维显示,便于直观的观察。大大简化了人力工作,大幅提高了效率。

下图为软件自动生成的管线断面图:

目前采用Lisp编写的室外管线综合软件已经在很多项目上进行了实践,在提高设计质量、提高生产效率方面取得可喜的成果。

六、 结语:

在室外管网设计中,我们选择Lisp,本着大道至简的原则,在当今这个要求高效率的时代,能高质量高效的解决设计中的问题,不失为一种好方法。

【作者简介】

吴耀懿(1978-)男,本科,中国建筑设计研究院工程师

王炜(1977-)女,本科,中国建筑设计研究院高级工程师