LISP 语言在CAD 道路设计中的各种应用.docx
《LISP 语言在CAD 道路设计中的各种应用.docx》由会员分享,可在线阅读,更多相关《LISP 语言在CAD 道路设计中的各种应用.docx(10页珍藏版)》请在课桌文档上搜索。
1、第三章1.ISP语言在CAD道路设计中的各种应用1.1 绘制平面随意函数加战的AutoUSP程序设计在各个工程设计领域中,常常要绘制一些曲线,特殊是平面曲线,如水工结恸的湎流曲线、机械设计的齿轮渐开曲线等.在AUtOCAD绘图软件中,可以将曲线上的点先计算好.再用莲、多义线、样条曲线等方法绘制,这种方法须要进行大麻计算,工作量较大,假如用EXCE1.软件来协助计算,可以减轻工作眼:另外,可以针对详细的曲线类型,fllAutoCAD内嵌的AUtoUSP语言,实现边计算边绘制的功能。用这种方法绘制虽然快拢,但对于不同的曲线,则褥塘写同的AUto1.lSP程序,检查无误后才能运行,仍显繁琐.能否用统
2、一的程序,来实现各种平面函数曲线的绘制,我们尝试利用AUtOCAD中强大的发达式计号功能来实现这一目的,1.1.1 平面函数曲城的类皇和绘制方法平面函数曲线即是有简洁函数表达式的曲线类型,可考虑常常遇到的4类:(I)直用坐标下形如y=f(x)的曲线:(2) Il角坐标下的舂散方程曲线;(3)极坐标卜形如1.RO)的曲线:(4)极坐标下的参数方程曲线.其中,只制增加一个平凡方程x=x,参数方程2)就可以包括相应的干脆表达形式(I),同样(4可以包括(3)。【可时,极坐标形式可以通过:x-rcosOy=rsin转换为直角坐阮表达.因此从本质上说,4种类型都可以相互转换.把它们分类的目的是尽收采纳函
3、数的通常去达形式,以便于运用,绘制时,叁照曲戏的手工绘制方法,须要给出他线上的多个点,然后将它们连接起来。若给出的点间做很小,干腌用折线段相连就可很好模拟该曲线,假如间隔较大.可以用样条曲线连接.使之比较光甜.假设我们计算出足酩多的点,简洁用折线连接即可,为使该曲线成为一个整体.可用多义线的方式连接.关键的问题是,如何计算出曲跷上点的坐标。由于曲规的函数表达式各种各样,不行能用统一的式子来表示可以考虑从外部输入表达式,然后针对该表达式进行计算,给出相应结果,就能够解决点坐标的计算问遨.但这个功能的实现比较困难,幸好AUtoCAD为我俏供应了CA1.吩咐.可以对以!意的表达式进行计算.该吩咐由函
4、数嫁文件geomcalarx供应,支持科学/工程计算器上的大多数标准函数,如三角函数、指数、对数等,若表达式中有变I礼而该变讹在程序中己设定了值,则按该值进行计算由于该函数不是1.lSP内部南数,为使之可用,须要用ARX1.oAD吩咐我入文件gcomcal.arx,或书在吩咐行先输入CA1.吩咐,由系统自动领入.这样,程序中就可以运用该函数了.总的程序定义为c:CUrVC0,以使在AutoCAD吩咐行中与通常的吩咐一样运用.程序的总调用部分为:(arxloadgcomcal.arx):载入供应表达式计算功能的ARX文件(vl-arx-import*c:cal):It吩咐c:CaI能好运用(Pr
5、inC直角坐标下曲镂y=f(x).n)(PrinC(2)直角坐标下参数曲般x=f(i),y=g(i).n)(PrinC(3)极坐标卜曲线r=f(thcia).n)(PrinC(4)极坐标下参数曲线thcta=f(i)j=g(i).n)(SetqiChoiCe(getim选择处制曲线类型:):选择曲跷类型(if(=ichoiceI)(CUrVe1;调用曲线绘制类型1(if(=ichoice2)(CUrVC2:调用曲线绘制类型2(if(=ichoicc3)(CUrYe3):调用曲线绘制类型3(if(=ichoicc4)(CUrVe4):-用曲线绘制类型4依据用户选择的曲畿类型,转到相应的曲规类型绘
6、制函数中,依次为直角坐标下的般函数、参数方程,极坐标下的一般函数和参数方程,1.1.2 直角坐标下函数y=f(x)的曲线绘制直角坐标下绘制函数曲线y=f(x)定义为Auto1.ISP子程序curxcl,该子程序没有传入传小参数,程序的第一个步骤是读入有关的参数和限制变;匕首先读入y=Rx)的表达式,然后输入自变量X的变更范用low.up,接着依据模拟精度,输入曲城剖分数目StePs,X的变更步长即为stcp=(up-lowtcps.该步骤相应的AUto1.lSP程序如下:(sctquny(estringy=f(x)W达式:)(SCtqIowfgctrcalx的下限(ft:)(setqup(ge
7、trealx的上限伯:)(SeIqSteps(getint剖分数Il:)(sctqSteP(/(-uplow)steps)接下来就起先曲线的绘制,首先启动绘制多义践的吩咐,接着自变显X从下限值起先,由f(x)的表达式计算y坐标值,将该点的坐标输入到吩对行,得到曲线的起点,然后自变MX递墙一个步长,计算下一个坐标点,曲城连接到该点,如此内到例分数目结束,就完成了整个曲线的绘制,最终用一个空格退出多义线吩咐.相应的AUtO1.lSP程序如下:(commandplinc):启动多义线吩咐(Setqii0);循环变革ii设初值(setqXIOW):自变吊:x设初值(while(=iisteps):限制
8、循环数目(sctqy(cxalIuny):对表达式进行计算,得到y坐标值(command(listxy):输入计算出的点坐标(SeIqii(+Iii):循环变量ii增加I(SetqX(+Xstep):内变IftX递增一个步长(command):退出多义线吩咐1.1.3 口角坐标下参数方程曲线绘制白角坐标卜参数方程与干脆函数表达不同的是,引入参变量,坐标X和y部表达为该参变量的函数,这样,旎够表示的函数更敏捷多样,形式如下:在曲线绘制时.只球要将变量改为参变Jit,坐标计算时对x、y坐标都用友达式计?Z即可,相应的AUJSP程序如下:(setqii0);循环变城ii设初值(SeIqiIOW):参
9、变量i设初值(while(=iisteps):循环限制(sctqX(c:CalfUnX):由x=f(i)计算坐标X(setqy(c:CalfUny);由y=g(i)计算坐标y(Commanddistxlyh):向吩咐行输入点坐标(sctqii(+Iii):循环变Iitii增加I(sctqi(+istep):参变麻i递增一个步长极坐标下函数r=fW曲绘制极坐标卜的数r=110)的不同之处在于添人点的坐标时,须要用极坐标输入方式,如2(X30.表示极径为20.%度为30%可以将得到的坐标(ft转换为字符串再用角度符号“Vr连接起来,输入到吩咐行.也可以用另外一个简便方法,即利用极坐标和直角坐标之间
10、的转换关系,变换到fl角坐标后输入到吩咐行,该方法对应的Auto1.ISP程序如下:(SelqiiO)(Setqek)W):设置极角0的初始值(while();对极角递增一个步长1.1.5 极坐标下参数方程曲线绘制极坐标下参数方程曲线的绘制,同直角坐标下的参数方程曲筏绘制是类似的,即增加-个用卷变量表达的极角的计能,相应的AUto1.lSP程序如下:(SetqiiO)(SetqiIow);设置参变量i初值为下限值(while(为第1条直线:自交点(JD)至缓直点(HZ)为第2条直线。前面已经建立了缓和曲坡的方程式和缓和曲税常数的计算式,缓和曲找方程式的坐标系为直角坐标系,其坐标原点为口谖点(Z
11、H),X轴与口级点(ZH)的切城方向一样。为了依据方程式计算域和曲线上的点的出标并绘制域和曲戏,须要使AutoCAD的坐标系与缓和曲线的坐标系重合.为此.单击“UCSr工具栏中的“对象UCS按Wb并在靠近交点JD处拾取第2条直级,此时UCS坐标系的区点位于交点,且X轴与第2条口践虫合,方向由交点(JD)指向谖直点(HZ),如图5所示(此操作在执行程序前完成)。然后再将UCS坐标系绕Z轴旋转-a角.此时UCS的X釉与第1条立战重合,且其方向与缓和曲线所在坐标系的X轴方向一样,如图6所示:再将UCS坐标系的原点平移到出级点ZH),直缓点在当曲UCS中的坐标为(-T1.,0).此时UCS与缓和曲爱的
12、坐标系完全重合,如图7所示。于是可以利用援和曲线方程式,计算缓和曲线上的点的坐标,并利用样条曲线吩咐将各点连成光滑的曲线。此过程可以通过循封语句来完成“Aul1.ISP程序代码如下,(lcfunc:hhqx(.RI.OalphaqxmpT1.EOXOyalpha!1.I.21.5POhhqxlhyxhyyyhxyhyqzxqzyl)(setqRgerealwn输入圆曲畿的曲率半径R:)(setqr1.O(getreal输入缓和曲线长度1.O:)(sctqalpha(gctrcaln输入转向角:)(sctqalphaI(/(*alphapi)180:求缓和曲线常数:m,T1.,p,Ox,Oy(s
13、eiqmGU1.O2)(/(*1.O1.O1.O)240(RR)(selqp(/(*1.O1.0)(424R)(SelqT1.(+in(*(+Rp)(sin(cos(/alpha12)(sctqxO(-1.O(/(*1.O1.O1.O)(4()RR)j(/(1.O1.()(*6R);计算缓圆点的坐标(commandwucsn,-z11(-0alpha)(commandmucshorM(list(-0T1.0)(Selq1.0.)(commandspline*)(while()(sctqXXUyyoPOaiStxy)(command)(seiqhhqx1(SSgel,1.,)2 .阿曲戏的绘制网
14、曲线为部分加爪可以用画网弧吩咐中的“三点式咪绘制.建立图8所示的坐标系(首先复原到上一个UCS,然后烧Z轴旋转”2),鸣圆曲线在坐标系中对称于Y轴,胭弧的两那点(HY点和YH点)和曲规中点(QZ点)坐标可按下列公式计算:(setqhyx(-0(-(*(-T1.xO)(cosabsalphaI2)(y(sin(abs(,alpha12)(sctqhyy(+(*(-T1.x)(sin(abs(alpha!2)(y(cos(abs(alpha12)(seiqEO(-(/(+Rp)(COSQalphal2)R):计尊缓和曲线常数EO的值(sctqqzxqzyEO);计算曲中点的坐标(sctqyhx(-
15、0hyx)yhyhyy);计算圆缝点的坐标(SeIqp3(IisthyXhyy)2(listqzxzy)pl(listyhxyhy)(commandarcpl2p3);画面曲线(mmandminorhhqxl-(list00)p2N*):用镜像的方法绘制从同援点到缓直点的援和曲线.1.3 利用AUtoUSP语言绘制带级和曲跷的铁路曲线平面图331应用背景在铁路工务部门的日常帙路设计、66工、维护工作中,常常须要绘制铁路途路平面图.而怏路途路平面图绘制的碓点在于绘制带缓和曲跋的铁路曲线.由于缓和曲线的坐标位置是通过离次方程计算得来,具布非战性的特点,因此很越在图纸上绘制出精确的位汽.无论是运用手
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LISP 语言在CAD 道路设计中的各种应用 语言 CAD 道路 设计 中的 各种 应用
链接地址:https://www.desk33.com/p-1466442.html