计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

扩展实体数据在给排水工程CAD中的应用(2)

2014-01-21 01:07
导读:32位整数 2.2扩展实体数据的插入 使用扩展实体数据,必须用AutoLISP程序实施对实体数据库的访问和修改。首先要自行定义扩展实体数据库

32位整数

2.2扩展实体数据的插入

使用扩展实体数据,必须用AutoLISP程序实施对实体数据库的访问和修改。首先要自行定义扩展实体数据库信息表,然后再加入到指定的实体中。此处只是给出扩展实体数据库插入的AutoLISP程序主要内容,有兴趣的读者可以自行加入所需要的信息表,以把这一程序的功能进行扩展。

对最后画的一个实体加入扩展的实体数据表的AutoLISP程序为:

(defunexadd(nametyp/sselnel);name:扩展实体数据登记名,typ:扩展实体数据内容。

(setqss(cons-3(list(consname(cons(cons1002″{″)(cons(cons1000typ)(list(cons1002″}″)))))));定义扩展实体数据库el(entget(entlast));提取最近画的一个实体的图形数据库

nel(consssel);把扩展实体数据信息加入到实体数据库中)(regappname)(entmodnel))

如果对上述函数修改一下,可适用于对任意所选择实体加入扩展实体数据信息:

(defunexaddl(nametyped/sselnel);ed:所选择实体,把上述程序的el(entget(entlast))改为el(entgeted)即可。)

利用上述二个小程序,就可以实现对所画的最后一个实体或任一所选择的图形实体加入扩展实体数据,其特点是比用属性建立非图形信息的速度更快、更灵活、更小的数据体积,而且可以进行图形索引。

2.3扩展实体数据的查询

在对图形实体插入扩展实体数据后,还要对所插入数据信息进行查询、修改和应用。此处只给出扩展实体数据查询和数据提取的AutoLISP程序。

中国大学排名



查找扩展数据登记名的程序:(defunexname(ed/cxl)(setqcxl(cdr(assoc-3(entgeted`(″*″)))))(ifcxl(car(nth0cxl))))

本程序应用,就可以对任何一个所选择的实体,找出它的扩展实体数据登记名。如管段号、节点号等。

对任意选择实体,提取扩展实体数据的程序:

(defunexsub(edname/sstypnamecxlcncalctcbl)(setqtyp(cons1"不是所选择实体");如果选择实体与所指定的扩展数据名不一致,则提示错误。

name(strcasename)cxl(cdr(assoc-3(entgeted`(″*″)))))(ifcxl(progn(setqcn0)(while(setqcal(nthcncxl))

(if(=name(carcal))

(progn(setqct0cal(cdrcal))

(while(setqcbl(nthctcal))

(if(=(carcbl)1000)(setqtypcblct10000cn10000))

(setqct( ct1)))))(setqcn( cn1)))))(cdrtyp))

上述两个程序的应用,就可以实现对所绘实体的扩展数据信息进行提取。

我们知道,AutoLISP是嵌入AutoCAD中的功能扩展程序,如同使用AutoCAD函数一样,易学易用。应用AutoCAD进行工程设计的技术人员,应该学会用AutoLISP编写简单的程序,以方便工程图形的绘制。从上述的程序中也可以看出AutoLISP编写的完成某一功能的程序,小到一至二句,多到十几句,即可实现所要完成的工作。 大学排名

3扩展实体数据在给排水CAD中的应用

3.1管配件插入:

例如一条已经画好的管线,管径为DN100,使插入的管配件也具有DN100的特性。假设管配件是阀门,为已经做好的图块。我们可以在插入的过程中不需要关心管径是多少,直接插入阀门信息,从而提高绘图效率。应用扩展实体数据库的程序为:
上一篇:数学小论文-勾股定理的运用 下一篇:没有了