1、 Vb程序设计训练任务书 设计题目 绘制机械图 一. 具体内容 : 用visual basic 6.0的集成开发环境(IDE)编辑、调试、运行并生成可执行程 序,在窗体或图片框中绘制图形首先要确定坐标,坐标轴的增加方向是从左向右或从上向下。 文本的文字可以通过属性窗口设置Font属性,也可以使用代码设置,用ScaleMode属性设置坐标系的标准刻度,用内部常数来设置颜色,用CurrentX 、 CurrentY 属性来设置当前的水平和垂直坐标,用print方法显示文本。绘制图形可以使用Line和Shape控件绘制直线和六种不同的形状。
2、 二. 应用程序功能要求详细说明 三. (一)应用程序要求 1. 完成绘制右面机械图(包括主视图、左视图、俯视图,参数自拟)。 2. 机械图为参数化设计,主视图完全根据键盘输入的尺寸参数绘制,左视图和俯 视图根据主视图坐标变换获得,主视图未表达的信息再次输入尺寸参数在相应的左视 图和俯视图中予以完善。并将键盘输入信息存入文件,以便再次绘制此图。画出边框 和标题栏。 (主视图尺寸参数用文本框输入,单击“画图”按钮,弹出绘制的界面) ( 二)应用程
3、序功能 当text1—text7中输入相应数值时,点击“绘图”按钮时将程序运行所画的图形和标题栏显示在右面Picture框中,点击“清除”时可把输入框中的数值清空,点击“结束”按钮时可关闭绘出的图形,从而结束程序运行 四. 输入数据类型、格式和内容限制 其中对x、y、z、a、b、c、d输入的类型都为Integer型; msg1 、 msg2 、 msg3为String型,内容限制必须为数值型。其中的一些长度限定为If x <= 0 Or y <= 0 Or z <= 0 Or a <= 0 Or b <= 0 Or c <= 0 Or d <= 0 Or x <= a Or
4、x <= c Or z <= (b + d) Then respone = MsgBox("对不起,您输入的参数不正确!请重新输入!", vbOKOnly + vbExclamation, "出错") 四.系统主要界面描述–简要的语言描述 1)首先确定该机械三视图的坐标系为左手系未改变。其次利用Line控件绘制相 应的边线框。接着通过设置每个主视图的左边线与最高水平线与相应边线框的绝对距 离。然后通过对窗体中添加Label、text控件,用于可参数化设计通过对text中的数 据输入确定相应的相对位置尺寸和外形尺寸。通过机械三视图中的长对正、高平齐、 宽相等的
5、要求,对每个相应的坐标点进行确定相应的主视图、俯视图、左视图直接, 并将每个图形之间输入相应的间隔距离。之后在窗体中添加command控件,更改其 caption值。并将相应的视图的代码输入到对应相应caption值的command控件中。 2)在窗体上放置7个label控件,7个text控件,3个Command按钮控件,将控件里的text属性值清空,用于输入相应的定型与定位尺寸;7个label控件,分别放在相应的text控件前用于表示相应的尺寸。利用程序代码中已可用于显示的相应的标出的尺寸代号,可观察出x、y、z、a、b、c、d相应的形位尺寸所对应的直线。 通过text中
6、所对应的x、y、z、a、b、c、d赋值可改变相应的每个点的坐 标,因为所对应的边与线的距离为固定的大小,所以图形一定在所对应的窗体内。而 且还得根据坐标的限制定位标题栏的位置,确定标题栏,显示自己的名字和学号。通 过这个程序:respone = MsgBox("对不起,您输入的参数不正确!请重新输入!", vbOKOnly + vbExclamation, "出错")来提示输入参数错误时的信息。用Unload Me卸载窗体,用Picture1.Cls清除输入框内的内容,具体如图所示: 当Text1—Text7中输入500、500、
7、500、250、250、100、100数值时,点击“绘图”按钮时将程序运行所画的图形和标题栏显示在右面Picture框中得到以上图形,点 击“清除”时可清除图片框,点击“结束”按钮时结束程序运行,并且根据程序里输 入的内部常数(vbBlue)将边框显示为蓝色 3)特殊线段: 在左视图和俯视图中既有实线也有虚线,需要用Picture.Drawstyle=0来限制为 是实线,用Picture.Drawstyle=1来限制某些线段为虚线。用Picture1.DrawWidth 来设定线宽。 五.结束语
8、 VB是一种面向对象的程序语言,它简单易懂,操作简单,应用软件的开发比较简单实用. 在编写的过程中也是对各种算法和数据结构的熟练;由于是初学者,对很多知识 了解不深刻,在编辑这个程序的时候去图书馆查阅了很多资料,和同学一起讨论、研 究,在反复的琢磨下终于有了进步,通过这次作业,我学会了很多东西,掌握了visual basic 6.0 这个开发环境的应用,在不同的情况下,上网查阅,学习别人的经验,由此 掌握了很多编辑、调试、运行的技巧。 如果以后要编辑更深层次的程序,我们还得更加努力的学习和请教老师,还得 多加练习,希望我以后
9、能更好的掌握这门课程 六.源程序清单 Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer, d As Integer, x As Integer, y As Integer, z As Integer x = Val(Text1.Text) y = Val(Text2.Text) z = Val(Text3.Text) a = Val(Text4.Text) b = Val(Te
10、xt5.Text) d = Val(Text7.Text) If x <= 0 Or y <= 0 Or z <= 0 Or a <= 0 Or b <= 0 Or c <= 0 Or d <= 0 Or x <= a Or x <= c Or z <= (b + d) Then respone = MsgBox("对不起,您输入的参数不正确!请重新输入!", vbOKOnly + vbExclamation, "出错") Else ScaleMode = 6 Picture1.Scale (-1100, 1100)-(1100, -1100
11、) CurrentX = -20: CurrentY = -20 '主视图 Picture1.DrawWidth = 2 Picture1.Line (-20, 20)-Step(-x, 0) Picture1.Line (-20 - x, 20)-Step(0, z) Picture1.Line (-20 - x, 20 + z)-Step((x - c) / 2, 0) Picture1.Line (-20 - (x + c) / 2, 20 + z)-Step(0, -d) Picture1.Line (-20 - (x + c) / 2
12、 20 + z - d)-Step(-(a - c) / 2, 0) Picture1.Line (-20 - (x + a) / 2, 20 + z - d)-Step(0, -b) Picture1.Line (-20 - (x + a) / 2, 20 + z - d - b)-Step(a, 0) Picture1.Line (-20, 20)-Step(0, z) Picture1.Line (-20, 20 + z)-Step(-(x - c) / 2, 0) Picture1.Line (-20 - (x - c) / 2, 20 + z)-Ste
13、p(0, -d) Picure1.Line (-20 - (x - c) / 2, 20 + z - d)-Step((a - c) / 2, 0) Picture1.Line (-20 - (x - a) / 2, 20 + z - d)-Step(0, -b) '左视图 Picture1.Line (20, 20)-Step(y, z), , B Picture1.DrawWidth = 1 Picture1.DrawStyle = 1 Picture1.Line (20, 20 + z - d - b)-Step(y, 0) Pict
14、ure1.Line (20, 20 + z - d)-Step(y, 0) '俯视图 Picture1.Line (-20 - (x + a) / 2, -20)-Step(0, -y) Picture1.Line (-20 - (x - a) / 2, -20)-Step(0, -y) Picture1.DrawWidth = 2 Picture1.DrawStyle = 0 Picture1.Line (-20, -20)-Step(-x, -y), , B Picture1.Line (-20 - (x + c) / 2, -20)-Step
15、0, -y) Picture1.Line (-20 - (x - c) / 2, -20)-Step(0, -y) Picture1.Line (-1060, -1060)-Step(2120, 2120), vbBlue, B Picture1.Line (1060, -1060)-Step(-800, 200), vbBlue, B '输入"标题栏" Dim msg1 As String, msg2 As String, msg3 As String Picture1.Font.Size = 9 Picture1.Font.Bold = ture
16、 Picture1.Font.Name = "宋体" msg1 = " 标题栏" msg2 = "学号:***********" msg3 = "姓名***" Picture1.Print msg1 Picture1.Print Tab(25); msg2 Picture1.Print Tab(25); msg3 End If End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Command3_Click() Tex
17、t1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Picture1.Cls End Sub 指导教师___________(签字) 教研室主任__________(签字)






