八文_文档搜索
 
设为首页   |  加入收藏夹
 八文网 - 汇聚八方文档 - 做最优秀的免费文档下载网站
 

学习目的

文档类型: Adobe Acrobat PDF 文档 文档大小:1.34M
下载
第36章AutoLISP学习目的
在完成本章学习后,读者将掌握以下内容:利用AutoLIS P语言进行数据运算.在AutoLIS P中进行三角函数的运算.掌握基本的AutoLIS P函数及其应用.加载并运行AutoLIS P程序.使用LoadUnload Applications(加载卸载应用程序)对话框.
利用流程图分析问题.利用条件函数测试条件.
36.1 关于AutoLISP AutoLIS P是由Autodes k公司开发的一种采用LIS P程序语言的编程工具(LISP是LIS tProcessor的缩写).除了FORTRA N和COBOL语言、大多数在6 0年代初期开发的编程语言都已经很少使用了,但LIS P保留了下来,并演变成了一种在人工智能(A I)领域居于领先地位的
编程语言.在LIS P家族系列中包含了:Common LISP,BYSCO P,IQLIS P,LISP8 0,LISP8 8,MuLIS LISP和XLISP.其中XLISP是一种流行的解释型的LIS P,与AutoLIS P较为相似的语言是Common LISP.AutoLIS P的解释器是内嵌在AutoCAD软件包中的.但AutoCAD LT和AutoCAD以下版本的AutoCAD不含AutoLIS P,因此,只能够在AutoCAD 2.18以上版本中应用AutoLIS P.
AutoCAD的软件包包含了绝大部分的绘图命令,但仍然有一些命令没有提供.例如:AutoCAD没有画矩形的命令,也不能对图形中的文字对象作全局地改动.利用AutoLIS P语言、可以编一个画矩形的程序,也可以对图形中的文字对象进行全局地或选定地操作.事实上你可以利用AutoLIS P编写任何程序,并将该程序嵌入菜单中、从而定制自己的系统以获取更高的效率.本章假定你已熟悉了AutoCAD的命令和系统变量设置,但还没有深入的编程经验.当然,如果你熟悉其他的编程语言、学习AutoLIS P将很容易.本章将讨论最常用的AutoLIS P功能并用它们来写应用程序.AutoLIS P不需要任何特定的硬件设备,只要一个系统能运行AutoCAD,就能运行AutoLIS P.并且可以用任意的文本编辑器来编辑AutoLIS P源程序.
36.2 数学运算在任何编程语言中、数学运算都是一种很重要的功能.绝大多数在编程和数学运算中经常使用的数学功能在AutoLIS P中都可以实现.可以使用AutoLIS P进行加,减,乘,除,还可以找到采用弧度表示的角度的正弦,余弦,反正切等.在AutoLIS P中还有许多其他运算功能,本节我们将详细讨论大部分经常使用的功能.
1. 加运算
语法:(num1 num2 num3.)加函数计算加号右边所有数值的和、即(num1num2num数值可为整数或实数,如果所有运算数为整数,则和也是整数;如果运算数都为实数,则和也为实数;如运算数有整数也有实数,则和为实数.在如下的例子中、前两个运算数都为整数,则和为整数;第三个例子运算数中有一个为实数则和为实数.
Command:(2 5)返回:7
Command返回:8 6Command返回
2. 减运算
语法:(-num1 num2 num3.)减函数从第一个数值中减去第二个数值(num 1-num 2).如果运算数超过两个,则从第一个数中减去后面所有数的和、即[num1-(num2nu m在下面的例子中、第一个例子从2 8中减去1 4,结果为1 4,由于两个操作数都为整数,则运算结果也为整数;在第三个例子中、从5 0中减去整数2 0和实数得到结果
Command返回:1 4
Command返回:7Command返回-1 0
3. 乘运算
语法:(num1 num2 num3 .)乘函数求所有在号后运算数的乘积(num1×num 2×num 3×如果运算数都为整数,则积为整数;如果有一个运算数为实数,则积为实数.
Command:(2 5)返回:1 0
Command返回:3 0
4. 除运算除函数以第一个运算数为被除数,第二个数为除数(num1num 2).如果运算数超过两个,则第一个数除以其他所有运算数的积,即[num1 (num2nu m在下面第四个例子
中、200除以5 . 0和4 ,运算式为
Command:(3 2)返回:1
Command返回:1 . 5Command返回-4 0
第36章AutoLISP 911
36.3 增量,减量和绝对值
1. 增量
语法:(1number)该函数(1 )对运算数加1(整数)后返回,且返回数的数值加1.在下面第二个例子中、1加上返回-9 . 5.
返回:2 1返回-9 . 5
2. 减量
语法:(1-numbe r)减量函数(1-)对运算数减1并返回结果,返回值在数值上减1.在下面第二个例子中减1返回结果
返回:9返回
3. 绝对值
语法:(abs number)绝对值函数返回一个运算数的绝对值.运算数可以是整数或实数.在下面第二个例子中、返回-2 0的绝对值2 0.
(abs 20)返回:2 0(abs -20)返回:2 0(abs返回
36.4 三角函数
1. 正弦(sin)
语法:(sin angle)正弦函数计算以弧度表示的角度的正弦值.在下面第二个例子中、正弦函数计算π的正弦值,返回为0 . 0.
Command:(sin 0)返回:0 . 0
Command:(sin pi)返回:0 . 0
Command:(sin返回
2. 余弦(cos)
语法:(cos angle)余弦函数计算以弧度表示的角度的余弦值.在下面第三个例子中、余弦函数计算π的余弦值,返回为-1 . 0.
Command:(cos 0)返回:1 . 0
Command:(cos 0.0)返回:1 . 0
Command:(cos pi)返回-1 . 0
Command:(cos 1.0)返回912第三部分定制AutoCAD
3. 反正切(ata n)
语法:(atan num1)反正切函数计算运算数num 1的反正切值,返回值为以弧度表示的角度值.下面第二个例子中、反正切函数计算1 . 0的反正切值,返回弧度数
Command:(atan 0.5)返回
Command:(atan 1.0)返回
Command:(atan返回
在反正切函数中、可设定第二个运算数:
语法:(atan num1 num2)如果设定了第二个运算数,则反正切函数计算(num1num 2)的反正切值,以弧度表示.
在下面第一个例子中、第一个运算数0 . 5除以第二个运算数1 . 0,ata n函数计算=0. 5)的反正切值.
Command:(atan返回弧度
Comamnd:(atan返回弧度Command返回弧度
4. 角度表示(angto s)
语法:(angtos angle[mode [precision])
angto s函数返回表示角度弧度值的字符串.字符串的格式由mod e(模式)和precision(精
度)参数控制.例如:
(angtos返回注意在(angtos angle[mode [percision])中、angle是以弧度表示的角度值; mode是指角度表示模式, 与AutoCAD系统变量AUNITS一致.表36- 1是角度表示模式在AutoCAD中的定义:表36- 1角度表示模式编辑格式0十进制度数(Decimal degrees)1度分秒百分度(Grads)3弧度(Radians)4勘探测量单位(Surveyo rs 是一个整数,用来控制小数点的位数,其值与AutoCAD的系统变量
第36章AutoLISP 913914第三部分定制AutoCADAUPREC一致.precision的最小值为0,最大值为4.
上面第一个例子中、角度为弧度),mod e为0(十进制度数),precision为4(小数点后四位)、函数返回33.6901
36.5 关系运算程序通常都包含测试一个特定条件的功能.如果条件为真,则程序执行某些操作,如果
关系为假,则程序执行另一些操作.例如:关系运算式(if( 1. 等于
语法:(= atom1 atom2.)等于函数( = )判断两个数是否相等.如果相等则条件为真,返回值为T(真值).同样,如果不相等、则条件为假,返回值为nil(假值).例如:
(=55)返回:T(=54.9)返回:nil(=返回:T(=ye syes)返回:T(=ye syesn o)返回:nil
2. 不等于不等于函数( =)判断两个操作数是否不相等.如果不相等、则条件为真,返回值为T.
同样,如果指定操作数相等则条件为假,返回值为nil.例如:
(= 50 4)返回:T(= 50 50)返回:nil(=ye sn o)返回:T
3. 小于
语法:(< atom1 atom2 .)小于函数( 判断第一个操作数(atom1)是否小于第二个操作数(atom2),如果小于,则条件为真,返回值为T,否则返回nil.例如:
(<35)返回:T(<返回:nil(< xy)返回:T
4. 小于等于
语法:( cb)返回:T
6. 大于等于语法= atom1 atom2.)大于等于函数=)判断第一个操作数(atom1)是否大于或等于第二个操作数(atom2),如果大于或等于,则条件为真,返回值为T,否则返回nil.例如:
= 78 50)返回:T
= xy)返回:nil
36.6 和Command函数defun函数用于在AutoLIS P程序中定义一个函数.其语法如下:
(defun name [argument] )
其中:Nam函数名.A rgumen t参数表.
例如:
(defun ADNUM定义一个没有参数和位置标记的函数ADNUM.这表示该函数使用的所有变量都是全局变量,在该程序运行结束后,全局变量不会失去其数值.
(defun ADNUM(abc)定义一个有三个参数a,b和c的ADNUM函数.变量a,b和c可调用该程序以外的值.
(defun ADNUM(a b)定义一个有两个局部变量a 和b的ADNUM函数.局部变量指变量值仅在本程序执行过程中保持其值,且只能在该程序中使用的变量.
(defun C:ADNUM
在函数名称前的C:指出该函数可以通过在AutoCAD的Command :提示下输入函数名称来调用,此时函数名必须用括号括起来.注意AutoLIS P中包含某些内置函数.不可以用这些名称为函数或变量命名.以下是为AutoLIS P的一些内置函数保留的名称的列表(可查阅AutoLIS P编程手册、以获得AutoLISP内置函数的完整列表).
第36章AutoLISP 915set q函数用于为一个变量赋值.其语法如下:
(setq Name Value[Name Valu
其中:Nam变量名.Valu赋给变量的值.赋给变量的值可以是任何表达式(数值,字符串,字母).如果设定值是字符串,则其长度不能超过100个字符.
在最后一个表达式中、8 . 5被赋值给变量X,1 2被赋值给变量Y.
Command:(setq answer YES)在这个表达式中、变量answe r被赋为字符串YES.set q函数也可以与另一个函数连接来为变量赋值.下面的例子中、set q函数用于为不同的变量赋值.
(setq pt1(getpoint Enter start point:))
(setq ang1(getangle Enter included angle:))
(setq Enter YES or No:))注意AutoLIS P使用某些内置的函数名和符号.不要为这些函数名或符号赋任何值.
下面的例子在语法上是成立的,但不能使用,因为pi和angle是AutoLISP的保留字.
3 .getpoint getpoin t函数等待用户为一个点输坐标值X,Y或X,Y,Z.坐标可以用键盘或是屏幕光
标输入.其语法如下:
(getpoint [point] [prompt ] )
其中:point输入点或选择点.promp t在屏幕上的提示文字.
(setq pt1(getpoint))
(setq starting point))注意在响应getpoint函数时,不能输入任何其他AutoLISP程序的名称.
916第三部分定制AutoCAD一个点是二维还是三维是由当前的用户坐标系统(UCS)定义的.使用Command函数可在AutoLIS P程序中执行标淮的AutoCAD命令.AutoCAD命令名称和
选项必需放在双引号中.其语法如下:
e)
其中 P函数 命令.
pt2 )
其中:LinAutoCAD LINE 命令.p t第一点.p t第二点.返回.注意在AutoCAD R12以前的版本中、Command函数不能执行AutoCAD的PLO T命令,即(Command plot.)为不合法命令.在AutoCAD 2000 ,AutoCAD R14 和AutoCADR13版本中、可以使用Command plot.Command函数不能使用AutoCAD 的DTEXT和TEX T命令来输入数据(可以用Command命令执行DTEXT和TEX T命令,也可以输入文字的高度和文字的方向,但当DTEXT和TEXT命令提示输入文字时,则无法输入).不能使用Command函数执行AutoLIS P的输入函数,如getpoin t,getangl t等.因此像 t或者都是不合法的.如果程序中包含这样的语句,则在程序被调入时会显示错误信息.例1编写一个程序,该程序可提示输入一个三角形的三个点、并可通过这三个点画线以形成一个三角形,如图36- 1所示.
大多数程序都由三个基本部分组成:输入,输出和处理过程.处理过程是指由已知输入经过运算得到所需输出的过程(如图36- 2所示).在开始编写一个程序之前、必须先明确这三个部分.在本程序中、输入到程序中的是三个点的坐标值,而要求的输出是一个三角形.处理过程则是要从点P 1到P 2,P 2到P 3,P 3到P 1画三条线来组成一个三角形.明确了这三部分后,可以在编程过程中减少错误.处理过程对于程序的成功至关重要.有时处理过程是简单的,但有时却包含了复杂的计算过程.如果程序包含较多的计算,则可以将其按逻辑和系统性分成几个部分
第36章AutoLISP 917图36-1 三角形(P1,P2,P3)图36-2 一段程序的三个基本部分数据输出输出处理918第三部分定制AutoCAD(和子部分).另外,由于程序需要一遍又一遍地修改、而且可能还有其他程序员参与,因此应当为程序写一份尽可能清晰明了,没有歧异的文档,这样别的程序员在不同的执行环境下都可理解程序是干什么的.在可能的情况下给出流程图和标识点.输入输出点1的坐标点2的坐标三角形(P 1,P 2,P 3)点3的坐标处理从P 1到P 2画线从P 2到P 3画线从P 3到P 1画线以下文件是例1的AutoLIS P程序清单.注意,右边的数值并不是程序的组成部分,它们在这里仅作参考.
说明:
1 ~ 3行:前3行是注释行、用于描述该程序的功能.这是很重要的一些行、这可以使编程更容易进行.在所需处,必需使用注释.所有的注释行必需以;号开始,这些行在程序加载时忽略.
第4行:该行是一个空行、用于将注释区与程序分开.空行或用于将程序中的不同模块分开、这有助于明确构成一个程序的不同部分.空行并不影响程序.
第5行:(defun c:TRIANG1在该行中、defun是一个AutoLIS P函数,用于定义函数是函数名.
在函数名TRIANG1前的c :使得该函数可以像一个AutoCAD命令一样调用.如果没有c ,则命令TRIANG1只有括在括号中如(TRIANG1)才能运行.TRIANG1函数有三个全局变量(P 1,P 2和P 3).在刚开始编写AutoLIS P程序时,使变量成为全局变量是一个好的方法,因为在加载或运行程序后,可以在AutoCAD命令提示下,通过在变量名前加感叹号!(Command :!P1)的方法,检查这些变量的值.一旦程序被测试通过后,则应该使这些变量变为局部变量
第6行:(setq P1 (getpoint \n Enter first point of Triangle :) )
在该行中、getpoin t函数可等待用户输入三角形的第一个点.提示Enter first point ofTriangle显示在屏幕的提示区域.可以由键盘输入该点的坐标或用屏幕光标选择一个点、set q函数将这些坐标值分配给变量P 1\ n用于回车,它使得在\ n后的语句打印在下一行(n表示
第36章AutoLISP 919下载newline(新行)).
7 ~ 8行:(setq P2 (getpoint \n Enter second point of Triangle :) )和(setq P3 (getpoint \ n Enter third point of Triangle :) )这两行提示输入三角形的第二点和第三点、其坐标值分配给变量P 2和P 3\ n引起回车操作,使得输入提示出现在下一行.
第9行 P2 P3 C)
在该行中、Command函数用于输入AutoCAD的LIN E命令,然后可从点P 1到P 2,P 2到P 3绘制直线.C(表示闭合选项)可使最后一点P 3与第一点P 1连接.当用于AutoLIS P程序中时,所有的AutoCAD命令和选项都必须处于双引号中、变量P 1,P 2和P 3则用空格分开.
第1 0行: 该行是由一个闭合括号组成,它表示函数TRIANG1的定义结束.该括号可以写在上一行中.但是把它放在单独一行是一个好习惯,这可以使其他编程者很容易确认一个定义的结尾.在本程序中、因为只有一个函数定义、所以很容易确定定义的结尾.但是在某些程序中、在一个相同的程序中可能会有多个函数或模块,这就需要明确地表示.括号和空行有助于确定程序中一个定义或一部分的开始与结束位置.
36.7 装载AutoLISP程序一个AutoLIS P程序通常有两个相关的名称:程序文件名和函数名.例如:TRIANG.LS P是一个文件名、而不是函数名.所有的AutoLIS P文件都以.LS P为文件扩展名.在一个相同的AutoLIS P程序文件中可以有一个或多个函数定义.例如:在上述例1中的TRIANG1就是一个函数名.要运行一个函数,定义该函数的AutoLIS P程序文件必须被装载.当正在图形编辑器中工作时,可用下面的命令装载一个AutoLIS P文件:
Command:(load [path]file name)
其中命令提示符.loa d调入一个AutoLIS P程序文件.file namAutoLISP程序文件的路径和文件名.AutoLIS P文件名和选项的路径名必须包含在双引号中、loa d命令和file name参数必须包含在圆括号中.如果不加圆括号,则AutoCAD将试图装载一个图形或一个字体文件,而不是装载一个AutoLIS P程序文件.在loa d和file name之间不需要空格.AutoCAD成功装载文件后,将在屏幕的命令提示区显示函数名.要运行程序,只要在AutoCAD命令提示行键入该函数名、并按Enter即可 ).如果编程时函数名中没有包含C,则可以通过带圆括号的函数名来运行程
序:
Command :TRIANG 1或Command : (TRIANG1)注意为加载一个AutoLIS P程序,在定义其路径时采用正斜杠.例如,如果AutoLIS P
文件TRIAN G存在于C :盘的LIS P子目录中、则可使用如下命令加载文件,也可以使用双反斜杠代替正斜杠.
或者Command : (loadc: \ \lisp \ \triang )你也可以使用标准的Window s的拖放功能来装载应用程序.装载一个LIS P程序,可以从Window s资源管理器中把一个文件拖进AutoCAD的图形窗口中、这样被选中的程序将自动被
加载.另一个装载程序的方法是:使用LoadUnload Application对话框(如图36- 3所示).这个对话框可以从Tool s菜单中选择Load Application命令或在AutoCAD命令提示行中输入APPLOAD命令来调用.图36-3 用LoadUnload Application对话框加载AutoLISP文件LoadUnload Application对话框可用于装载LSP,VLX,FA S,VBA,DBX和ObjectARX应用程序.其中VBA,DBX和ObjectARX程序当被选中时可以立即加载;LSP,VLX和FA S文件在LoadUnload Application对话框关闭时才被加载.对话框上部的列表列出了被选定的目录中的文件.可通过在Files of type: 编辑框中输入文件类型( .ls p)修改文件类型,也可以从下拉列表选择文件类型.选中一个文件,然后点击Loa d按钮,就可以装载一个文件.下面是LoadUnload Application对话框一些其他特性的说明:
1) Load: 该按钮用来装载或重复装载所选文件.文件可以从文件列表,Loade dApplication(已装载文件)选项卡或History list(历史列表)选项卡中选择.ObjectARX类型的文件不能被重复装载,只能先卸载该ObjectARX文件,然后再装载它.
2) Load Application 选项卡: 当选择该选项卡后,AutoCAD显示当前加载的程序.从文件列表中选择并拖动文件至Load Application选项卡的列表中并释放,也可以加载文件.
3) History list选项卡: 当选择该选项卡时,AutoCAD将显示Add to History选中时已被加载文件的列表.如果Add to History复选框没有被选中、且拖动一个文件到History list列表中、文件将被加载,但不会出现在H istory list中.
4) Add to History: 当Add to History复选框被选中时,拖动一个文件到有History list标签的文件列表中、该文件将自动地加入该文件列表中.920第三部分定制AutoCAD
第36章AutoLISP 921
5) Unload: 当选择Loaded Application 选项卡时,Unloa d按钮将出现.要卸载一个程序时,可以在Loaded Application选项卡的列表中选定文件,然后点击Unloa d按钮.其中没有被注册为可卸载的LIS P和ObjectARX文件不能被卸载.
6) Remove: 当选择History list选项卡时,Remov e按钮出现.在History list中选定一个文件,并点击Remov e按钮,可将该文件从History list中删除.
7) Startup Suite(启动组): Startup Suite组中包含的文件在AutoCAD每次启动时可自动加载.当选择Startup Suite时,AutoCAD弹出StartupSuite对话框,该对话框内含一个文件列表.可以利用Add按钮将文件加到Startup Suite列表中、也可以从文件列表中拖动文件放进Startup Suite组中.要从History list中加入文件,只要在相应的文件上右击即可.练习1编一个在两点之间画线的AutoLIS P程序(见图36-4).要求该程序能够提示用户输入X,Y点的坐标.
36.8 和setvar函数
1. getcorner函数getcorner函数等待用户输入一个点的坐标值.用户可以用键盘或屏幕上的十字光标输入坐标值.这个函数需要一个基准点、然后当在屏幕周围移动光标时,显示一个相对于基准点的矩形.getcorner函数的语法如下:
(getcorner point[prompt])
其中:point基准点.promp t显示在屏幕上的提示信息.
(getcornor pt1)
(setq pt2 (getcornor pt1))
(setq pt2 (getcornor pt1 Enter second point:))注意基准点和所选择的点与getcorner函数有关的点的定位与当前的UCS相关.
如果所选择的点是具有X,Y,Z三维坐标的三维点、则Z坐标将被忽略,该点假定取当前标高为它的Z坐标.
2. getdist函数getdist函数等待用户输入距离,然后以实数形式返回该距离值.getdist函数的语法如下:
(getdist [point[prompt])
其中:point距离的第一点.Promp t显示在屏幕上的提示信息.
(getdist)
(setq dist(getdist))图36-4 从点P1到P2画直线P1 (用户定义的点)P2 (用户定义的点)
(setq dist(getdist pt1))
(setq dist(getdist Enter distance))
(setq dist(getdist pt1 Enter second point for distance))
距离可以通过在屏幕上选择两个点来输入.例如,如果用(setq dist(getdist))赋值,则可以输入一个数值或选择两个点;如果用(setq dist(getdist pt1))赋值,因其中第一点pt1已被定义了,所以只需要输入第二点即可.getdist函数总是以实数形式返回距离值.如当前设置为建筑式,且距离值以建筑单位输入,但返回的距离值为实数值.
3. setvar函数setva r函数可以给一个AutoCAD系统变量赋值,其中系统变量的名称必须包含在双引号内.
setva r函数的语法如下:
-namevalue )
其中 系统变量名.val u需赋给系统变量的数值.
(setvar cmdecho 0)
(setvar dimscale 1.5)
(setvar ltscale 0.5)例2编写一个AutoLIS P程序,其功能是:在两条指定的直线间建立一个倒角,可输入倒角的角度和倒角距离.要形成一个倒角,AutoCAD需使用赋给系统变量CHAMFER A和CHAMFER B的值.当在AutoCAD中选定CHAMFER命令后,第一个和第二个倒角距离将自动赋给变量CHAMFERA 和CHAMFER B,CHAMFER命令然后利用这些值来产生一个倒角.然而在大多数工程制图中、较好的方法是如图36- 5那样输入倒角的长度和角度.
第一倒角距离(D)在任何两条所选直线间的倒角倒角角度(A)处理过程1) 计算倒角的第二个距离2) 将两个距离值赋给系统变量CHAMFERA 和CHAMFER B3) 利用AutoCAD的CHAMFER命令生成倒角.计算922第三部分定制AutoCAD图36-5 具有角度A和距离D的倒角下面是例2的程序代码.右边的行号不是程序的组成部分,在此只是用来参考.
第7行 \n Enter chamfer distance:) )getdist函数提示并等待输入倒角的距离值,然后set q函数将该值赋给变量d.
第8行 \n Enter chamfer angle:) )getangl e函数提示并等待输入倒角的角度,然后set q函数将该值赋给变量a.
第9行 )setva r函数将变量d的值赋给AutoCAD系统变量chamfer a.
第10行:(setvar chamferb(d ( (sin a)(cos a))))setva r函数将表达式(d ( (sin a)(cos a)))的计算结果赋给AutoCAD系统变量chamfer b.
第11行 r)command函数调用AutoCAD命令CHAMFER生成一个倒角.练习2编写一个AutoLIS P程序以生成如图36- 6所示的图形.程序应能够提示用户输入点P 1和P 2的坐标以及圆的直径D 1和D 2.
36.9 list函数lis t函数在AutoLIS P中用来定义一个2 D或3 D点.如果表达式中没有任何变量或未定义的项、可以用单引号来代替lis t函数.
(Setqx(list返回(Setq x返回
36.10 car,cdr和cadr函数
1. car函数car函数返回一个列表中的第一个元素的数值.如果该列表中没有任何元素,则返回空值
nil.car函数的语法如下:
(car list)
其中:car返回第一个元素.lis t元素列表.
第36章AutoLISP 923图36-6 具有连线的同心圆924第三部分定制AutoCAD(car返回2 . 5(car (xyz))返回x(car返回(15 20)
(car )返回nil例中的单引号代表lis t函数.
2. cdr函数cdr函数将一个列表的第一项删除后返回该列表.cdr函数的语法如下:
(cdr list)
其中:cdr返回一个删除了第一项的列表.
(cdr返回(3 56)
(cdr (xyz))返回(y z)
(cdr返回(56 )
(cdr )返回nil
3. cadr函数cad r函数相当于联合使用cdr和car函数,它返回一个列表的第二项.先使用cdr函数删除列表的第一项、然后再使用car函数返回这个新列表的第一项、cad r函数的语法如下:
(cadr list)
其中:cad r相当于(car (cdr (xyz )).
(cadr返回3(cadr (xyz))返回y(cadr返回5 6在这些例子中、cad r函数相当于执行了两个操作:=(car (y z))返回y注意除函数car,cdr和cad r外,另一些函数也能从列表中提取元素项.下面是这些函数的一个列表,其中函数f由一个列表((x y)zw))构成.
(caar f) = (car (car f))返回x(cdar f) = (cdr (car f))返回y(cadar f) = (car (cdr(car f)))返回y(cddr f) = (cdr (cdr f))返回w(caddr f) = (car (cdr (cdr f)))返回w
第36章AutoLISP 925
36.11 和terpri 函数
1. graphscr函数假设系统只有一个屏幕,graphsc r函数可将文本窗口切换为图形窗口,如果系统有两个窗口,则该函数无效.
2. textscr函数假设系统只有一个屏幕,textscr函数可将图形窗口切换为文本窗口,如果系统有两个窗口,则该函数无效.
3. princ函数princ函数可打印(或显示)变量的值.如果变量是用双引号括起的表达式,则打印(或显示)该表达式.princ函数的语法如下:
(princ [variable or expression])
(princ)在屏幕上显示一个空格(princ a)在屏幕上显示变量a的值(princ Welcom e)在屏幕上显示字符串Welcom e
4. terpri函数terpr i函数在屏幕上另起一新行、就像\ n一样.该函数可用于打印在terpr i函数后的行.
(setq p1(getpoint Enter
(setq p2(getpoint Enter second
第一行(Enter first point:)出现在屏幕提示行上,然后terpr i函数进行回车换行、第二行(Enter
second point:)出现在紧接第一行的新行上.如果没有terpr i函数,则上面的两行将显示在同一行上:
(Enter first point: Enter second point:).
例3编写一个程序,该程序可以提示用户输入一个矩形的两对角点的坐标,然后画出该矩形.
如图36- 7所示.点P 1的坐标矩形点P 3的坐标1) 计算出点P 2和P 4的坐标2) 画出下列直线P 1到P 2的直线P 2到P 3的直线P 3到P 4的直线图36-7 矩形第三部分定制AutoCADP 4到P 1的直线P 2和P 4点的X,Y坐标值可以用car和cad r函数来计算.其中car函数从一个给定的列表中提取X坐标,而cad r函数则提取Y坐标.点P 2的X坐标值点P 2的Y坐标值点P 4的X坐标值点P 4的Y坐标值
这样可以得到P 2和P 4点:下面是例3的程序代码、其中右边的行号不是程序的组成部分,它们只起参考作用.
第1 ~ 3行: 前3行是本程序的注释,用于描述程序的功能,所有注释行都要以分号(;)开头,在程序调入后,这些注释行将被忽略.
第4行: (defun c:RECT1( p1 p2 p3 p4)用defun函数定义函数RECT1.
第5行: (graphscr)如果当前屏幕刚好只有一个文本窗口,该函数将文本屏幕切换为图形屏幕.否则该函数不影响显示.
第6行: (setvarcmdech o0 )setva r函数将AutoCAD系统变量cmdecho置为零,即关闭响应.在这种状态下,AutoCAD命令的提示不会显示在屏幕上.
第7行: (prompt RECT1 command (terpri )
promp t函数将显示双引号中的字符串(RECT1 command 并且terpr i函数将进行回车操作,这使得下一行文本打印在另一行.
第8行: (setq p1(getpoint Enter first corner) ) (terpri )getpoin t函数等待用户输入一个点的坐标值(即矩形的第1个角点)、set q函数将坐标值赋给变量p 1.
第9行: (setq p3(getpoint Enter opposite corner) (terpri )getpoin t函数等待用户输入一个点的坐标值(即矩形的对角点)、set q函数将坐标值赋给变
量p 3.第1 0行: (setq p2(list (car p3)(cadr p1)))
cad r函数提取点p 1的Y坐标值,car函数提取点p 3的X坐标值,然后set q函数将这两个坐标值赋给变量p 2.
第11行: (setq p4(list (car p1)(cadr p3)))
cad r函数提取点p 3的Y坐标值,car函数提取点p 1的X坐标值,然后set q函数将这两个坐标值赋给变量p 4.
第1 2行: (commandlinep1 p2 p3 p4 c)
command函数调用AutoCAD命令LIN E,并在点p 1,p 2,p 3和p 4间画直线,c最后闭合p 4与p 1点.
第1 3行: (setvarcmdech o1 )setva r函数将AutoCAD系统变量cmdecho赋值为1 ,这可将系统响应打开.
第1 4行: (princ)princ函数在屏幕上输出一个空行.如果没有这一行、AutoCAD将输出最后一个表达式的值,虽然这个值不会对程序产生任何影响、但有时会显得混乱.使用princ函数将阻止在命令提示行上显示最后表达式的数值.
第1 5行: 右括号)结束函数RECT1的定义、并终止本程序.
注意在本程序中、当定义了矩形的两个点后,就可生成矩形.当在移动光标以确定第二个点时,该矩形并不会被拖动.但是,利用getcorner函数可以拖动矩形,如下所示:
第36章AutoLISP 927928第三部分定制AutoCAD
36.12 getangle和getorient函数
1. getangle函数getangl e函数等待输入角度,并以弧度值返回输入的角度.getangl e函数的语法如下:
(getangle [point[prompt])
其中:point角的起始点.promp t任何需要在屏幕上显示的信息.
(getangle )
(setq ang (getangle))
(setq ang (getangle ptpt1是一个已定义的点(setq ang (getangle Enter taper angle))
(setq ang (getangle pt1 Enter second point of angle))输入的角度值与角度设置有关.角度设置可以用AutoCAD的UNI T命令来改变,或者修改系统变量ANGBASE和ANGDI R的值来改变.以下是关于测量一个角的缺省设置.
1) 角度从正X轴(即三点钟方向)算起,这个值存储在AutoCAD系统变量ANGBASE中.
2) 角度沿逆时针方向测量为正值,而沿顺时针方向测量为负值.这个设置值保存在AutoCAD系统变量ANGDI R中.如果使用缺省的角度设置(见图a),则对于135 的角度,getangl e函数可返回弧度.
(setq ang (getangle Enter angle))当输入角度135 时,返回图b显示了一种角度的新设置,这里Y轴为0 ,而顺时针方向测量的角度为正.这时如果输入135 角,getangl e函数将返回getangl e函数以系统变量ANGBASE设置为角度起始点、按逆时针方向测量角度值,而忽略系统变量ANGDI R中的方向设置(如图b所示).
2. getorient函数getorient函数等待输入角度,并以弧度值返回输入的角度.语法如下:
(getorient [point[prompt])
(getorient)
(setq ang (getorient))
(setq ang (getorient pt1))
第36章AutoLISP 929(setq ang (getorient Enter taper angle))
(setq ang (getorient pt1 Enter second point of angle))图36-8图36-9getorient函数与getangl e函数很相似,两者都以弧度形式返回角度值.但是getorient函数总是以X轴为起点、沿逆时针方向测量角度.getorient函数总是忽略系统变量ANGBASE和ANGDI R的设置.如果图a的设置不改变(ANGBASE和ANGDI R为缺省设置),则输入
135 的角度值,getorient函数返回的弧度值为如果如图b的设置不改变,则输入135 的角度,getorient函数返回的弧度值为这是因为在图b中尽管设置被改为以Y轴为起点、以顺时针方向为正,但getorient函数忽略这些设置,而仍然采用以X轴为起点、以逆时针方向为正的角度设置.图36-10缺省设置新设置X轴90 X轴0VE角度VE角度Y轴0 Y轴90Y轴90VE角度X轴0X轴90Y轴0930第三部分定制AutoCAD注意使用getangle和getorient函数时,可以从键盘输入角度,或通过在屏幕上确定两个点来输入角度值.如果以(setq ang (getorient pt1))赋值,这时角度的起始点pt1已经定义、用户将被提示输入第二点的坐标.可以从屏幕上选择一点、也可以直接输入第二点的坐标值.
180 的弧度值为π可以使用下述公式在角度和弧度间进行转换. 弧度值= (π×角度值)180
36.13 和getvar函数
1. getint函数getin t函数等待用户输入一个整数.即使输入为一个实数,该函数也返回一个整数.getin t
函数的语法如下:
(getint [prompt])
其中:promp t需要显示在屏幕上的选项提示信息.
(getint )
(setq numx (getint))
(setq numx (getint Enter number of rows:))
(setq numx (getint \n Enter number of rows))
2. getreal函数getreal函数等待用户输入一个实数.即使输入为一个整数,该函数也返回一个实数.
getreal函数的语法如下:
(getreal [prompt])
(getreal)
(setq realnumx (getreal))
(setq realnumx (getreal Enter num1:))
(setq realnumx (getreal \n Enter num2:))
3. getstring函数getstring函数等待用户输入字符串.即使输入的字符串中仅有数字,该函数也将返回字符
串.getstring函数的语法如下:
(getstring [prompt])
(getstring)
(setq answer (getstring))
(setq answer (getstring EnterYfor yes,N for no:))
(setq answer (getstring \n EnterYfor yes,N for no:))注意字符串最大长度为132个字符,如果字符长度超过132个字符,则超过部分将被忽略.
第36章AutoLISP 931
4. getvar函数使用getva r函数可以得到AutoCAD系统变量的值.getva r函数的语法如下:
其中variablAutoCAD的系统变量名.
(getvar )
(getvar dimcen)返回0 .09(getvar Itscale)返回1 . 0(getvar limmax)返回(getvar limmin)返回注意系统变量名必须包括在双引号中.在一个表达式中只能接收一个系统变量名.要接收多个系统变量,可以对每一个变量使用一个表达式.
36.14 polar和sqrt函数
1. polar函数polar函数以一个给定角度和一个与给定点的距离来定义一个新点、如图所示.其中角用弧度表示、并以逆时针方向测量为正(即与系统变量ANGBASE和ANGDI R的缺省设置一
致).polar函数的语法如下:
(polar point angle distance)
其中:point参考点.ang l与参考点形成的角度.distanc与参考点的距离.
(polar pt1 ang dis)
(setq pt2 (polarang dis))
2. sqrt函数sqr t函数可计算一个数的平方根、且该函数的返回值总是实数值.sqr t函数的语法如下:
(sqrt number)
其中:numbe r所需求平方根的运算数(实数或整数).图36-11 使用polar函数定义一个点图36-12 sqrt函数的应用932第三部分定制AutoCAD(sqrt 144)返回(sqrt 144.0)返回(setqx(sqrt返回(setqx(sqrt (7.5 (cos返回例4编写一个AutoLIS P程序,本程序将在一个圆的外面画一个等边三角形(见图其中等边三角形的三条边与圆相切,本程序将提示用户输入圆的半径和圆心点和坐标值.
图36-13 在圆外的等边三角形
下面是例4程序的源代码:练习3编写一个AutoLIS P程序,其功能是绘制一个等腰三角形(P1,P 2,P3).三角形的底边(P 1,P 2)与正X轴的夹角为B(见图本程序应提示用户输入三角形的第一点P 1,边长L 1和角A与角B.练习4编写一个AutoLIS P程序,其功能是绘制一个具有中心线的槽.本程序应提示用户输入槽的长度,宽度和中心线所在的图层的名称(如图图36-14 成一个角度的等腰三角形图36-15 槽的长度和半径R
36.15 和prompt函数
1. itoa函数ito a函数将一个给定的整数转换为字符串.并返回该字符串.其语法如下:
(itoa number)
其中:numbe r需转换为字符串的给定整数.
(itoa 89)返回:8 9(itoa -356)返回(setq intnum 7)
(itoa intnum)返回:7(setq intstrg (itoa intnum))返回:345
2. rtos函数rto s函数将一个给定的实数转换为字符串,并返回该字符串.其语法如下:
(rtos realnum)
其中:realnum需转换为字符串的给定实数值.
(rtos 50.6)返回50. 6(rtos -30.0)返回(setq realstrg(rtos 5.25))返回(setq realstrg(rtos realnum))返回
第36章AutoLISP 933LRrto s函数也可以包括模式和精度参数,其语法如下:
(rtos realnum [mode[precision])
其中:realnum实数.mod单位模式,如十进制,科学制等.precision小数点位数或分数制.
3. strcase函数strcase函数将一个字符串中的字母全部转换为大写或小写.其语法如下:
(strcase string [true])
其中:strin g需要进行转换的字符串.tru如果为非nil值,则所有字符将被转换为小写.tru e参数是可选的.如果不写或tru e的值为nil,则所有字符被转换为大写.如果tru e的值为非nil值,则所有字符被转换为小写.
(strcase Welcome Home)返回:WELCOME HOME(strcase Welcome Homet)返回:welcome home(setq answer (strcase (getstring Enter Yes or No:)))
4. prompt函数promp t函数用于在屏幕的命令提示区显示信息.需显示的内容必须被包括在双引号中.
其语法如下:
(prompt message)
其中:messa g需要在屏幕上显示的信息内容.
(prompt Enter circle diameter:)
(setqd(getdist (prompt Enter circle diameter:)))注意在双屏幕系统中、prompt函数将在两个屏幕中都显示提示信息.
例5编写一个程序,其功能是画两个代表两个滑轮的圆,它们的半径分别为R 1和R 2,两圆圆心的距离为D,连接两圆圆心的直线与X轴的夹角为A,如图所示.小圆的半径-R1半径为R1的小圆大圆的半径-R2半径为R2的大圆两圆圆心距离-D连接两圆的切线中心线角度-A小圆圆心坐标-C 11) 计算X1 ,X2间的距离2) 计算角度3) 相对于点C1定出点C2934第三部分定制AutoCAD4) 定出P1,P2,P3,P4点5) 根据半径R 1和圆心C 1画出小圆6) 根据半径R 2和圆心C 2画出大圆7) 画P 1至P 2,P 3至P 4的切线图36-16 具有切线的两个圆下面是本程序的源代码.其中最右边的行号不是程序的组成部分,在此仅仅作为参考.
第36章AutoLISP 935滑轮加皮带936第三部分定制AutoCAD
第5行: (defun dtr(a))在本行中定义了一个将角度转换为弧度的函数dtr (a).
第6行: (a( pi( pi 180)将常数π除以180,然后与角度值相乘(180度的弧度值为π).
第1 0行: (defun c:belt( r1 r2da c1 x1 x2 c2 p1 p2 p3 p4)
在本行中、函数defun定义了一个函数c :belt来产生两个带切线的圆.
第1 8行: (setq x1 (-r2 r1))在本行中、setq函数将r 2-r 1的结果赋给变量x 1.
第1 9行: (setq x2 (sqrt (-(dd) ( (-r2 r1) (-r2 r1 )))))
在本行中、(-r2 r1)计算r 2和r 1的差,( (-r2 r1) (-r2 r1 ))计算(-r2 r1)的平方值,(sqrt (-(dd) ( (-r2 r1) (-r2 r1 ))))计算差值的平方根、最后setq x2将计算结果赋给变量x 2.
第2 0行: (setq ang (atan ( x1 x2)))
在本行中、(atan ( x1 x2))计算x 1除x 2的结果的反正切值,setq ang 将计算结果以弧度的形式赋值给变量ang.
第2 1行: (setq c2 (polar c1ad))
在本行中、(polar c1ad)使用polar函数,在与c 1相距d,且与正X轴成角度a处定位c 2点.
第2 2行: (setq p1 (polar c1 ( anga(dtr 90)) r1))
在本行中、(polar c1 ( anga(dtr 90)) r1)) 在与c 1相距r 1,且与正X轴成角度( anga(dtr90) )处定位p 1点.
第2 8行: p3)
在本行中、comman d函数用AutoCAD命令CIRCL E画一个以c 1为圆心、以c 1到p 3的距离为半径的圆.
第3 0行: (commandlinep1 p2 )在本行中、comman d函数用AutoCAD函数从p 1到p 2画一条线.其中在后面的两个双引号表示返回,它可终止LIN E命令.练习5
第36章AutoLISP 937编写一个AutoLIS P程序,其功能是画两个圆,并带有两条相交叉的切线,如图所示.
程序应提示用户输入两个圆的直径和两个圆心间的距离.
36.16 流程图流程图是算法的图形表示、它可以用来系统地分析一个问题.它有助于较好地理解问题,尤其当问题中包含几个选择状态时.流程图是由表示一定程序功能的标准符号构成的.例如,矩形表示程序运行时某一个执行的处理过程.模块之间用线相连,并表示程序执行的顺序.图给出了一些可用于流程图中的标准符号.图36-18 流程图中的符号
36.17 条件函数在前面章节中讨论过的关系函数可以在两个操作数之间建立逻辑关系.例如( 返回:2例6编写一个AutoLIS P程序,其功能是从一个大数中减去一个小数.程序应提示用户输入两个数.Number (num2)或在本行中、i f函数进行表达式num1 num2) 的测试.如果条件为真,则返回T;如果条件为假,则返回空.
第9行: (setqx(-num1 num2))
如果测试表达式(if num1 num2)返回T,则执行本行程序.其操作是:从num 1中减去num 2,并把结果赋给变量x.
第1 0行: (setqx(-num2 num1))
如果测试表达式(if num1 num2)返回nil,则执行本行程序.其操作是:从num 2中减去num 1,并把结果赋给变量x.
第11行: )右括号)结束i f函数的定义.例7编写一个AutoLIS P程序,其功能是对两个数选择相乘或相除(如图所示).程序应能提示用户选择相乘或相除操作,如果用户的选择不正确,程序也应能给出一个友好的提示信息.下面是例7的AutoLIS P程序的源代码.
2. progn函数progn函数与i f函数联用可执行多条语句.progn函数的语法如下:
(progn expression expression.)图36-21 例7的流程图i f函数在条件为真时只能执行一条语句,而progn函数在与i f函数联用时,可执行多条语句.
(prog n(setqx(sin ang))
(setqy(cos ang))
(setq tanang(xy))
)
3. while函数while函数测试一个条件,如果条件为真(表达式不返回空值),则跟在while后的语句将重复执行、直到测试条件返回nil值,如图所示.while函数的语法如下:
(while testexpression operations)
其中:testexpressio n测试条件的表达式.operation重复执行直至条件表达式返回nil值的操作.
(setq ans (getstring Enter yes)例8编写一个AutoLIS P程序,其功能是计算一个给定数的n次幂,其中n为整数.程序应提示用户输入底数和幂次n,如图所示.
940第三部分定制AutoCAD图36-22 while函数
第36章AutoLISP 941底数x乘积xn幂次n1) 设置t = 1和c = 12) 计算t x并将结果赋给变量t3) 重复上述过程,只要计数变量c小于或等于n
下面是例8程序的源程序:例9编写一个AutoLIS P程序,其功能是在一个螺钉圆上画一些圆孔、如图所示.程序应提示用户输入螺钉圆的圆心、直径以及螺钉圆上孔的直径,孔的数量和起始孔心在螺钉圆上的角度.图36-23 例8的流程图图36-24 具有6个孔的螺钉圆螺孔圆周直径(D)孔直径(DH)起始角度
4. repeat函数如图所示、repea t函数重复执行其后的操作n次,其中n必须为整数.repea t函数的语
法如下:repeat n
其中:n为重复执行次数的整数.
(repeat 5)例1 0编写一个AutoLIS P程序,其功能是:按给定的数目画一些同心圆.程序应提示用户输入圆的圆心、起始圆的半径以及半径增量,图是其流程图.
下面是程序源代码:942第三部分定制AutoCAD图36-25 repeat函数注意AutoCAD允许用户在启动AutoCAD的任何时候,自动加载指定的程序.例如,用户正在进行一个工程,并已加载了一个程序,则当用户开始其他的绘图时,该程序可以自动加载.要实现这样的功能可以将该程序的文件名放在LoadUnload Application对话框的起动组里内容.复习题1) 计算下列AutoLIS P函数的返回值:
(abs -90)返回(sin pi)返回(sin 1.5)返回(cos pi)返回(cos 1.2)返回(atan返回( =返回2) Setq 函数用于将一个值赋给.
3 )函数允许你输入一个点的X,Y或X,Y,Z坐标.
4 )函数用于在AutoLIS P中调用标准的AutoCAD命令.
5) 在一个AutoLISP 表达式中、AutoCAD命令及命令参数必须包含在双括号中.(T F)6) getdist函数等待用户输入,并返回距离的实数值.7) 函数用以设置AutoCAD系统变量的值,并且AutoCAD系统变量名必须包括在
中. 8) cadr函数进行两步操作,分别是和、它可返回列表的第二个元素.
9) 函数开始一个新行、如同执行\ n一样.10) 函数等待输入角度值,并以弧度形式返回角度值.
11 )函数总是以X轴为起点、以逆时针为正方向测量角度值.
第36章AutoLISP 943图36-26 例10的流程图944第三部分定制AutoCAD12) 函数等待用户输入一个整数.并且即使输入为实数,也返回其整数值.
13)函数允许用户获得AutoCAD系统变量值.14)函数以与一个给定点的距离和角度,定义一个新点.15)函数计算一个数的平方根、并总是返回实数值.16)函数将一个实数转换为字符串,并返回该字符串.17) if函数测试一表达式num1 num2),如果条件为真则返回,如果条件为假,18)函数与i f函数联用可重复执行多条语句.19) while函数计算测试条件,如果条件为真,则其后的操作将,直到测试条件返回.
20) repeat函数重复执行其后的表达式n次,其中变量n必须为实数.(T F)练习练习6编写一个AutoLIS P程序,其功能是:根据圆心C 1,直径D 1,D 2,D 3画三个同心圆如图所示.程序应提示用户输入C 1,D 1,D 2,D 3点的坐标.练习7编写一个AutoLIS P程序,其功能是:从点P 1到P 2画一条直线,如图所示.该直线与X轴正向夹角为A,P 1和P 2点之间的距离为L,圆的直径练习8编写一个AutoLIS P程序,其功能是:画一个等腰三角形(P1,P 2,P3),如图所示.
程序应提示用户输入起始点P 1,长度L 1和角度A.图36-28 与X轴夹角为A的圆和直线图36-29 等腰三角形练习9编写一个AutoLIS P程序,其功能是:画一个轴衬的两个视图,如图所示.程序应提示用户输入衬套的起始点P 0,长度L 1,L 2和直径I D,O D,H D.主视图与侧视图间的距离DIS为DIS =H D.程序应分别在HID层和CEN层画出虚线和中心线.中心线需延伸出对象图36-27 具有直径D1,D2,D3的三个同心圆线0 .75个单位.图36-30 轴衬的两个视图
第36章AutoLISP 945
pdf文档的标签: 学习 目的
更多推荐标签: 恒温控制论文   中介语语料库   机械维修文章   竞走论文   暑期工厂实践   酸性土壤论文   入股劳动合同   谈情感议论文   补习班策划书   数学希望杯   春节通知   需要案例分析   地面电视   篮球规则违例   顾丽梅   租赁岗位职责   酒店水单格式   局域网网络   现代公文格式   中国金融网   校长辞职报告   编写   财务考核表   便民服务   广州汇通   液压论文   消防安装调查   瓷器市场   保胎休假   学生学习意义  
相关文档推荐
编写目的
学习目的:学习人类发展报告
論文題目的選擇
课程目的
命令目的格式
项目的人力资源管理
考试目的
一招商目的
房产测量的目的是什么
项目的概论
课程目的
BOT项目的运作程序
考核的目的和用途
学习目的和要求
目的要求
项目的时间管理
大家上网游戏的目的
项目的质量管理
上日出目的要求1
学习目的:学会用PHP上传文件和发邮件
推荐文档下载
"经贸艺术部行政值日对班级和学
八荣八耻
上海市电子商务系列考核
高级会计师实务内部会计控制
江苏省心理学会
尽管独立董事辞职现象很普遍
狼习题精选及答案
健康与体育学习领域课程计画
北京科技大学保持员先进性教育活动
6:20关庙五甲国小6:20关庙山西宫
建构心理学(含PIAGET理论)内涵及教
关于开展向全省卫生系统先进集体
广州安骅别克
发展先进文化
江苏省交通建设工程安全责任制度
国家标准化管理委员会成立
基础教育课程改革
深圳市推动节约能源工作实施方案
教育信息摘编
生命科学研究快报
 
文档下载提示:
·最新免费文档下载、毕业论文免费下载、Word文档下载、Excel表格下载、PDF电子书下载、PowerPoint提案下载
·所有文档均为网友上传,仅供学习参考,用作其它用途时请征得相关权益人许可.
·八文网只提供文档共享平台,不对文档内容的正确性及相关内容所引发的后果负责.
·如此文档"学习目的"涉及您的权益,请附上网址来信告知web_8wen(#)126.com,本站将认真配合并改正。
Copyright ©2005-2008 八文网-  8Wen.com . All rights reserved.