AutoLISP二次开发 第七章.pptx

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第7章AutoLISP程序设计;7.1,1AutoLISP与AutoCAD应用开发;中解放出來。

?引人综合的程序设计模式,建逭较大的设计系统,实现典型产品的全A动一体化设计(包括参数分析计算及图形生成处理)。

从实际应用上来聍,仅把AutoCAD当成是一个绘图系统,卯使对AuluCAD的幵发限于提卨绘图效率与质的开发方式是没冇活力的。良iE能显示出二次幵发效率与效益的还在于后3种功能应用的开发,在这个层次上,许多以前设汁上的繁琐4难题都会逐渐得到解决,没计苦要求计算机进行的工作也会明显增多3然.开发出-■个完善的综合设计系统足比较困难的,这不仅与开发者的水平有关,而且汗发的U标也是很关键的。例如,对于没计模式相另稳定及标准化程序高的题R就较容易汗发成功,而对于閔形复杂、标准化程度低、设计随意性大的题则很难达到段汁要求。

CAD技术是一套包括专业知识与H算叽应用的综合技术,不能仅仅辋其屮一方面的学3来支搾。在实恥的应用程序开发中、用户会体会到.专业知识了解得越多,则对于开发程序的功能描述以及实现方法就越详尽:对AutoCAD的理解越深、命令使用越准确,对程序就能越加自如地把握。

AutoCADIf发也是门筅践的学问,单車靠书本是开发不出好的程序来的,还耑要上机实践,并fl注意在这个过程中养成良好的习惯;;.12应用程序开发的一般步骤及质量要求;4.总体设计;7.运行考核

这个过程的目标根据用户的意见完善程序。在程序调试完成之后,可让用户试用,然后听取用户的评价及意见,以便进一步地完善程序、这相当于一个试用程序的过程。;7.2扩展AutoLISP函数功能;读取数组的某个元素值吋便用nth函数:修改数组的某个元素时,先枸造一个临时表,;(if(equalstrl^Angle);输入角度

(progn

(setqva(getangle”\rtlnputaAngle:*))

(setqnlist(consvanlist))

)

)

(if(ejualstrl^Point*):输入点

(progn

(setqva{getpoint*\nlnputaPoint:))

(setqnlist(consvanlist))

)

)

(setqstr2strl)

)

(reversenlist)

)

::定义数组元素查询函数,该函数返回数组的第N个元系(defuns」ist(mlistN)

(nth(1-N)mlist)

)

定义数组元素修改函数,对教钽中的第N个元紊进行條改,并返回修改后的教组表(defunmod(ml1stN)

(initget,TNurnberAnglePointExit*)

(setqstrl(getkword”\n清选择元素类型(Number/Angle/Point/Exit:)w));;输入数值;;输人数值;^*J7.2.2对表及表中元素进行排序

排序是计算机中最为常见的一种操作,关于排序的算法也有很多种,从实现的角度来;(defunbubble(L)

(cond((null(cdrL))L)

(((carL)(cadrL))

(cons(carL)(bubble(cdrL)))

).

〈t(cons(cadrL)

(bubble(cons(carL,)(cddrL)))

)

))

此函数调用的格式为:(bubbles待排序的表),如(bubbles(1213.57819.2)),返回的结果为(7819.213.512)。上述代码实现的是将表中元索按照降序排列,如果要改为按升序排列,则只bul)ble函数中的表(〉(carL)(cadrL))改为((carL)(cadrL))即可。

2.希尔排序(ShellsSort)

希尔排序(Shell,8Sort)又称“缩小增量排序”(DiminishingIncrerneniSort)?在吋间效率上要比起泡排序高。希尔排序的基本思路是将整个待排序的数据系列分割成若于个子数据系列,对这些子系列进行排序,当整个数据序列“基本有序”时,再对全体记录进行一次直接排序。

下面给出的希尔排序的例子将数裾系列分成3个子系列——较大数组成的系列(⑴)、较小数组成的系列(L0)及中间数组成的系列USD,最后再对3个系列进行一次排序即完成整个排序操作。;实例7.3(C7_3.lSp):;3.对表进行排序

上面介绍了起泡排序与希尔排序,这两个程序只能对表中的元素进行排序,如对(L2

您可能关注的文档

文档评论(0)

姜志 + 关注
实名认证
内容提供者

搞茯苓的

1亿VIP精品文档

相关文档