脉冲增量插补算法_第1页
脉冲增量插补算法_第2页
脉冲增量插补算法_第3页
脉冲增量插补算法_第4页
脉冲增量插补算法_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 引言1.1 各种插补算法的简介1.1.1 脉冲增量插补算法脉冲增量插补又称基准脉冲插补或行程标量插补,其特点是数控装置在每次插补结束时向各个运动坐标轴输出一个基准脉冲序列,控制机床坐标轴做相互协调的运动,从而加工出具有一定形状的零件轮廓的算法。每个脉冲代表了刀具或工件的最小位移,脉冲的数量代表了刀具或工件移动的位移量,脉冲序列的频率代表了刀具或工件运动的速度。显然易见,脉冲增量插补算法的输出是脉冲形式,并且每次仅产生一个单位的行程增量,故称之为脉冲增量插补。而每个单位脉冲对应坐标轴的位移大小,称之为脉冲当量,一般用&表示或blu表示。脉冲当量是脉冲分配的基本单位,也对应于内部数据处理的一个

2、二进制位,它决定了数控机床的加工精度,对于普通数控机床一般=0.01mm,对于较为精密的数控机床一般取=0.005mm、0.0025mm或0.001mm等。这类插补算法比较简单,通常仅需几次加法和移位操作就可完成,比较容易用硬件实现,这也正是硬件数控系统较多采用这种算法的主要原因。当然,也可用软件来模拟硬件实现这类咋不运算。通常,属于这类插补算法的有:数字脉冲乘法器、逐点比较法、数字积分法以及一些相应的改进算法等。一般来讲,脉冲增量插补算法较适合于中等精度(如0.1mm)和中等速度(如13m/min)的机床数控系统中。由于脉冲增量插补误差不大于一个脉冲当量,并且其输出地脉冲频率主要受插补程序所

3、用时间的限制,所以,数控系统精度与切削速度之间是相互影响的。例如实现某脉冲增量插补算法大约需要40us的处理时间,当系统脉冲当量为0.001mm时,就可求得单个运动坐标轴的极限速度约为1.5m/min。进一步当要求控制两个或两个以上坐标轴时,所获得的轮廓速度还将进一步降低。反之,如果将系统单轴极限速度提高到15m/min,则要求将脉冲当量增大到0.01mm1。1.1.2 数据采样插补法随着数控系统中计算机的引入,大大缓解了插补运算时间和计算机复杂性之间存在的矛盾,特别是高性能直流伺服系统和交流伺服系统的研制成功,为提高现代数控系统的综合性能创造了充分的条件。与之相对应,这些现代数控系统中采用的

4、插补方法,不再是早期的硬件数控系统中所使用的脉冲增量法,而是结合了计算机采样思想的数据采样法。计算机定时对坐标的实际位置进行采样,采样数据 与指令位置进行比较,得出位置误差,再根据位置误差对伺服系统进行控制,达到消除误差,使实际位置跟随指令位置的目的。数据采样法是指上就是使用一系列首尾相连的微小直线段来逼近定曲线。由于这些线段是按一定的时间周期来进行分割的,所以,也称之为“时间分割法”。一般来讲,分割后得到的这些小线段相对于系统精度来讲仍然是比较大的。为此,必须进一步进行数据点的密化工作。通常称微小线段的分割过程是粗插补,而后续的进一步密化的过程是精插补。通过两者的紧密配合即可实现高性能的轮廓

5、插补。一般情况下,数据采样插补法中的粗插补由软件实现,并且由于其算法中涉及到一些三角函数及其它一些较复杂的函数,大多采用高级语言完成。而精插补算法大多采用前面介绍的脉冲增量法,它既可由软件实现也可由硬件实现,由于其算术计算比较简单,所以软件实现时大多采用汇编语言完成1。1.2 论文背景和主要工作该课题是配合教学改革服务的,主要是设计与开发数控技术课程配套的数控插补原理数据采样法实验教学系统。该课题主要完成对数据采样法中直接函数法、数字增量式dda圆弧插补算法的设计,并使之达到实用标准。(1) 查阅文献,收集资料, 撰写开题报告、文献综述及外文翻译。(2) 设计数控插补数据采样法实验教学系统的功

6、能。(3) 系统的界面设计。(4) 完成直接函数法、数字增量式dda圆弧插补算法的设计,使之达到正确、实用。(5) 用vb语言实现该系统各功能。(6) 完成相应的设计,编写和调试程序。(7) 提交规范的设计文档。软件使用环境条件:(1) 计算机软硬件环境(windows操作平台)。(2) 支撑软件vb语言。2 数控教学系统的优越性 2.1 增强了学校设备配备的科学性和实习安排的多样性 数控机床属于机电一体化的高科技产品,品种多、价格高。一台数控车或数控铣至少7、8万,一般也在20万左右。一台数控加工中心一般要30万左右,多则达百万甚至上千万。数控机床的实训如果完全按照实操进行,不但投入大,而且

7、消耗多、成本高,即使是实力雄厚的院校或企业也难以承受此种消耗和投入。而使用数控教学系统可以弥补此不足,使数控技术的教学达到投入少、内容多、见效快、培养的学生适应性强的目的。这种教学模式使学生对数控插补感性理性双从认知。同时,还能提高学生的学习兴趣和编程能力,是一种既经济实用、又安全可靠、功能多样的数控教学辅助工具。 2.2 提高了数控理论教学效果 在未使用教学系统之前与其它课程相同,数控教学主要是课堂板书或者ppt教学。这种教学方式不但使教师不易检查出学生所学的插补的正确与否,而且也不利于学生对插补的理解,但是这些问题在实际编程和程序运行前是必须要解决的。而在黑板上讲的各种算法极易使学习者枯糙

8、,教者乏味,所以课堂教学的效果甚微。如果把数控教学系统适时引入教学,学生所编程序可以通过数控教学系统演示出来,对程序编写的错误就能及时发现,特别是使学生对程序中复式循环指令的理解就更加容易。通过该教学系统,可使学生在教室里就能看到与课本相应的插补轨迹。这不但有利于提高数控理论教学效果,更有助于学生编程能力的提高,也为以后的实际操作奠定了坚实的基础。 2.3 如何把数控插补教学系统应用于教学 2.3.1 恰当运用教学系统,充分发挥其在教学中的作用 数控编程与操作是一门理论性和实践性均很强的课程。尤其是各种数控插补算法,因为算法种类多,运用的数学知识和数控知识综合性很强,所以学生一开始很难很好的学

9、习接受各种算法,从而造成学生在编程时出现错误,或者造成后续的学习的不完整性。在课堂教学中应重点解决数控算法的基本原理,这也是对后续更难算法学习所做的必要练习。学生上机可利用数控教学系统软件进行各种算法的输入、校验等练习,同时可让学生了解不同的插补各自的特点,轨迹和原理。通过使用数控教学系统,不仅要让学生更快、更好地掌握专业技能,还要培养学生独立解决实际问题的能力。 2.3.2 科学运用数控教学系统教学,提高学生对插补的理解程度插补就是根据零件的轮廓尺寸并结合精度和工艺等方面的要求,在已知的这些特征点之间插入一些中间点的过程。插补的选择将直接影响系统的精度,速度及加工能力范围等。教师应根据学生情

10、况区别对待,做到因人施教,恰到好处,使不同水平的学生达到分层推进、共同提高的目的。 2.4 将数控插补教学系统巧妙地安排在课堂学习之中 数控技术对于机械学生来说是一门比较难以学习的专业课程,其中的算法相对比较枯燥乏味抽象,如果学生初学时,很难上手,出现无法理解基本原理,造成基本原理的混淆,轨迹无法画出,有的算法不知道如何去算出现的累积误差等一系列问题。所以,在课堂教学中,可先用多媒体将数控插补教学系统对学生进行指导,让学生先对各种算法有个理性了解之后,再对学生进行详细的基本原理的讲解,直到学生能够熟练掌握各种算法为止。2.5 数控教学系统在教学应用中常存在的问题及解决措施 2.5.1 只注重数

11、控教学系统演示,忽视基本原理的讲解 数控加工仿真软件只是对数控插补过程进行模拟,并非完全真实的插补过程。它无法替代学生在真实课堂教学时才能学到的实际感受,尤其在各种算法的基本原理方面,插补软件只能在多媒体上演示各种算法的运行轨迹,而插补软件是无法显示插补原理,以及插补的算法。这样学习下去,易使学生产生对原理的混淆,算法的混淆,轨迹的混淆,甚至是压根儿就没有理解算法。对此,教师应引起足够重视,合理安排插补教学软件与基本原理讲解的时间和顺序。,避免学生的不理解。2.5.2 不能正确处理插补教学系统中存在的缺陷 目前我开发的数控插补教学系统的功能与一些较成熟的数控仿真软件相比还有一些差距,如运行速度

12、较慢,性能不够稳定,有些指令不能执行等问题。这些都可能使学生产生焦躁情绪甚至偏激行为,如乱按功能键、乱敲击键盘等,常常导致计算机出现“死机”现象。因此,教师应熟悉软件的主要缺陷,提前告知学生,并积极与软件设计方联系,及时予以改进。 2.5.3 易使学生对计算机产生依赖心理 有些学生自控能力较差,长时间使用数控插补教学系统学会使学生产生惰性而懒于细致学习研究插补的基本原理和整个过程,他们会认为自己懂得插补的轨迹就足够了,不在需要了解为什么选用这种插补,插补的过程具体是什么。这就要求教师加强责任心,提高管理水平,改进教学方法,减少数控插补教学系统在教学中的负效应。 总之,把数控插补教学系统用于数控

13、教学之中,将有利于改进数控教学方法,提高数控教学水平,但要正确处理其在运用中产生的问题,以便收到事半功倍的效果。 3 数据采样法原理介绍和算法的实现3.1 概述数控系统的轮廓控制的关键是怎样控制刀具或工件的运动轨迹。在机床的实际加工中,加工工件的轮廓形状千差万别,各种各种。严格来说,为了满足几何尺寸精度的要求,刀具中心轨迹应该准确地依照工件的轮廓形状生成。然而,对于简单的曲线,数控装置易于实现,但对于较复杂的形状,若直接生成,势必会使算法变得更复杂,计算工作量也将大大增大。为了解决这一难题同时又能对刀具的运动轨迹和进给速度进行控制,在数控装置中采用了插补。所谓插补就是根据零件的轮廓形状并结合精

14、度和工艺等方面的要求,在已知的这些特征点之间插入一些中间点的过程。换句话说,就是数据点的密化过程。事实上,插补就是根据给定的数学函数,在理想的轨迹或轮廓的已知点之间,确定一些中间点的一种计算方法。插补模块是整个数控系统中一个极其重要的功能模块,其算法的选择将直接影响系统的精度,速度加工能力范围等。机械零件的轮廓大部分由直线和圆弧组成,因此大多数数控装置一般都具有直线和圆弧插补功能。只有在某些档次比较高或有特殊要求的cnc装置中才具有抛物线,螺旋线插补等功能。在早期的硬件数控系统中,插补过程是由一个专门完成脉冲分配计算(即插补运算)的计算装置-插补器完成的,而在计算机数控系统(cnc)中,既可以

15、全部由软件实现,也可以由软,硬件结合完成。显然,第一种方法速度快,但电路复杂,并且调整和修改都相当困难,缺乏柔性;第二种方法虽然比第一种方法速度满意点,但调整方便,特别是计算机处理速度不断提高,为缓和速度矛盾创造了有利条件。零件程序中提供了直线的起点和终点坐标、圆弧的终点坐标以及圆弧走向(顺时针走向和逆时针走向)和圆心相对起点的偏移量或圆弧半径。除了上述几何信息外,零件程序中还有所要求的轮廓进给速度和刀具参数等工艺信息。插补的任务是根据程编进给速度的要求,完成从轮廓起点到终点的中间点坐标值的计算。插补是实时性很强的工作,每个中间点的计算时间直接影响系统的控制速度,中间点坐标的计算精度又影响到整

16、个数控系统的精度。因此,插补算法对整个系统的指标至关重要。有关插补算法的问题,除了要保证插补计算的精度之外,还要求算法简单。这对于硬件数控来说,可以简化控制电路,采用较简单的运算器。而对于计算机数控系统来说,则能提高运算速度,使控制系统较快且均匀地输出进给脉冲。所以,寻求一种简便有效地插补算法一直是努力的目标。随着相关学科特别是计算机技术的迅速发展,插补算法也在不断地进行自我完善。从产生的数学模型来分,有直线插补、二次曲线插补等;从插补计算输出地数值形式来分,有基准脉冲插补(又称脉冲增量插补)和数据采样插补。在基准脉冲插补中,按基本原理又分为以区域判别为特征的逐点比较法插补、以比例乘法为特征的

17、数字脉冲乘法器插补、以数字积分法进行运算的数字积分插补、以矢量运算为基本的矢量判别法插补、兼备逐点比较和数字积分特征的比较积分法插补等。在cnc系统中,除了可采用以上基准脉冲插补法中的各种插补原理外,还可以采用各种数据采样插补方法。3.2 插补周期与精度、速度之间的关系在数据采样法直线插补过程中,由于给定轮廓本身就是直线,那么插补分割后的小直线段是与给定直线重合的,也就不存在插补误差问题。但在圆弧插补过程中,一般采用切线、内接弦线和内外均差弦线来逼近圆弧,显然,这些微小直线段不可能完全与圆弧相重合,从而造成了轮廓插补误差。下面就以弦线逼近为例加以分析。如图3.1所示弦线逼近圆弧的情况,其最大径

18、向误差为: (3.1) 式中:为被插补圆弧半径,mm;为步距角,每个插补周期所走对应的圆心角,且: (3.2)反过来,在给定了允许的最大径向误差后,也可求出最大的步距角为 (3.3)由于很小,现将按幂级数展开,有 = - (3.4)现取其中的前两项,代入式1.2中,得 (3.5)可见,在圆弧插补过程中,插补误差与被插补圆弧半径、插补周期以及程编进给速度有关。若越长,或越大,或越小,则插补误差就越大.为使尽可能小,进给速度尽可能尽可能大,插补周期应尽可能小。在一台数控机床上,允许插补误差是一定的,它应小于数控机床的一个脉冲当量。对于给定的某段圆弧轮廓来讲,在可能的情况下,大曲率半径的轮廓曲线可获

19、得较高的允许切削速度。因此,插补周期确定之后,一定的圆弧半径影音与之对应的最大进给速度限定,以保证逼近误差不超过允许值。如图3.1所示。图3.1 内接弦线逼近圆弧图3.3 数字增量式dda插补计算法3.3.1 基本原理由脉冲增量方式的dda插补算法可知,圆弧插补的公式为: (3.6) 式中:为数字积分的微小时间间隔;、为脉冲增量输出;、为插补动点坐标;,相当于采用进给率数frn来编程,其中v为道具沿圆弧运动的速度,为圆弧半径。在式(3.6)的基础上,取作为数据采样粗插补的插补周期,可将式(3.6)变换为数字增量式dda圆弧插补法的计算公式: (3.7) 式中:是每个插补周期内刀具在圆弧上移动的

20、弧长。3.3.2 算法的实现数字增量式dda圆弧插补算法示于图3.2中,圆弧ae的圆心在坐标原点,起点a(),终点e(),半径为r。设插补周期为,刀具沿圆弧移动速度为,则可按如下方式实现数字增量式dda圆弧插补。 插补准备 (进给率数) (3.8) 插补计算 (3.9) (3.10) (3.11) (3.12) 根据式(3.6)的算法形成的数字增量式dda圆弧插补轨迹abcdef如图3.2、图3.3所示1。图3.2 数字增量式dda圆弧插补算法图图3.3 数字增量式dda圆弧插补轨迹3.4 直接函数法3.4.1 基本原理直接函数法插补中将坐标轴分为长轴和短轴,取位移增量值大的轴为长轴。圆弧插补

21、时,动点坐标值越大,则增量值越大,这是因为轴的进给速度与坐标绝对值成反比。因此,取坐标绝对值小的轴为长轴。图3.4中,设刀具沿圆弧的速度f做顺时针运动,插补点a(,),b(、)。弦ab是圆弧ab对应得弦长,即插补周期t内的进给步长.当刀具由a点移动到b点时,在x方向上有一个增量+,在y方向上有一个增量-。由于a、b都是圆弧上的点,故他们应满足圆的方程,即: (3.13)在图1-4中,故x为长轴,应先求。由图中几何关系得: (3.14) (3.15)式中:为弧ab所对应的圆心角,即步距角;m为弦ab的中点。所以有 (3.16) 上式中的仍为未知,需采用近似运算,由于圆弧插补中,前后两次坐标位置增

22、量值和相差很小,所以用近似代替,得: (3.17) (3.18)若和满足(2.4)即可保证插补点落在圆上,所以: (3.19)由于步距角一般很小,和的初值可近似为: (3.20) (3.21)式中:和为圆弧起点坐标。上述计算过程中的近似处理,并不影响圆弧精度,由式(3.13)已保证了插补点必然在圆上,并影响了合成进给速度的均匀性,且影响很小。若,则应取y轴为长轴,其推导过程同前面一样,只是应计算,得: (3.22) (3.23)图3.4 直接函数法圆弧插补原理图3.4.2 算法的实现直接函数法德计算步骤为插补准备当时 (3.24) 当时 (3.25) 插补计算 (3.26) 式(3.25)和式

23、(3.26)中的符号选取与圆弧所在象限和区域有关。图3.5中表示xoy平面中圆弧所在象限和区域有关。图中表示xoy平面中圆弧的区域划分,用45直线将圆划分为4个区域、。图3.5 圆弧插补区域划分图 在区中,故以x轴为长轴,且,因此也应大于零,式(3.24)可写成:在中,也以x轴为长轴,且。故: 即 在中,故以y轴为长轴,且,有 同理,在区中,由于,有 即 (3.27)按以上公式可归纳出表3.1的圆弧插补4个象限的插补公式,可以实现xoy平面内顺、逆顺的插补。由于公式中的和均为代数值,所以能正确自动过象限。终点判别条件为:,其中和为圆弧终点坐标。表3.1 直接函数法圆弧插补公式表区域号长轴进给量

24、短轴进给量4 数控仿真系统总体设计思想4.1 数控系统需求分析教学系统是给老师的教学带来便利,给学生的学习带来方便,所以要求编出来的教学系统简单实用,能够快速的解决老师的上课任务,又能使学生能够很容易的接受。在我们数控学习中,发现老师在给我们授课时,直接函数法和数字增量式dda算法同学们比较难以接受,所以我们需要把它形象化,具体化,这样不仅可以减轻老师的教学负担,而且同学们学习起来也更加轻松。通过我对数控技术和visual basic的思考和理解,我制定了数控插补教学。系统的设计的五个主要步骤:(1)设计数控插补数据采样法实验教学系统的功能。(2)系统的界面设计。(3)完成直接函数法、数字增量

25、式dda圆弧插补算法的设计,使之达到正确、实用。(4)用vb语言实现该系统各功能。(5)完成相应的设计,编写和调试程序。4.2 运用的控件和主要对象我们在设计过程中主要用到的控件有:command控件,image控件,picture控件,label控件, text控件,vsroll控件等等。4.3 主要实现的功能我设计的数控插补系统,主要实现了以下几种功能:(1)可以对参数进行输入,设置,比如x起点坐标,y起点坐标,x终点坐标,y终点坐标(0-99),插补周期(ms),进给速度(mm/min)。(2)可以实现圆弧的直接函数法,数字增量式dda圆弧插补。(3)可以规定圆弧的方向,顺时针或者逆时针

26、。(4)当点击确定按钮式,坐标轴可以显示出来。(5)当点击运行按钮时,开始进行插补。(6)当点击单步按钮时,开始逐步插补,显示坐标的进给。(7)当点击清除按钮时,清空屏幕。具体设计如图4.1所示。图4.1 教学系统的设计界面图5 数控插补教学系统的详细设计在我长期努力下,此次设计,终于能够圆满完成。由于时间的紧促,在设计中,也许会有一些考虑不周之处,但其功能已经能够基本满足毕业设计的要求,相信假以时日,一定能做出一个更经典,更完美的数控插补教学系统,下面我们将设计过程中遇到的技术难点的具体解决方案展示给大家。5.1 界面的设计界面设计必须满足能用直接函数法或数字增量式.dda法实现对顺时针圆弧

27、、逆时针圆弧的插补。利用vb控件实现对软件的控制。先利用4个frame框架。frame1框架下设置一组optionbutton选项按钮,“圆弧”。frame2框架下设置一组optionbutton选项按钮,“顺时针”,“逆时针”。frame3“算法”框架下设置另一组optionbutton选项按钮,“数字增量式dda法”“直接函数法”。frame3“坐标”框架下设置6个文本框,分别供用户填入起点坐标及终点坐标,还有“插补周期”,“进给速度”。frame4“运行”框架下设置了4个commandbutton命令按钮,“确定”“清除”“运行”“单步”。满足对四种运行方式的控制。图像控件用于显示一个图

28、形,该图形可以是来自硬盘上的位图文件或图标文件,图像控件还可以随意调整图形的大小;图片框功能更强大,不仅可以显示图形和文本,还可以用于创建动画图形。图片框控件的属性要比图像控件多很多。这些属性大多与在程序运行时激活的“绘图”方法有关。另外,图片框控件还像窗体一样作为其他控件的容器。界面设计如图712。5.2 坐标轴的显现在使用者输入起点坐标及终点坐标后,picturebox里先出现一个坐标轴。使用容器对象的scale方法,可随意定义自己的坐标系。使用scale方法的格式如下:object.scale(x1,y1)-(x2,y2)编写的代码如下:picture1.scale (-20, 20)-

29、(20, -20)定义了图片框里的作标后就可以根据图片框的大小和里面的单元大小画出坐标轴,在图片框内确定坐标轴的位置。画线用line语句,代码如下:picture1.line (-18, 18)-(-18, -18)picture1.line (-19, 16)-(-18, 18)picture1.line (-18, 18)-(-17, 16)picture1.line (-18, -18)-(18, -18)picture1.line (16, -17)-(18, -18)picture1.line (18, -18)-(16, -19)在代码的开头加上“private sub comma

30、nd1_click()”但使用者按下确定按钮后图片框里就会出现坐标轴的线条。picture1.scale(-n,n)-(n,-n) 建立x坐标轴picture1.line(-u,0)-(u,0) 建立y坐标轴picture1.line(0,u)-(0,-u) 对坐标绝对值小于等于10的进行标注select case b对小于10的x轴正值进行标注case is = 10currentx = 0 v = 0 for k = 0 to b picture1.line (v, 0)-(v, 0.2) picture1.currentx = v picture1.currenty = -0.2 pic

31、ture1.print currentx currentx = currentx + 1 v = v + 1 picture1.line (u, 0)-(u - 0.3, 0.3) 画x坐标轴的箭头: picture1.line (u, 0)-(u - 0.3, -0.3) picture1.currentx = u picture1.currenty = -1 picture1.print x next currentx = 0 v = 0 for h = -b to 0 对小于10的x轴负值进行标注: picture1.line (v, 0)-(v, 0.2) picture1.curre

32、ntx = v picture1.currenty = -0.2 picture1.print currentx currentx = currentx - 1 v = v - 1 picture1.line (u, 0)-(u - 0.3, 0.3) 画x轴坐标轴的箭头: picture1.line (u, 0)-(u - 0.3, -0.3) picture1.currentx = u picture1.currenty = -1 picture1.print x next current y = 0 current x = 0 c = 0 for i = 1 to b 对小于10的y轴的

33、正值进行标注: currenty = currenty + 1c = c + 1 picture1.line (0, c)-(0.2, c) picture1.currentx = -0.5 picture1.currenty = c picture1.print currenty picture1.line (0, u)-(0.3, u - 0.3) 画y坐标轴的箭头: picture1.line (0, u)-(-0.3, u - 0.3) picture1.currentx = -0.8 picture1.currenty = u picture1.print y next curren

34、ty = 0 currentx = 0 c = 0 for j = -b to -1 对小于10的y轴的负值进行标注: currenty = currenty - 1 c = c - 1 picture1.line (0, c)-(0.2, c) picture1.currentx = -0.5 picture1.currenty = c picture1.print currenty picture1.line (0, u)-(0.3, u - 0.3) 画y坐标轴的箭头: picture1.line (0, u)-(-0.3, u - 0.3) picture1.currentx = -0

35、.8 picture1.currenty = u picture1.print y nextcase is = b then exit for end if next w = 0 currentx = 0 currenty = 0 w = 0 for int10 = -20 to 0 对x轴的负值进行标注。 picture1.line (w, 0)-(w, abs(z / 4) picture1.currentx = w picture1.currenty = -abs(z)picture1.print currentx currentx = currentx - z w = w - z if

36、 w = b then exit for end if picture1.line (0, d)-(abs(z / 4), d) picture1.currentx = -abs(z) picture1.currenty = d picture1.print currenty next currenty = 0 currentx = 0 d = 0 for int12 = -20 to -1 对y轴的负值进行标注: currenty = currenty - z d = d - z if d -b then exit forend if picture1.line (0, d)-(abs(z

37、/ 4), d) picture1.currentx = -abs(z) picture1.currenty = d picture1.print currenty next if b mod 10 0 then 对x,y轴的终点坐标值进行标注: currentx = b currenty = b picture1.currentx = b + abs(z / 4) picture1.currenty = -abs(z) picture1.print currentx picture1.line (b, 0)-(b, abs(z / 4) picture1.currentx = -abs(z)

38、 picture1.currenty = b + abs(z / 4) picture1.print currenty picture1.line (0, b)-(abs(z / 4), b) b = -b currentx = b currenty = b picture1.currentx = b - abs(z / 4) picture1.currenty = -abs(z) picture1.print currentx picture1.line (b, 0)-(b, abs(z / 4) picture1.currentx = -abs(z) picture1.currenty =

39、 b picture1.print currenty picture1.line (0, b)-(abs(z / 4), b) elsecurrentx = b currenty = b picture1.currentx = b picture1.currenty = -abs(z) picture1.print currentx picture1.line (b, 0)-(b, abs(z / 4) picture1.line (-b, 0)-(-b, abs(z / 4) picture1.currentx = -abs(z) picture1.currenty = b picture1

40、.print currenty picture1.line (0, b)-(abs(z / 4), b) picture1.line (0, -b)-(abs(z / 4), -b) b = -b currentx = b currenty = b picture1.currentx = b picture1.currenty = -abs(z) picture1.print currentx picture1.line (b, 0)-(b, abs(z / 4) picture1.line (-b, 0)-(-b, abs(z / 4) picture1.currentx = -abs(z) picture1.currenty = b picture1.print currenty picture1.line (0, b)-(abs(z /

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论