- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章LISP语言在CAD道路设计中的各种应用
3.1绘制平面任意函数曲线的AutoLISP程序设计
在各个工程设计领域中,经常要绘制一些曲线,特别是平面曲线,如水工结构的溢流曲线、机械设计的齿轮渐开曲线等。在AutoCAD绘图软件中,可以将曲线上的点先计算好,再用线、多义线、样条曲线等方法绘制,这种方法需要进行大量计算,工作量较大,如果用EXCEL软件来辅助计算,可以减轻工作量;另外,可以针对具体的曲线类型,用AutoCAD内嵌的AutoLISP语言,实现边计算边绘制的功能。用这种方法绘制虽然快捷,但对于不同的曲线,则需编写同的AutoLISP程序,检查无误后才能运行,仍显繁琐。能否用统一的程序,来实现各种平面函数曲线的绘制,我们尝试利用AutoCAD中强大的表达式计算功能来实现这一目的。
3.1.1平面函数曲线的类型和绘制方法
平面函数曲线即是有简单函数表达式的曲线类型,可考虑经常遇到的4类:
(1)直角坐标下形如y=f(x)的曲线;
(2)直角坐标下的参数方程曲线;
(3)极坐标下形如r=f(θ)的曲线;
(4)极坐标下的参数方程曲线。
其中,只需增加一个平凡方程x=x,参数方程(2)就可以包括相应的直接表达形式(1),同样(4)可以包括(3)。同时,极坐标形式可以通过:
x=rcosθ
y=rsinθ
转换为直角坐标表达。因此从本质上说,4种类型都可以互相转换,把它们分类的目的是尽量采用函数的通常表达形式,以便于使用。绘制时,参照曲线的手工绘制方法,需要给出曲线上的多个点,然后将它们连接起来。若给出的点间隔很小,直接用折线段相连就可很好模拟该曲线,如果间隔较大,可以用样条曲线连接,使之比较光滑。假设我们计算出足够多的点,简单用折线连接即可,为使该曲线成为一个整体,可用多义线的方式连接。
关键的问题是,如何计算出曲线上点的坐标。由于曲线的函数表达式各种各样,不可能用统一的式子来表示。可以考虑从外部输入表达式,然后针对该表达式进行计算,给出相应结果,就能够解决点坐标的计算问题。但这个功能的实现比较困难,幸好AutoCAD为我们提供了CAL命令,可以对任意的表达式进行计算。该命令由函数库文件geomcal.arx提供,支持科学/工程计算器上的大多数标准函数,如三角函数、指数、对数等。若表达式中有变量,而该变量在程序中已设定了值,则按该值进行计算。由于该函数不是LISP内部函数,为使之可用,需要用ARXLOAD命令载入文件geomcal.arx,或者在命令行先输入CAL命令,由系统自动载入,这样,程序中就可以使用该函数了。总的程序定义为c:curve(),以便在AutoCAD命令行中与通常的命令一样使用。程序的总调用部分为:
(arxload geomcal.arx);载入提供表达式计算功能的ARX文件
(vl- arx- import c:cal);让命令c:cal能够使用
(princ (1)直角坐标下曲线y=f(x).\n)
(princ (2)直角坐标下参数曲线x=f(i),y=g(i).\n)
(princ (3)极坐标下曲线r=f(theta).\n)
(princ (4)极坐标下参数曲线theta=f(i),r=g(i).\n)
(setq ichoice (getint 选择绘制曲线类型:));选择曲线类型
(if (= ichoice 1) (curve1));调用曲线绘制类型1
(if (= ichoice 2) (curve2));调用曲线绘制类型2
(if (= ichoice 3) (curve3));调用曲线绘制类型3
(if (= ichoice 4) (curve4));调用曲线绘制类型4
根据用户选择的曲线类型,转到相应的曲线类型绘制函数中,依次为直角坐标下的普通函数、参数方程,极坐标下的普通函数和参数方程。
3.1.2直角坐标下函数y=f(x)的曲线绘制
直角坐标下绘制函数曲线y=f(x)定义为AutoLISP子程序curve1,该子程序没有传入传出参数。程序的第一个步骤是读入有关的参数和控制变量。首先读入y=f(x)的表达式,然后输入自变量x的变化范围[low,up],接着根据模拟精度,输入曲线剖分数目steps,x的变化步长即为step=(up- low)/steps,该步骤相应的AutoLISP程序如下:
(setq funy (getstring y=f(x)的表达式:)) (setq low(getreal x 的下限值:))
(setq up (getreal x 的上限值:))
(setq steps (getint 剖分数目:))
(setq step (/ (- up low) steps))
接下来就开始曲线的绘制,首先启动绘制多义线的命令,接着自变量x从下限值开始
您可能关注的文档
最近下载
- 肺结核的诊断及鉴别诊断.doc VIP
- 高考题型逐个击破10应用文写作升级之咨询信(必备素材,写作模版,写作训练)(解析版)-2025届高三英语一轮复习闯关攻略.docx VIP
- 施耐德微段 ACTI9选型手册pdf.pdf VIP
- EKD 316 中文.pdf VIP
- 江苏师范大学《物理化学》教学PPT第9章 可逆电池的电动势及其应用.ppt VIP
- 第5章星间链路及星座组网技术20121007电子科技大学.ppt VIP
- GB/T 4490-2021织物芯输送带 宽度和长度.pdf
- 2025年江苏译林版八年级下册英语单词默写表.pdf VIP
- 风电场项目工程建设监理投标文件.pdf VIP
- 危险废物规范化管理培训课件.pptx VIP
文档评论(0)