插补算法——圆弧插补.pdf_第1页
插补算法——圆弧插补.pdf_第2页
插补算法——圆弧插补.pdf_第3页
插补算法——圆弧插补.pdf_第4页
插补算法——圆弧插补.pdf_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

17 6 16 上午10 16 H Matlab Do demo m 第 1 页 共 1 页 初始化 clear clc close all warning off feature jit off 主程序 R代表所插补的圆的半径 R 10 ThetaAround代表所要插补的角度范围 ThetaAround 135 90 90 0 0 45 Use SN代表所在控制的插补方向 Use S表示进行顺向插补 Use N表示进行逆向插补 Use SN Use S 通过OCT MControl函数进行插补并返回插补信息 Data是切削刀头的移动坐标数据 MovePosition是切削刀头的移动方向信息 Data MovePosition OCT MControl ThetaAround R Use SN 作图 动态演示插补过程 hold on grid on axis equal ezplot strcat x 2 y 2 num2str R 2 R R mycomet Data X Data Y 17 6 16 上午10 19 H OCT MControl m 第 1 页 共 1 页 function Data MovePosition OCT MControl ThetaAround O R Use SN 插补过程的总控制函数 对于跨过几个象限的圆弧 程序可以分段对其每个象限圆弧进行插补 Data X Data Y Data Fm 确定插补段数 for n 1 size ThetaAround 1 将半径及角度信息转换为插补的起始与终止点坐标 Position X FirstPosition O R cosd ThetaAround n 1 Position Y FirstPosition O R sind ThetaAround n 1 Position X EndPosition O R cosd ThetaAround n 2 Position Y EndPosition O R sind ThetaAround n 2 对每一象限的圆弧进行单独插补并返回数据 TmpData n 1 OCT GetData OCT Function Position Use SN 记录移动方向信息 MovePosition n 1 TmpData n 1 MovePosition 记录坐标及误差等数据信息 Data X Data X TmpData n 1 X Data Y Data Y TmpData n 1 Y Data Fm Data X TmpData n 1 Fm end 17 6 16 上午10 17 H Matlab mycomet m 第 1 页 共 3 页 function mycomet varargin ax args nargs axescheck varargin if nargs 3 error message MATLAB narginchk tooManyInputs end if nargs 2 x args 1 y x x 1 length y end if nargs 2 x y deal args end if nargs 3 p 0 10 end if nargs 3 x y p deal args end if isscalar p isreal p p 1 error message MATLAB comet InvalidP end ax newplot ax if ishold ax minx maxx minmax x miny maxy minmax y axis ax minx maxx miny maxy end co get ax colororder m length x k round p m if size co 1 3 colors co 1 co 2 co 3 lstyle else colors repmat co 1 3 1 lstyle end head line parent ax color colors 1 marker o linestyle none xdata x 1 ydata y 1 Tag head body matlab graphics animation AnimatedLine color colors 2 linestyle lstyle Parent ax MaximumNumPoints max 1 k tag body 17 6 16 上午10 17 H Matlab mycomet m 第 2 页 共 3 页 tail matlab graphics animation AnimatedLine color colors 3 linestyle Parent ax MaximumNumPoints 1 m tag tail if length x 0 Message n 1 1 List elseif Position X FirstPosition 0 Message n 1 1 List elseif Position X FirstPosition 0 SR2 TmpData List OCT SetData OCT ForS TmpData 2 2 Message n 1 1 List elseif Position X FirstPosition 0 Message n 1 1 List elseif Position X FirstPosition 0 Message n 1 1 List elseif Position X FirstPosition0 NR2 TmpData List OCT SetData OCT ForN TmpData 2 2 Message n 1 1 List elseif Position X FirstPosition 0 TheLastPosition NewXm TheNowPosition Xm TheLastPosition NewYm TheNowPosition Ym 1 TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Ym 1 case 2 TheLastPosition MovePosition X TheLastPosition NewXm TheNowPosition Xm 1 TheLastPosition NewYm TheNowPosition Ym TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Xm 1 case 3 TheLastPosition MovePosition Y TheLastPosition NewXm TheNowPosition Xm TheLastPosition NewYm TheNowPosition Ym 1 TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Ym 1 case 4 TheLastPosition MovePosition X TheLastPosition NewXm TheNowPosition Xm 1 TheLastPosition NewYm TheNowPosition Ym TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Xm 1 end else switch Quadrant case 1 TheLastPosition MovePosition X TheLastPosition NewXm TheNowPosition Xm 1 TheLastPosition NewYm TheNowPosition Ym TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition 17 6 16 上午10 18 H Matl OCT ForS m 第 2 页 共 2 页 Xm 1 case 2 TheLastPosition MovePosition Y TheLastPosition NewXm TheNowPosition Xm TheLastPosition NewYm TheNowPosition Ym 1 TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Ym 1 case 3 TheLastPosition MovePosition X TheLastPosition NewXm TheNowPosition Xm 1 TheLastPosition NewYm TheNowPosition Ym TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Xm 1 case 4 TheLastPosition MovePosition Y TheLastPosition NewXm TheNowPosition Xm TheLastPosition NewYm TheNowPosition Ym 1 TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Ym 1 end end end 17 6 16 上午10 18 H Matl OCT ForN m 第 1 页 共 2 页 function TheLastPosition OCT ForN TheNowPosition Quadrant 顺向插补控制函数 就是按书的原理写的 if TheNowPosition Fm 0 switch Quadrant case 1 TheLastPosition MovePosition X TheLastPosition NewXm TheNowPosition Xm 1 TheLastPosition NewYm TheNowPosition Ym TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Xm 1 case 2 TheLastPosition MovePosition Y TheLastPosition NewXm TheNowPosition Xm TheLastPosition NewYm TheNowPosition Ym 1 TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Ym 1 case 3 TheLastPosition MovePosition X TheLastPosition NewXm TheNowPosition Xm 1 TheLastPosition NewYm TheNowPosition Ym TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Xm 1 case 4 TheLastPosition MovePosition Y TheLastPosition NewXm TheNowPosition Xm TheLastPosition NewYm TheNowPosition Ym 1 TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Ym 1 end else switch Quadrant case 1 TheLastPosition MovePosition Y TheLastPosition NewXm TheNowPosition Xm TheLastPosition NewYm TheNowPosition Ym 1 TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition 17 6 16 上午10 18 H Matl OCT ForN m 第 2 页 共 2 页 Ym 1 case 2 TheLastPosition MovePosition X TheLastPosition NewXm TheNowPosition Xm 1 TheLastPosition NewYm TheNowPosition Ym TheLastPosition NewFm TheNowPosition Fm 2 TheNowPosition Xm 1 case 3 TheLastPosition MovePosition Y TheLastPosition NewXm TheNowPosition Xm TheLastPosition NewYm TheNowPosition Ym 1 TheLastPos

温馨提示

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

评论

0/150

提交评论