扩展实体数据在给排水工程CAD中的应用
;
对于上面所插入阀门的管线,由于阀门的插入而变为二条线,三个实体(二条线加一个阀门),如果由于各种原因需要删除,按照AutoCAD命令,则需要分别对这三个实体加以删除。对于工程图,由于图形复杂,经常会产生误操作或漏操作的问题,给工程设计人员带来许多困难。而扩展实体数据库的应用,可以为工程图的绘制带来许多方便。
(defunc:deled()
(setqss(entsel)ed(carss)s(ssget"x")n0name(exnameed)typ(exsubedname))
(while(setqes(ssnamens))(setqname1(exnamees))
(if(=namename1)(progn(setqtyp1
(exsubesname))(if(=typ1typ)(entdeles))))
(setqn(+n1))))
这一小程序在加载后,运行deled,按照提示选择要删除的实体,即可删除与这一实体具有相同扩展数据的所有实体,快速而准确。
3.3扩展实体数据修改
给水管网图是由管线、节点、水泵、水塔、阀门等组成,所有设施之间并不是相互独立,而是有机的联系在一起。某一设施的修改,必然带动其它与之有关联的设施和变动。例如,对于给水管网水力计算成果图,当节点号修改时,要影响与之相连的所有管线的起止节点号的变动、管线上水流方向扩展实体数据的变动以及节点标注信息的变动。一般情况下,一个节点号的变化,要引起几个甚至几十个图形实体的变化。采用扩展实体数据绘图,这一变化可以通过程序方便地实现。此处只给出修改一个扩展实体数据的小程序,读者可以扩充这一小程序,以通过遍历整个图形数据库的方式,分别查找要修改的实体,并加以修改。
(defunchent(edstyp/sbcxlss);
(setqsb(entgeteds′(″*″))cxl(cdr(assoc-3sb))
s
ss(list(cons(exnameeds)ss)))(netmod(subst(cons-3ss))
(cons-0cxl)sb))(entupdeds))
从上述介绍可以看出,应用扩展实体数据,可以弥补仅以AutoCAD绘图函数绘图的不足,从而使所绘的工程图有速度更快、更准确的特点。
4结论
以上仅是作者在给水管网优化设计计算与非稳定状态水力模拟软件-WDOC开发过程中采用的几个小技巧,在应用中发现有极大的实用价值,不仅提高了绘图的速度,而且还可使互不相关的实体之间建立相互联系。在绘图过程中,可以实现对一个实体的绘制及修改,自动实现与之相关的其它实体的绘制及修改。工程设计人员如果是有心人,可以在完成实际工程的过程中,对一些图形复杂、关联性强的实体,自行通过编写几句或十几句AutoLISP程序来加以实现,日积月累,把编写的小程序集成起来,不但可以解决商业软件与工程实用化相脱节的矛盾,而且还可以提高制图效率。
作者在给水排水工程CAD软件的开发和使用中,通过多年的积累,也编写了一些小程序,相当实用。有兴趣的读者可以与作者联系,相互交流,扩大实用小程序的应用范围 .
本文链接地址:http://www.oyaya.net/fanwen/view/143730.html
对于上面所插入阀门的管线,由于阀门的插入而变为二条线,三个实体(二条线加一个阀门),如果由于各种原因需要删除,按照AutoCAD命令,则需要分别对这三个实体加以删除。对于工程图,由于图形复杂,经常会产生误操作或漏操作的问题,给工程设计人员带来许多困难。而扩展实体数据库的应用,可以为工程图的绘制带来许多方便。
(defunc:deled()
(setqss(entsel)ed(carss)s(ssget"x")n0name(exnameed)typ(exsubedname))
(while(setqes(ssnamens))(setqname1(exnamees))
(if(=namename1)(progn(setqtyp1
(exsubesname))(if(=typ1typ)(entdeles))))
(setqn(+n1))))
这一小程序在加载后,运行deled,按照提示选择要删除的实体,即可删除与这一实体具有相同扩展数据的所有实体,快速而准确。
3.3扩展实体数据修改
给水管网图是由管线、节点、水泵、水塔、阀门等组成,所有设施之间并不是相互独立,而是有机的联系在一起。某一设施的修改,必然带动其它与之有关联的设施和变动。例如,对于给水管网水力计算成果图,当节点号修改时,要影响与之相连的所有管线的起止节点号的变动、管线上水流方向扩展实体数据的变动以及节点标注信息的变动。一般情况下,一个节点号的变化,要引起几个甚至几十个图形实体的变化。采用扩展实体数据绘图,这一变化可以通过程序方便地实现。此处只给出修改一个扩展实体数据的小程序,读者可以扩充这一小程序,以通过遍历整个图形数据库的方式,分别查找要修改的实体,并加以修改。
(defunchent(edstyp/sbcxlss);
(setqsb(entgeteds′(″*″))cxl(cdr(assoc-3sb))
s
s(cons(cons1002″{″)(cons(cons1000typ)(list(cons1002"}"))))
ss(list(cons(exnameeds)ss)))(netmod(subst(cons-3ss))
(cons-0cxl)sb))(entupdeds))
从上述介绍可以看出,应用扩展实体数据,可以弥补仅以AutoCAD绘图函数绘图的不足,从而使所绘的工程图有速度更快、更准确的特点。
4结论
以上仅是作者在给水管网优化设计计算与非稳定状态水力模拟软件-WDOC开发过程中采用的几个小技巧,在应用中发现有极大的实用价值,不仅提高了绘图的速度,而且还可使互不相关的实体之间建立相互联系。在绘图过程中,可以实现对一个实体的绘制及修改,自动实现与之相关的其它实体的绘制及修改。工程设计人员如果是有心人,可以在完成实际工程的过程中,对一些图形复杂、关联性强的实体,自行通过编写几句或十几句AutoLISP程序来加以实现,日积月累,把编写的小程序集成起来,不但可以解决商业软件与工程实用化相脱节的矛盾,而且还可以提高制图效率。
作者在给水排水工程CAD软件的开发和使用中,通过多年的积累,也编写了一些小程序,相当实用。有兴趣的读者可以与作者联系,相互交流,扩大实用小程序的应用范围 .
《扩展实体数据在给排水工程CAD中的应用(第3页)》