LISP 语言在CAD 道路设计中的各种应用.docx
第三章1.ISP语言在CAD道路设计中的各种应用1.1 绘制平面随意函数加战的AutoUSP程序设计在各个工程设计领域中,常常要绘制一些曲线,特殊是平面曲线,如水工结恸的湎流曲线、机械设计的齿轮渐开曲线等.在AUtOCAD绘图软件中,可以将曲线上的点先计算好.再用莲、多义线、样条曲线等方法绘制,这种方法须要进行大麻计算,工作量较大,假如用EXCE1.软件来协助计算,可以减轻工作眼:另外,可以针对详细的曲线类型,fllAutoCAD内嵌的AUtoUSP语言,实现边计算边绘制的功能。用这种方法绘制虽然快拢,但对于不同的曲线,则褥塘写同的AUto1.lSP程序,检查无误后才能运行,仍显繁琐.能否用统一的程序,来实现各种平面函数曲线的绘制,我们尝试利用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种类型都可以相互转换.把它们分类的目的是尽收采纳函数的通常去达形式,以便于运用,绘制时,叁照曲戏的手工绘制方法,须要给出他线上的多个点,然后将它们连接起来。若给出的点间做很小,干腌用折线段相连就可很好模拟该曲线,假如间隔较大.可以用样条曲线连接.使之比较光甜.假设我们计算出足酩多的点,简洁用折线连接即可,为使该曲线成为一个整体.可用多义线的方式连接.关键的问题是,如何计算出曲跷上点的坐标。由于曲规的函数表达式各种各样,不行能用统一的式子来表示可以考虑从外部输入表达式,然后针对该表达式进行计算,给出相应结果,就能够解决点坐标的计算问遨.但这个功能的实现比较困难,幸好AUtoCAD为我俏供应了CA1.吩咐.可以对以!意的表达式进行计算.该吩咐由函数嫁文件geomcalarx供应,支持科学/工程计算器上的大多数标准函数,如三角函数、指数、对数等,若表达式中有变I礼而该变讹在程序中己设定了值,则按该值进行计算由于该函数不是1.lSP内部南数,为使之可用,须要用ARX1.oAD吩咐我入文件gcomcal.arx,或书在吩咐行先输入CA1.吩咐,由系统自动领入.这样,程序中就可以运用该函数了.总的程序定义为c:CUrVC0,以使在AutoCAD吩咐行中与通常的吩咐一样运用.程序的总调用部分为:(arxload"gcomcal.arx"):载入供应表达式计算功能的ARX文件(vl-arx-import*c:cal):It吩咐c:CaI能好运用(PrinC"直角坐标下曲镂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依据用户选择的曲畿类型,转到相应的曲规类型绘制函数中,依次为直角坐标下的般函数、参数方程,极坐标下的一般函数和参数方程,1.1.2 直角坐标下函数y=f(x)的曲线绘制直角坐标下绘制函数曲线y=f(x)定义为Auto1.ISP子程序curxcl,该子程序没有传入传小参数,程序的第一个步骤是读入有关的参数和限制变;匕首先读入y=Rx)的表达式,然后输入自变量X的变更范用low.up,接着依据模拟精度,输入曲城剖分数目StePs,X的变更步长即为stcp=(up-low>tcps.该步骤相应的AUto1.lSP程序如下:(sctquny(e<string"y=f(x)W达式:")(SCtqIowfgctrcal"x的下限(ft:")(setqup(getreal"x的上限伯:")(SeIqSteps(getint"剖分数Il:")(sctqSteP(/(-uplow)steps)接下来就起先曲线的绘制,首先启动绘制多义践的吩咐,接着自变显X从下限值起先,由f(x)的表达式计算y坐标值,将该点的坐标输入到吩对行,得到曲线的起点,然后自变MX递墙一个步长,计算下一个坐标点,曲城连接到该点,如此内到例分数目结束,就完成了整个曲线的绘制,最终用一个空格退出多义线吩咐.相应的AUtO1.lSP程序如下:(command"plinc"):启动多义线吩咐(Setqii0);循环变革ii设初值(setqXIOW):自变吊:x设初值(while(<=iisteps):限制循环数目(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):参变量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连接起来,输入到吩咐行.也可以用另外一个简便方法,即利用极坐标和直角坐标之间的转换关系,变换到fl角坐标后输入到吩咐行,该方法对应的Auto1.ISP程序如下:(SelqiiO)(Setqek)W):设置极角0的初始值(while(<=iisteps)(setqr(cxaltuny):计尊极径r(sctqx(cxalp*cos(c)"):由极径r和极角6转换为直角坐标下的X值(Setqy(c:cal'r*sin(e)");由极径r和极角0转换为Sl角坐标下的y值(command(listXy)(ScIqii(+Iii)(Selqe(+estq>);对极角递增一个步长1.1.5 极坐标下参数方程曲线绘制极坐标下参数方程曲线的绘制,同直角坐标下的参数方程曲筏绘制是类似的,即增加-个用卷变量表达的极角的计能,相应的AUto1.lSP程序如下:(SetqiiO)(SetqiIow);设置参变量i初值为下限值(while(<=iisteps)(sctqc(cxalIunx):一表达式计算极角0(sctqr(cxalfuny):由龙达式计算板径r(setqX(c:cal"r*cos(e)")(se(qy(cxal"r"sin(e)')(command(listxy)(SeIqii(+1ii)(SeIqi(+istep)s参变量递增一个步长31.6总结利用AUtOCAD的表达式计分功能,编写出绘制平面函数曲税的AutoIJSP程序,依加外部输入的函数表达式,快速注制出函数曲跳,且可以敏捷限制曲线的模拟精度,避开了以往年绘制一种曲戏都要重新编写程序的麻烦,运用起来特别便利可以参照本文的做法,绘制三维空间曲线或其他更困难的曲线.或将表达式计算功能应用到其他设计环境中.1.2 AtTAutoCAD的戏路谖和曲战的自动绘制1.2.1 背景铁路与q路的线路在定线中由于受地形、地物或其他因素限制,须要变更方向.在变史方向处,相部两宜纹间要求用曲线连接起来,以保证行车顺畅平安这种曲税法平面曲税.铁路与马路途上来纲的平面曲tu主要有圆曲戏相缓和曲翅,如图I所示。圆曲戊是具有肯定曲率半径的明如:缓和曲戏是连接曲城与圆曲线的过渡曲线,其曲率半径P由无穷大(H战的半径)渐渐变更为掰曲线半径R,在铁路干线线路中盘要加设媛和曲线.由于缓和曲线上各点的曲率半径及圆心均为变数.所以在绘制线路平面图时,利用绘图工具无法精确、有效地绘制出缓和曲溃,目前大多数采纳他戏板近似描绘谖和曲线:或者是在AUtoeAD中,用多段线近似代替缓和曲线。这些方法作图不精确,而且作图效率低,笔者在实践中,利用Auto1.ISP煽程.实现了基于AutoCAD的线和曲线加网曲线的自动绘制.1.2.2 级和曲线的主点及要素1 .缓和曲线的形成图2(b)是没有加设缓和曲戏的即曲线,殴和曲线是在不变更直线段方向和保持队!曲线半径不变的条件下,插入到网曲线与直城段之间的平面曲线.为/在圆曲线与直线之间加入一段缓和曲线10.原来的阴曲线须要在垂直于其切观的方向上移动一段距成p(见图2(八)),因而即心就由O移动到01,而原来的半径R保持不变,2 .馍和曲线的主点ZH直线点.HY援圆点,QZ曲中点,YHKI馈点.HZ缓点点.即直线与线和曲线的分界.点:即慑和曲线与18曲线的分界点:即圆曲践的中点;即圆曲线与缓和曲线的分界点:即缓和曲线与出线的分界点:JD一两直级廷长线的交点.3,缓和曲线的综合要素T切成长,即交点至百缓点或缓宜点的宜城长度:R同曲线半径:1.曲线(圆曲税+缓和曲浅的长度:Ol缓和曲战的长度:EO一外矢距,即交点至曲线中点的距离(JD至QZ的距离)转向角.即H线转向角:OP缓和曲线的切线角,即缓圆点HY(或暇缝点YH)切税与直线点(或缓宜点HZ)切线的交角,亦即KI曲战HY-YH两端各延长201部分所对应的圆心角;m切垂距,即ZH(SlcHZ)至自IB心Ol向ZH点或IIZ点的切线作垂垂重足的距离.P圆曲场移动限.即垂线长与圆曲规半径R之差.在上述要素中,a,R,IO为己知要素(可依据实际测定或在践路设计时选定),其他要索需依据a,R,IO求得.它们的关系为4 .缓和曲线方程式由于獴和曲线的曲率半径P从直线的曲率半径(无穷大渐渐变更到圆曲线的曲率半径R,在曲线上任一点P的曲率半径P与曲戏的长度I成反比,如图3所示,以公式表示为式中C为常数,称曲率半径变更率.设B为缓和曲线上任一点的切线角,X,y为这一点的坐标,P为这一点上曲线的曲率半径,I为从ZH点到这点的缓和曲线长(见图3)“则有图3缓和曲税上任一点的坐标5 .缓和曲线用数m切垂距,即ZH(或HZ)至自Bl心.Ol向ZH点或HZ点的切然作垂垂垂足的距离.P一圆曲税移动Ii1.即垂线长与圆曲线半径R之差.1.2.3 用曲线和缓和曲战的绘制1 .绘制馈和曲战假设两面城的转角为逆时针方向.则自原点(ZH)至交点OD>为第1条直线:自交点(JD)至缓直点(HZ)为第2条直线。前面已经建立了缓和曲坡的方程式和缓和曲税常数的计算式,缓和曲找方程式的坐标系为直角坐标系,其坐标原点为口谖点(ZH),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与缓和曲爱的坐标系完全重合,如图7所示。于是可以利用援和曲线方程式,计算缓和曲线上的点的坐标,并利用样条曲线吩咐将各点连成光滑的曲线。此过程可以通过循封语句来完成“Aul1.ISP程序代码如下,(<lcfunc:hhqx(.'RI.OalphaqxmpT1.EOXOyalpha!1.I.21.5POhhqxlhyxhyyyhxyhyqzxqzyl)(setqR<gerealwn输入圆曲畿的曲率半径R:")(setqr1.O(getreal"输入缓和曲线长度1.O:")(sctqalpha(gctrcal"n输入转向角:")(sctqalphaI(/(*alphapi)180»:求缓和曲线常数:m,T1.,p,Ox,Oy(seiqmGU1.O2)(/(*1.O1.O1.O)<240(RR)(selqp(/(*1.O1.0)(424R)(SelqT1.(+in(*(+Rp)(sin<'alpha12)>(cos(/alpha12)>)>(sctqxO(-1.O(/(*1.O1.O1.O)(4()RR)j(/(1.O1.(>)(*6R);计算缓圆点的坐标(commandwucsn,'-z11(-0alpha)(commandmucsh"orM(list(-0T1.>0)(Selq1.0.)(command"spline*)(while(<1.1.o)(SeIq1.2(*1.1.)1.5(1.21.21.)(seiqx(1.(1.5(40RR1.O1.O)y(/(1.21.)(*6R1.O)(command(listxy)(seiq1.(+1.5>)(sctqXXUyyoPOaiStxy)(command)(seiqhhqx1(SSgel,1.,')2 .阿曲戏的绘制网曲线为部分加爪可以用画网弧吩咐中的“三点式咪绘制.建立图8所示的坐标系(首先复原到上一个UCS,然后烧Z轴旋转”2),鸣圆曲线在坐标系中对称于Y轴,胭弧的两那点(HY点和YH点)和曲规中点(QZ点)坐标可按下列公式计算:(setqhyx(-0(-(*(-T1.xO)(cos<abs<alphaI2)(y(sin(abs(,alpha12)(sctqhyy(+(*(-T1.x)(sin(abs(alpha!2)(y(cos(abs(alpha12)(seiqEO(-(/(+Rp)(COSQalphal2)R):计尊缓和曲线常数EO的值(sctqqzxqzyEO);计算曲中点的坐标(sctqyhx(-0hyx)yhyhyy);计算圆缝点的坐标(SeIqp3(IisthyXhyy)2(listqzxzy)pl(listyhxyhy)(command"arc"pl2p3);画面曲线(mmand"minor"hhqxl-(list00)p2"N*):用镜像的方法绘制从同援点到缓直点的援和曲线.1.3 利用AUtoUSP语言绘制带级和曲跷的铁路曲线平面图331应用背景在铁路工务部门的日常帙路设计、66工、维护工作中,常常须要绘制铁路途路平面图.而怏路途路平面图绘制的碓点在于绘制带缓和曲跋的铁路曲线.由于缓和曲线的坐标位置是通过离次方程计算得来,具布非战性的特点,因此很越在图纸上绘制出精确的位汽.无论是运用手工制图或在计算机上通过AUgCAD制图,技术人员通常是通过近似位置的方法绘制,这种方法不光须要花费大崎的时间用于曲线要素、曲线起在里程的计算.而且线位坐标也不精储.AUtOCAD不但具有完善的绘图功能、良好的用户界面,而且允许用户进行:次开发.塞于AUtOCAD自带的ViSUal1.lSP(V1.ISP)编程软件环境下,利用AlHO1.ISP语言进行:次开发,可以实现带镀和曲城的铁路曲线平面图自动绘制.Auto1.lSP程序开发思路依据指缓和曲线的帙路曲线特点,本岩为运用乔创也一个良好的人机交互环境,本程序在集一个步骤都设计了文字提示,用户只衙依据Au2CAD文本框中的提示输入已知参数,就能完成整个绘制过程,整个计算过程采纳模块化设计思想,以消息触发方式编程,将程序分成3个子程序模块,使番个程序结构合理且易于维护.333曲线基本方程式1,缀和曲线常数计算R曲线半径;Io缓和曲线长:曲线偏用:o缓和曲践的切角,即HY(或YH)点的切线与ZH(或HZ)点切跷的交角:o缓和曲戏的总偏角:m切垂即即ZH(PRHZ)都回心O向切线所做垂线垂足的距离:P圆曲线内移麻,为垂线长与圆曲线半径R之差.2 .曲线要素计算T切战长;1.曲线长:Eo外矢距:q切曲差。3 .坐标计算以ZH(11RHZ)为坐标原点.切线为X轴,垂出切线方向为y轴:3.1 自动绘制缓和曲践加阴曲税的方法探讨3.2 问题的提出铁路途路由于受地形、地物或其他因素的限制.往往须要变更方向。在线路变更方向处.相邻两条直线间要求用曲线连接起来.这种曲线称为平面曲线,它主要分为阿曲线和缓和曲线.阅曲或是具有肯定曲率半径的圆瓠,线和曲规是连接百线与圆曲线的过渡曲观,其曲率半径由无穷大直线的半径(渐渐变更为阴曲戏华径。铁跖途跖平面图上要绘出留曲线和缓和曲线.在手工缺图时代.曲城采纳标有半径的曲战板和真尺画出.误差很大.但在计算机摩图时代.常常须要精确地绘舟线路的网曲线和缓和曲线.以便精确地算出线路中心至地面上某点的距离以及复战地段两条曲线间的距离,这对于选线和优化设计有很柬要的作用.35AUlOCAD在马路路途绘图中的应用3.5.1背景近年来AUtoCAD技术飞速发展,在日路设计中的应用特别广泛,文章就绘制力路缓和曲废及里程桩的标注和加文字注解等几方面进行阐述.我们采纳AUtOCAD来进行马路设计.我们利用测法得出数据A点坐标为X=213.7748.Y=92.!II7;B点坐标为X=313.7748,Y=92.III7;C点坐标为X=399.6787,Y=143.3O26,绘制路途»线,利用测量得出数据1点坐标X=2329548,Y=92J117:2点坐标X=285.3608.Y=94.4667:3点坐标X=311.8101.Y=99.237l:4点坐标X=3369780,Y=I()8.6801;5点坐标X=383.6319,Y=133.7401绘制与路途导战相切的缓和曲战,绘制完的成图如图Io3.5.2含慑和曲城的平曲线绘制分析:由于AUgCAD不能干脆绘制缓和曲线,在AutoCAD中既可以用Plme(多义线)吩附绘制通过I、2、3、4、5点的折现,然后,再用Pcdit(多义线编辑)吩咐选择其中“S(样条曲戏化)”吩咐选项,这样可以把折规变成光滑的样条曲戏,另外,也可以采纳出样条曲线吩的绘制,而AUIoCAD中的真样条曲线最接近马路平曲戏的形态,在常用比例尺的状况下,肉眼辨别不出两者在图纸上的区分,所以我们采纳式样第曲线吩时Splinc绘制缓和曲线.F面我们分两步来完成含线和曲戏的平曲线的绘制,绘制路途导战.利用PIine多义线吩咐绘制,在吩咐行输入Pline吩咐,依据吩咐行提示依次输入A、B、C点的坐标.绘制步骡如下:吩咐;_pline指定起点:213.7748,92.1117指定下一个点或偏孤(A/半宽(三)/长度(1./放弃(U)/宽度(W):313.7748.92.1117指定下一个点或(罚弧(八)/闭合(C)/华宽(H/长度1.)I放转U)唯度(W):399.6787,143.3026结束后得到图1中的ABC折线.绘制通过1、2、3、4、5主点与路途导线相切的含缓和曲线的平曲戏。运用«样条曲践吩附绘制含缓和曲战的平曲线。站本步骤如F.吩咐:spline指定第一个点或(对象(O»:232.9548,92.1117指定下一点:285.3608,94.4667指定卜一点或(闭合(C)/拟合公差(F)指定下一点或(闭合(C)/拟合公差(F)指定下一点或(闭合(C)/拟合公差(F)指定下一点或(闭合(C)/拟合公差F)指定起点切向:232.9548,92.1117指定端点切向:383.6319.133.7401起点切向:V起点切向1V起点切向:起点切向;311.8101.336.9780.383.6319,99.2371108.6801133.7401在这里我们要留意起点切向和海点切向的选择,它们分别是I点坐标和5点坐标.箕此我们已把含缓和曲跳的平曲战部分绘制完成,353里程桩的标注和图形的文字注解我们要在1、2、3.4.5点,5个主点绘制5个曲线主点桩,可以分为以下几个步骤进行.1 .绘制曲线路段的法线我们可以利用偏移吩咐0隹必)把域和曲线向曲线弯道内侧作的f抗的移距离为5个单位.步骤如下:吩咐:.offset指定偏移距离或通过(T)|通过:5选择要偏移的对象或退出:我的用点吩咐(PoinD绘制出1、2、3、4.5点.把对象插获模式中的垂足捕狭模式和结点捕换模式选中.2 .曲线主点枇和电程标注利用绘图菜单卜的文字吩咐中的单行文字吩咐,以I点桩号标注为例,详细操作步骤如下:吩咐:.dcx1指定文字的旋转角度0:90:输入文字:k!0÷l19.067留意,文字的起点选在适当的位置旋转角度选择合适的角度.2、3、4.5点的桩号标注与其相同.标注效果中的1、2、3、4、5点上面的文字标注.以上事例为AutCCAD在马路设计中的一个例子,我们应当更加努力的去思索和探讨如何利用CAD去解决马路设计中的现实问题.3.6Visuallisp程序在土方断向图绘制上的应用3.6.1 前沿与介绍AutoCAD是运用特别广泛的计算机协助设计绘图软件,面世以来,其丰富的绘图功能,强大的编转功能和良好的用户界面深受广网工程设计制图人员的普遍欢迎。然而大量重女性工作又使得工程设计制图人员为之头痛.CAD系统供应软件的界而、环境'核心算法、数据库及设计须要相关的、校专业的支持软件,而在_1.程刈瓜中CAD无法便利的绘制工程所需的断面图、示遨图等。VisualIisp是由AUlodeSk公司开发的一杵IiSP程序语;.ViSUaIliSP功能特别强大,除了本身供应半富的功能函数外,还可以运用Activcx进行组件方式的编程.充分运用第三方所供应的ACtNCX,使得ViSUalIiSP几乎是无所不能,如可以进行数据壕访问、生成Word文档、Excel报衣等等。VisualIiSP是个可视化的确USP语言开发环境,适合开发小型规模的应用程序软件。程序设计与实现1 .简介该程序的运行是以AUtoCAD2005为平台,利用ViSUalIiSP语言进行的程序开发,法取我院自行开发的断面法土方埴计算程序的断面数据,实现断面序号、断面桩号、原现断面图的快速自动绘制.2 .断面数掘格式394断面个数I.0.0.6.4断面序号.断面枇号.原断面个数.现断面个数18.59.307.6高程.距离(原断向min)I8.74,37.O而程,距离17.56.317.017.56326.019.11,326.019.11,330.0高程.距离(原断面max)19.11.330.0高程,距离(现断面max)19.50.329.6高程.距离19.50.307518.59,307.6而程,距圉(现断面min)2.8.0.2.2断IftlJT号.断面桩号.原断面个数.现断面个数I8.59.3IO.O18.59331.019.50.331.()19.50,310.03 .设计思路4 .源程序(DEHJNC:dmv()(sctvar"cmdccho"0)(seqfd(openCgetfiled,打开数据dat"16)"R")(se(qn(READ-1.INEFD)n(readn)aOjgjsnilp<lnilp<2nilabcnil>(sctqiOjO)(SETQABC(GETINT-n注记桩号(2)都要注记(3)”)(if(=abcnil)(se<qabcI)(alert”艳离比例尺为1:1000.高程比例要自己设定)(sctqbl但Clim%请输入程比例尺<5(Xh)(if(=blnil)(setqbl500)(se(qjg(geintn诂输入断面间隔<30>")>(if(=jgnil)(sclqjg30)(SCtqpt(gctpointn请输入断面图的基点4).0>:”)(if(=p<0nil)(sctqpt(list0O)(Setqp(>(gcpoinl)(setqbln(/IObl)(while(and(>=i0>(<=in)(SCtqxx(READ-1.INEFD)(sctqxx1(read(strcat"("xx")*)(sctqa2)(if(=(11h2xxl)ni!)(progn(setqdmh(nth0xxl)zh(nlh1xxl)ydms(nth2xxl):原断面数:XdmS(nih3xxi):现断向数:j0h0):;H为现断面的循环数::(sctqa0)(setqi(nth0xxl)(progn(if(<jydms)(PrOgn(setqjgjs(jg(-iI)(Setqgez(*(nthOxxl)bln)jl(nthIxxl)(if(=jO)(Selqptzj(list(+(carx)jl)(÷(cadrt)gezjgj5)(if(j(-ydmsI)(SelqPtZy(list(+(carp(0)jl)(+(cadrpi)gezjgjs)(setqpil1(list(+(carp(O)jl)(+(Cadrpt)gezjgjs)(setqp<l(appendp<lpill)(setqj(+j1)(if(=jydms)(huitu1)(setqa1)(progn(if(and(<=h(+xdms1)(=jydms)(=a2)(Progtl(SCtqgez(*(nth0xxl)bln)jl(nthIXXI)(Setqpt22(list(carPtO)jl)什(cadrpt)gezjgjs)(SeIqt2(appendt2(X22)(setqh(+hl)(if(=hXdmS)(huitu2)(setvareCmdechowl)(princ)5 .程序运行VisualIiSP程序是说明型程序,则可由CAD装入并说明运行,Vi$iIalliSP程序文件的后缴为lsp在调用白定义程序吩时之前,必需在AUloCAD环境下把程序装我进来,程序装就胜利后就可以像运用AutoCAD的其它吩咐一样,通过键入函数名进行调用.(1)手工加载方式:打开CAD软件.在功时行杨入(Ead"文件折完整书目及文件?”).(2)自动加战方式:在启动CAD时自动加式.在CAD的安装书目下式MIPPOrt广书目,子书目下有一个acad2OO5Jsp文件,此文件为文本文件,打开文件行(load”1卬文件名”),并把自定义的文件拷贝到此甘目,在启动CAD时系统将自动加载该程序.6 .6.3结束谙用VisualIisp语言开发小程序在断面图输出中的应用,通过对子程序调用能实现断面班号、断面序号、原现断面战的分层输出,是一个很好用的程序,并H.能在本程序基础上进行部分代码的修改,从而进行道路匚程断面图的测绘.