实验报告 实验三 AutoCAD二次开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告课程名称:计算机辅助设计实验名称:AutoCAD二次开发专业:信息与计算科学小组成员:指导教师:完成日期:2011年11月20日姓名评分《计算机辅助设计》实验报告一、实验名称Autocad二次开发实验二、实验目的通过上机上机,熟悉AUTOLISP语言,掌握常用的各种函数的功能和用法,熟悉AUTOLISP语言程序的编制和调试方法。三、实验要求熟悉AUTOLISP语言特点和格式,掌握常用函数的功能和简单程序的编写方法。此外还应了解AUTOLISP程序调试方法。四、实验题目(1)将196页应用举例程序输入,执行程序,体会开发过程。(2)完成课本第198页第5题。(3)编写一个AUTOLISP程序,如下图所示:调试程序,如出现错误进行修改后再上机运行,直至程序正确为止。并将代码写入实验报告中。转动压板及标注《计算机辅助设计》实验报告六、实验步骤(1)首先打开CAD,然后点击“工具”下拉选项里的“AOTOLISP”选项里的“AOTOLISP”编辑器,这时便跳出编辑窗口,点击“新建”,然后输入下面代码,最后点击“运行”按钮,鼠标指向“控制台”,然后在“控制台”里输入(c:ls),回车,屏幕切换到画图窗口,首先确定基点,然后输入直径大小30,再输入长度70,画得的图像如图一所示。(defunc:ls()(setqp0(getpoint确定基点:))(setqd(getreal\n输入螺栓直径:))(setqld(getreal\n输入螺栓长度:))(if(ld(*2d))(princOK)(setqld(*2d)))(setqp1(polarp0(*0.5pi)(*0.5d)))(setqp2(polarp10(-ld(*2d))))(setqp3(polarp10(-ld(*0.1d))))(setqp4(polarp2(*-0.5pi)(*0.1d)))(setqp5(polarp40(*2d)))(setqp6(polarp00ld))(setqp7(polarp00(-ld(*0.1d))))(setqp8(polarp00(-ld(*2d))))(setqp9(polarp0(*0.5pi)d))(setqp10(polarp9pi(*0.7d)))(setqp11(polarp1pi(*0.7d)))(setqp12(polarp0pi(*0.7d)))(setqp13(polarp0pi(*0.9d)))(setqp14(polarp00(+ld(*0.2d))))(setqss(getvarclayer))(command-layermcenterlcentercenter)(commandlinep13p14)(setvarclayerss)(commandplinep0w0.60.6p9p10p12)(commandplinep11p3p5p6)(commandlinep4p5)(commandmirrorcp10p6p0p6n)(commandltscale5)(princ))《计算机辅助设计》实验报告图一(2)步骤同上,输入代码如下:(defunc:roughness()(setvarcmdecho0)(setqp0(getpoint确定插入点:))(setqh(getdistp0\n输入粗糙度值的文字高度:))(setqhl(*h1.61658))(setqalf(getanglep0\n输入粗糙度符号的旋转角度))(setqal(+alf(/pi3)))(setqp1(polarp0al(*2hl)))(setqp2(polarp0alhl))(setqal(+alf(/pi1.5)))(setqp3(polarp0alhl))(setqal(+alf(*0.5pi)))(setqp4(polarp0al(*1.4hl)))(setqs(getstring\n输入粗糙度值:))(setqalf(*alf57.296))(if(and(=slf180)(=alf360))(setqalf(-alf180)))(commandlinep2p3p0p1)(commandtextmp4halfs)(setvarcmdecho1)(princ))运行后,在“控制台”输入(c:roughness)后,回车,确定插入点,然后输入文字高度30,旋转角度60,粗糙度值30,得到图像如图二所示。《计算机辅助设计》实验报告图二(3)步骤同上,代码如下:(defunc:yaban()(setqp0(getpoint确定基点:))(setql(getreal\n输入矩形长度:))(setqw(getreal\n输入矩形宽度:))(setqr(getreal\n输入圆的半径:))(if(=r(*0.5w));判断圆的直径是否小于矩形的宽度。(princOK)(setqr(*0.5w)))(setqp1(polarp00l))(setqp2(polarp1(*-0.5pi)w))(setqp3(polarp0(*-0.5pi)w))(setqp4(polarp0(*-0.5pi)(*0.5w)))(setqp5(polarp40(*0.125l)))(setqp6(polarp5(*0.5pi)(*0.3w)))(setqp7(polarp60(*0.375l)))(setqp8(polarp7(*-0.5pi)(*0.6w)))(setqp9(polarp6(*-0.5pi)(*0.6w)))(setqp10(polarp40(*0.875l)))(setqp11(polarp4(*-1pi)(*0.4l)))(setqp12(polarp100(*0.5l)))(setqp13(polarp40(*0.875l)))(setqp14(polarp4(*-0.5pi)(*0.3l)))(setqp15(polarp13(*-0.5pi)(*0.3l)))(setqp16(polarp10w))(setqp17(polarp20w))(setqp18(polarp6(*-1pi)(*0.2l)))(setqp19(polarp9(*-1pi)(*0.2l)))(setqp20(polarp9(*-0.5pi)(*0.2l)))《计算机辅助设计》实验报告(setqp21(polarp8(*-0.5pi)(*0.2l)))(setqp22(polarp210(*0.375l)))(setqp23(polarp21(*-1pi)(*0.5l)))(setqp24(polarp210(*0.5l)))(setqp25(polarp10(*-1pi)r))(setqp26(polarp10(*-0.5pi)r))(setqp27(polarp10(*0.5pi)r))(setqp28(polarp6(*0.3pi)(*0.8w)))(setqp29(polarp280(*0.8w)))(setqss(getvarclayer));创建中心线层,用红色虚线显示。(command-layermcenterc1centerlcentercenter)(commandlinep11p12)(setvarclayerss)(commandplinep7p6arcp9linep8arcp7);多线段画弧(command_rectangf3p0p2)(commandcirclep13(*0.75r))(command-layermarcc2arc);画圆的外围1/4个圆弧,用黄色实线显示。(commandarcp25p26p27)(command-layermdimlinearc3dimlinear);标注线段长度,圆直径,厚度,用绿色表示。(commanddimlinearp1p3hp15dimlinearp3p1vp17)(commanddimlinearp8p6vp19dimlinearp7p5hp21)(commanddimlinearp6p3hp20dimlinearp7p10hp21)(commanddimlinearp10p2hp22)(commanddimdiameterp27@10,10)(command_qleaderp6p28p29@20,6010)(setvarclayerss);将标注的线设定为同一图层。(princ))运行后在“控制台”输入(c:yaban),回车切换到画图,首先确定基点,然后再输入长80,宽15,半径20,得到如图三所示。图三《计算机辅助设计》实验报告七、实验体会通过本次实验,使我对CAD的二次开发软件有了初步的了解,并能进行简单的操作,调试等。我想,要学好CAD软件应用,一定要理论联系实际,重视实践教学环节,其中主要是计算机编程和调试等实际操作环节,仅仅通过这几个例子是远远不够的,需要在课下多多练习。比如在课上时仅仅简单的输入例题程序再运行,也出现了很多的问题,关键是程序输入和书本上一模一样的,可画出的图却缺少中心线,到现在我还不知道是怎么回事,后来只好重输了一下才做对。在第一个例子成功完成后,做第二个时相对简单,但是需要注意的事必须把“捕捉对象”关闭,否则画出的图会变样的,还有就是输入要特别小心,有时就是一个空格的问题使程序老是出错,所以一定好细心加耐心,这就是我的总结。希望在以后的练习中能不断进步!

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功