《机床数控技术》课程设计。
说明书。班级:
学号:姓名:
指导教师:时间。
说明书。课设任务:
dl2 ,dda法插补第二象限直线 pa34,逐点比较法插补第3-4象限逆圆弧。
课设要求:具有数据输入界面,如起点、终点、圆心、半径及插补步长等。
具有插补过程的动态显示功能,如单步插补、连续插补。
插补的步长可调。
编程语言:visual basic
程序设计流程图:
dda法插补第二象限直线:
逐点比较法插补第3-4象限逆圆弧:
变量说明、源程序。
dim a!, b!, c!
, d!, e!, f!
, g!, h!, i!
, j!, k!, l!
, m!, n!, p!
, q!
dim x1!, x2!, x3!
, f1!, xp!, yp!
, y1!, y2!, y3!
, x0!, y0!, r!
, s!, t!, u!
, v!, w!, x!
, y!, z!,o1!
private sub command1_click直线dda连续插补。
a = b = 直线起点坐标(a,b)
c = d = 直线终点坐标(c,d)
e = 直线插补步长。
f = a - c)
g = d - b)
(a, b)-(c, d)
if f > g then h = f else: h = g
i = 1do while (2 ^ i) i = i + 1 loopj = 0 k = 0l = a m = bfor n = 0 to (2 ^ i) step 1 j = j + f p = lif (j / 2 ^ i)) e then j = j - e * 2 ^ i): l = l - e k = k + g q = mif (k / 2 ^ i)) e then k = k - e * 2 ^ i): m = m + e (p, q)-(l, m), vbred next n end sub private sub command2_click圆弧单步逐点插补。 x1 = y1 = x2 = y2 = r = u = dim xe, ye as single xe = x1 + x2) /2 ye = y1 + y2) /2 s = sqr(((x2 - x1) ^2 + y2 - y1) ^2)) 2 t = y2 - y1) /x2 - x1) if y1 = y2 then x0 = x1 + x2) /2 y0 = y1 + sqr(r ^ 2 - s ^ 2) elseif y1 < y2 then x0 = xe - sqr((r ^ 2 - s ^ 2) *t ^ 2 / 1 + t ^ 2)) y0 = xe - x0) /t + ye elseif y1 > y2 then x0 = xe + sqr((r ^ 2 - s ^ 2) *t ^ 2 / 1 + t ^ 2)) y0 = xe - x0) /t + ye end if if (x0 < x1 and y0 >=y2) then x = 2 * 3.14 + atn((y1 - y0) /x1 - x0)):y = 2 * 3. 14 + atn((y2 - y0) /x2 - x0)) if (x0 = x1 and y0 >=y2) then x = 3 * 3.14 / 2): y = 2 * 3.14 + atn((y2 - y0) /x2 - x0)) if (x0 > x1 and x0 < x2 and y0 >=y1 and y0 >=y2) then x = 3.14 + atn((y1 - y0) /x1 - x0)):y = 2 * 3. 14 + atn((y2 - y0) /x2 - x0)) if (x0 > x2 and y0 >=y1) then x = 3.14 + atn((y1 - y0) /x1 - x0)):y = 3. 14 + atn((y2 - y0) /x2 - x0)) if (x0 = x2 and y0 >=y1) then x = 3.14 + atn((y1 - y0) /x1 - x0)):y = 3 * 3.14) /2 (x0, y0), r, ,x, y select case (o1 = 0) case 1 f1 = 0 xp = x1 yp = y1 o1 = 1 end select if (xp >=x1 and xp < x0 and xp < x2) then if f1 >=0 then f1 = f1 + 2 * xp - x0)) u ^ 2: v = xp: xp = xp + u (v, yp)-(xp, yp), vbblue elsef1 = f1 - 2 * yp - y0)) u ^ 2: w = yp: yp = yp - u (xp, w)-(xp, yp), vbblue end if elseif (xp >=x0 and (xp < x2 or yp < y2)) then select case (xp > x2) case 0 if f1 >=0 then f1 = f1 + 2 * yp - y0)) u ^ 2: w = yp: yp = yp + u (xp, w)-(xp, yp), vbblue elsef1 = f1 + 2 * xp - x0)) u ^ 2: v = xp: xp = xp + u (v, yp)-(xp, yp), vbblue end if end select end if end sub private sub command4_click圆弧连续逐点插补。 x1 = y1 = 圆弧起点坐标(x1,y1) x2 = y2 = 圆弧终点坐标(x2,y2) r = 圆弧半径。 u = 圆弧插补步长。 dim xe, ye as single xe = x1 + x2) /2 ye = y1 + y2) /2 s = sqr(((x2 - x1) ^2 + y2 - y1) ^2)) 2 t = y2 - y1) /x2 - x1) if y1 = y2 then x0 = x1 + x2) /2 y0 = y1 + sqr(r ^ 2 - s ^ 2) elseif y1 < y2 then x0 = xe - sqr((r ^ 2 - s ^ 2) *t ^ 2 / 1 + t ^ 2)) y0 = xe - x0) /t + ye elseif y1 > y2 then x0 = xe + sqr((r ^ 2 - s ^ 2) *t ^ 2 / 1 + t ^ 2)) y0 = xe - x0) /t + ye圆弧圆心(x0,y0) end if if (x0 < x1 and y0 >=y2) then x = 2 * 3.14 + atn((y1 - y0) /x1 - x0)):y = 2 * 3. 14 + atn((y2 - y0) /x2 - x0)) if (x0 = x1 and y0 >=y2) then x = 3 * 3.14 / 2): y = 2 * 3.14 + atn((y2 - y0) /x2 - x0)) if (x0 > x1 and x0 < x2 and y0 >=y1 and y0 >=y2) then x = 3.14 + atn((y1 - y0) /x1 - x0)):y = 2 * 3. 14 + atn((y2 - y0) /x2 - x0)) if (x0 > x2 and y0 >=y1) then x = 3.14 + atn((y1 - y0) /x1 - x0)):y = 3. 14 + atn((y2 - y0) /x2 - x0)) if (x0 = x2 and y0 >=y1) then x = 3.14 + atn((y1 - y0) /x1 - x0)):y = 3 * 3.14) /2 (x0, y0), r, ,x, y 目录。1 课程设计任务2 2 课程设计要求2 3 编程语言2 4 详细程序设计流程图2 5 程序变量及说明,源程序5 6 参考资料6 源程序附件7 一 课程设计任务 设计及编制软件,实现,1 对位于第三象限的直线用dda法插补 2 对位于第四和第三象限的顺圆弧用逐点比较法插补。二 课程设计要求 1 ... 设计课题 编制如图所示零件的加工程序,材料为45号钢,棒料直径为 40mm。轴零件图。轴的加工效果图。1.零件的工艺分析。该零件表面由圆柱 圆锥 圆弧 槽及螺纹组成。零件图上给定的几处精度要求较高的尺寸,公差值较小,编程时按基本尺寸编写。根据零件图样尺寸分布情况,确定工件坐标系原点o取在工件右端面中... 姓名李牧奇。专业班级 机械设计制造及自动化0706 学号0700010643 指导老师胡明哲。成绩。日期2009.12.14 12.25 一 设计零件。二 图样分析。1.该零件由圆弧 凹槽和孔组成,中心孔的轴线为编程基准,其余四个孔均匀分布,有较严格的尺寸精度 位置精度和表面粗造度的要求,零件材料为...数控机床课程设计
数控机床课程设计
数控机床课程设计