课程设计文本编辑器的设计(1)

《高级语言程序设计》

课程设计报告

题目: 文本编辑器的设计 专业: 计算机科学与技术 班级: 14计科一班

姓名: 彭鑫 指导教师: 王峻

成绩:

计算机学院 2015年4月24日

2014-2015学年 第2学期

目录

1 设计内容及要求 (2)

1.1设计内容.................................... 错误!未定义书签。

1.2具体要求 (2)

2 概要设计 (2)

2.1系统的功能简介 (2)

2.2系统功能模块图.............................. 错误!未定义书签。

2.3各个模块之间的主要关系 (3)

3 详细设计 (4)

3.1文件操作 (4)

3.2编辑操作 (9)

3.3工具操作 (17)

4 程序运行结果与调试 (19)

4.1 在调试过程中出现的一些问题 (19)

4.2 实验结果 (20)

5 课程设计总结与感想 (24)

参考文献 (24)

源代码 (25)

1 设计内容及要求

1.1设计内容

该文本编辑器运行后弹出文本编辑器的主界面,由键盘输入或以打开的方式输入或显示文本文件内容。其中程序的编辑项可对当前的文本进行撤销、删除、剪切、复制、粘贴、在文本里显示当前时间、全选、清除、查找、替换、统计等功能。程序的文件项可以对电脑上txt,c++等格式文件的打开、对当前文本的保存和另存、对当前文本的的新建以及退出文本编辑系统。程序的工具项为背景音乐,为用户提供了优美动听的音乐,仅在用户编辑疲惫乏力的时候尽情的享用。最后在程序的帮助项有对该小型文本编辑器的关于,用来介绍该程序,还有访问链接百度,访问114网页大全,为用户提供查找资料等功能服务。

1.2具体要求

基本要求:编辑器应具备对文本文件的打开、保存、新建、查找、插人、删除、修改、字符串替换、统计字数,统计行数等功能,对于超过一屏的长文件,应能够分页显示。设计用户接口命令,实现对文本的编辑

2 概要设计

2.1系统的功能简介

输入一页文字,程序实现文字、数字、空格的统计;可以删除一行信息;查找定位单词;定行位置插入;文件存盘;装入文件;并能显示输入及其他功能。

2.2系统功能模块图

运行所需环境:win7及以下各版本windows,visual C++6.0。

2.3各个模块之间的主要关系

该系统的功能主要是实现文本的输入,并对文本的相应信息进行的操作。各个模块之间的关系是相互联系的。首先,主函数包含了所有的子函数。主函数是整个系统的核心。子函数之间也是有联系的,对文本信息的显示、删除、统计、查找、插入,存储,装入,必须是在文本信息输入的情况下进行的。因此对文本的输入是非常重要的。在文本的删除、统计、查找、插入、存储、装入、保存所有的子函数之间是没有多大联系的。

3 详细设计

3.1文件操作

(1)文件的新建的实现:

int ret=MessageBox(NULL,TEXT("是否把更改保存到新建的文本文档!!!"),TEXT("温馨提示"),MB_YESNO | MB_ICONQUESTION);

if(ret==IDYES) //根据选择如果保存

{

OPENFILENAME ofn; //文件对象

char szFile[MAX_PATH]; //文件的大小,最大

ZeroMemory(&ofn,sizeof(ofn)); //文件的初始化

ofn.lStructSize = sizeof(ofn);

ofn.lpstrFile = szFile;

ofn.lpstrFile[0] = TEXT('\0');

ofn.nMaxFile = sizeof(szFile);

ofn.lpstrFilter = TEXT("ALL\0*.*\0Text\0*.TXT\0C++\0*.cpp\0"); //保存的文件类型

ofn.nFilterIndex = 1;

ofn.lpstrFileTitle = NULL;

ofn.nMaxFileTitle = 0;

ofn.lpstrInitialDir = NULL;

ofn.hwndOwner = hwnd;

ofn.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

ofn.lpstrTitle=TEXT("保存");

if (GetSaveFileName(&ofn))

{

FILE *fp;

fp=fopen(szFile,"w"); //打开文件

if(fp==NULL)

{

MessageBox(NULL,TEXT("文件无法保存"),TEXT("呜呜"),MB_OK);

}

TCHAR str[10000];

TCHAR end[10000];

memset(end,0,10000);

GetDlgItemText(hwnd,IDC_EDIT1,str,sizeof(str));

fputs(str,fp);

fclose(fp);

}

SetDlgItemText(hwnd,IDC_EDIT1,"");

}

else

{

SetDlgItemText(hwnd,IDC_EDIT1,"");

}

(2)文件打开的实现:

case ID_MENUITEMOPEN: //文本的打开

{

OPENFILENAME ofn;

char szFile[MAX_PATH]; //保存路径变量

ZeroMemory(&ofn,sizeof(ofn));

在这里我们使用ZeroMemory“函数”,ZeroMemory其实并不是函数,看一下ZeroMemory的定义:

ofn.lStructSize = sizeof(ofn);

ofn.lpstrFile = szFile;

//szFile是一个字符数组,那么szFile这个名字就代表这个字符数组的首地址

这是一个指针的应用,把接收选择文件名的数组的地址传递到GetOpenFileName函数中。

ofn.lpstrFile[0] = TEXT('\0');

ofn.lpstrFile[0] = TEXT('\0');效果等价于ZeroMemory(szFile,sizeof(szFile)/sizeof(char));

ofn.nMaxFile = sizeof(szFile);

ofn.lpstrFilter = TEXT("ALL\0*.*\0Text\0*.txt\0");

文件过滤器

*.*就表示所有文件*.txt就表示所有文本文件abc*.*就表示所有以abc开头的文件

abc*.txt就表示所有以abc开头的文本文件(txt)

ofn.lpstrFilter = TEXT("ALL\0*.*\0Text\0*.TXT\0");用“\0”分割出几个段,每两段是一组过滤器,每组的第一个段代表过滤器的显示的值,而第二段表示真正的过滤器

ofn.nFilterIndex = 1; //选择一个过滤器

ofn.lpstrFileTitle = NULL;

windows的一个惯例:结构体的指针类型别名一般是LP+结构体的名字GetOpenFileName(&ofn)而不是GetOpenFileName(ofn),因为GetOpenFileName函数要的是OPENFILENAME的指针(8)只要用户还没关闭对话框,那么GetOpenFileName函数是停住的,同步模式的PlaySound 以及getchar、scanf是一样的。用户关闭对话框,GetOpenFileName函数返回,返回值是BOOL,等于TRUE表示用户选择了文件,如果等于FALSE就表示用户选择了【取消】按钮

ofn.nMaxFileTitle = 0;

ofn.lpstrInitialDir = NULL;

ofn.hwndOwner = hwnd;

ofn.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

if(GetOpenFileName(&ofn))

{

FILE *fp;

fp=fopen(szFile,"r");

if(fp==NULL)

{

MessageBox(NULL,TEXT("文件打开错误!"),TEXT("记事本"),MB_OK);

}

TCHAR line[256];

TCHAR end[10000];

memset(line,0,256);

memset(end,0,256);

while(!feof(fp))

{

fgets(line,sizeof(line),fp);

lstrcat(end,line);

int w=strlen(end);

end[w-1]='\0';

lstrcat(end,"\r\n");

}

SetDlgItemText(hwnd,IDC_RICHEDIT1,end);

fclose(fp); //关闭文件

}

break;

}

break;

(3)文件保存的实现:

case ID_MENUITEMSAVE: //文本的保存

{

OPENFILENAME ofnb;

char bcFile[MAX_PATH];

ZeroMemory(&ofnb,sizeof(ofnb));

ofnb.lStructSize = sizeof(ofnb);

ofnb.lpstrFile = bcFile;

ofnb.lpstrFile[0] = TEXT('\0');

ofnb.nMaxFile = sizeof(bcFile);

ofnb.lpstrFilter = TEXT("ALL\0*.*\0Text\0*.txt\0");

ofnb.nFilterIndex = 1;

ofnb.lpstrFileTitle = NULL;

ofnb.nMaxFileTitle = 0;

ofnb.lpstrInitialDir = NULL;

ofnb.hwndOwner = hwnd;

ofnb.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST|OFN_OVERWRITEPROMPT;

if (GetSaveFileName(&ofnb))

{

FILE * fp = fopen (".txt","w"); //保存所有文件都为txt格式

TCHAR baoc [100000]; //保存的最大容量为100000

GetDlgItemText(hwnd,IDC_RICHEDIT1,baoc,sizeof(baoc));

fputs(baoc,fp);

fclose(fp);

}

}

break;

(4)退出文本编辑器的实现:

int ret=MessageBox(NULL,TEXT("是否把更改保存到新建的文本文档!!!"),TEXT("温馨提示"),MB_YESNO | MB_ICONQUESTION);

if(ret==IDYES)

{

OPENFILENAME ofn;

char szFile[MAX_PATH];

ZeroMemory(&ofn,sizeof(ofn));

ofn.lStructSize = sizeof(ofn);

ofn.lpstrFile = szFile;

ofn.lpstrFile[0] = TEXT('\0');

ofn.nMaxFile = sizeof(szFile);

ofn.lpstrFilter = TEXT("ALL\0*.*\0Text\0*.TXT\0C++\0*.cpp\0");

ofn.nFilterIndex = 1;

ofn.lpstrFileTitle = NULL;

ofn.nMaxFileTitle = 0;

ofn.lpstrInitialDir = NULL;

ofn.hwndOwner = hwnd;

ofn.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

ofn.lpstrTitle=TEXT("保存");

if (GetSaveFileName(&ofn))

{

FILE *fp;

fp=fopen(szFile,"w");

if(fp==NULL)

{

MessageBox(NULL,TEXT("文件无法保存"),TEXT("呜呜"),MB_OK);

}

TCHAR str[10000];

TCHAR end[10000];

memset(end,0,10000);

GetDlgItemText(hwnd,IDC_EDIT1,str,sizeof(str));

fputs(str,fp);

fclose(fp);

}

MessageBox(NULL,TEXT("文件保存成功!放心关闭!!!"),TEXT("嘻嘻"),MB_OK);

}

EndDialog(hwnd, 0);

3.2编辑操作:

(1)剪切的实现:

case ID_MENUITEMCUT: //剪切

{ SendDlgItemMessage(hwnd,IDC_RICHEDIT1,WM_CUT,0,0);

//传递对话框中的内容首先获取RichEdit中的内容,WM_CUT,传递要进行操作的内容,0,0为两个WPARAM和LPARAM是约定的消息参数类型。

break;

}

(2)复制的实现:

case ID_MENUITEMCOPY: //复制

{ SendDlgItemMessage(hwnd,IDC_RICHEDIT1,WM_COPY,0,0);

//传递对话框中的内容首先获取RichEdit中的内容,WM_COPY,,传递要进行操作的内容,0,0为两个WPARAM和LPARAM是约定的消息参数类型。

break;

}

(3)粘贴的实现:

case ID_MENUITEMPASTE: //粘贴

{ SendDlgItemMessage(hwnd,IDC_RICHEDIT1,WM_PASTE,0,0);

break;

}

(4)清除的实现:

case ID_MENUITEMEMPTY: //清除

{

SetDlgItemText(hwnd,IDC_RICHEDIT1,"");

break;

}

(5)撤销的实现:

case ID_MENUITEMUNDO: //“撤销”菜单

{

SendDlgItemMessage(hwnd,IDC_RICHEDIT1, EM_UNDO, 0, 0);

break;

}

(6)删除的实现:

case ID_MENUITEMDELETE: //删除

{

SendMessage(GetDlgItem(hwnd, IDC_RICHEDIT1), WM_CLEAR, 0, 0);

}

break;

(7)全选的实现:

case ID_MENUITEMSELECTALL: //全选

{

SendMessage(GetDlgItem(hwnd, IDC_RICHEDIT1), EM_SETSEL, 0, -1);

}

break;

(8)系统时间的实现:

VOID CALLBACK MyTimerFun(HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime)

{

SYSTEMTIME strLocal; //当前时间

GetLocalTime(&strLocal);

TCHAR str[256];

wsprintf(str,"%04d-%02d-%02d %02d:%02d:%02d",strLocal.wYear,strLocal.wMonth,

strLocal.wDay,strLocal.wHour,strLocal.wMinute,strLocal.wSecond);

SetDlgItemText(hwnd,IDC_EDIT2,str);

}

(9)查找功能的实现:

int count=0;

int Line_count=1;

int Row_count=1;

int num=0;

int flag=0;

TCHAR str1[256];

TCHAR temp1[5000];

TCHAR temp2[5000];

memset(temp1,0,5000);

memset(temp2,0,5000);

memset(str1,0,256);

GetDlgItemText(hwnd,IDC_EDIT_FINDWORD,str1,sizeof(str1));

if(strlen(str1)==0)

{

MessageBox(NULL,TEXT("查找的内容为空,请输入内容后再查找!!!"),TEXT("呜呜"),MB_OK);

}

else

{

int i=0;

int j=0;

while(str2[i]!='\0' )

{

if((str2[i]=='\n') || (Row_count==63))

{

Line_count++;

Row_count=0;

}

if(str2[i]==str1[j])

{

i++;

j++;

Row_count++;

if(str1[j]=='\0')

{

j=0;

count++;

wsprintf(temp2,"<%i>你要寻找的内容在第:%i 行,第:%i 列至第:%i 列!!!",count,Line_count,(Row_count-strlen(str1)),(Row_count-1));

strcat(temp1,temp2);

strcat(temp1,"\r\n");

flag=1;

}

}

else

{

i=i-j+1;

j=0;

Row_count++;

}

if(str2[i]=='\0' && flag==1)

{

SetDlgItemText(hwnd,IDC_EDIT2,temp1);

MessageBox(NULL,temp1,TEXT("嘿嘿"),MB_OK);

}

if(str2[i]=='\0' && flag==0)

{

MessageBox(NULL,TEXT("没有你想要找的内容,请重新输入查找的内容"),TEXT("呜呜"),MB_OK);

break;

}

}

}

}

break;

通过简单的字符串比配算法实现其功能。

(10)替换功能的实现:

TCHAR *change::D_change(TCHAR S[], TCHAR T1[] ,TCHAR T2[]) //替换功能的主算法{

int i=0;

int j=0;

int k=0;

int l=0;

TCHAR *S1;

while((S[i]!='\0'))

{

if(S[i]==T1[j])

{

i++;

j++;

count1=i;

}

else

{

i=i-j+1;

j=0;

count1=i;

}

if(T1[j]=='\0')

{

i=i-j;

if(strlen(T1)==strlen(T2))

{

int num1=strlen(T1);

for(k=i;k

{

S[k]=T2[l];

l++;

}

j=0;

l=0;

}

else if(strlen(T1)>strlen(T2))

{

int num2=strlen(T1)-strlen(T2);

int lengthT2=strlen(T2);

for(k=i;k

{

S[k]=S[k+num2];

}

for(k=(strlen(S)-num2);k<=strlen(S);k++) {

S[k]='\0';

}

for(k=i;k<(i+lengthT2);k++)

{

S[k]=T2[l];

l++;

}

j=0;

l=0;

}

else if(strlen(T1)

{

int num3=strlen(T2)-strlen(T1);

S1=new TCHAR[strlen(S)+num3];

for(int k=0;k

{

S1[k]=S[k];

}

for(int k2=i;k2

{

S1[k2]=T2[k2-i];

}

for(int k3=i+strlen(T1);k3

S1[k3+num3]=S[k3];

}

S1[k3+num3]='\0';

if(S[i]=='\0')

{

return S1;

}

else

{

strcpy(S,S1);

j=0;

}

}

}

}

return S;

}

也通过字符算的比配,一一找到后,一一替换,最后返回替换后的文本内容;(11)统计功能的实现:

void Total_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) {

int Line_count=1;

int Row_count=0;

int Total_count=0;

int English_count=0;

int math_count=0;

int other_count=0;

int space_count=0;

int punct_count=0;

TCHAR temp1[256];

TCHAR temp2[256];

memset(temp1,0,256);

memset(temp2,0,256);

int i=0;

while(total2[i]!='\0')

{

if((total2[i]!=' ') && (total2[i]!='\r') && (total2[i]!='\n'))

{

Total_count++;

}

if((total2[i]>='a' && total2[i]<='z') || (total2[i]>='A' && total2[i]<='Z'))

{

English_count++;

}

if(total2[i]>='0' && total2[i]<='9')

{

math_count++;

}

if(total2[i]==33 || total2[i]==34 || total2[i]==39 || total2[i]==44 || total2[i]==46 || total2[i]==58 || total2[i]==59 || total2[i]==63)

{

punct_count++;

}

if(total2[i]==' ')

{

space_count++;

}

if((total2[i]=='\n') || (Row_count==62))

{

Line_count++;

Row_count=0;

}

else

{

Row_count++;

}

i++;

}

other_count=Total_count-English_count-math_count-punct_count;

wsprintf(temp2,"<1>文本的行数为:%i !",Line_count-1);

strcat(temp1,temp2);

strcat(temp1,"\r\n");

memset(temp2,0,256);

wsprintf(temp2,"<2>文本的总字符数为:%i !",Total_count);

strcat(temp1,temp2);

strcat(temp1,"\r\n");

memset(temp2,0,256);

wsprintf(temp2,"<3>文本的英文字符数为:%i !",English_count);

strcat(temp1,temp2);

strcat(temp1,"\r\n");

memset(temp2,0,256);

wsprintf(temp2,"<4>文本的数字字符数为:%i !",math_count);

strcat(temp1,temp2);

strcat(temp1,"\r\n");

memset(temp2,0,256);

wsprintf(temp2,"<5>文本的空格数为:%i !",space_count);

strcat(temp1,temp2);

strcat(temp1,"\r\n");

memset(temp2,0,256);

wsprintf(temp2,"<6>文本的标点符号数为:%i !",punct_count);

strcat(temp1,temp2);

strcat(temp1,"\r\n");

memset(temp2,0,256);

wsprintf(temp2,"<7>文本的其它字符数为:%i !",other_count);

strcat(temp1,temp2);

strcat(temp1,"\r\n");

memset(temp2,0,256);

SetDlgItemText(hwnd,IDC_EDIT1,temp1);

}

通过传参,把文本信息传到副对话框中。然后对文本进行各项简单的统计3.3工具操作:

(1)北京音乐的实现:

case ID_MENU_MUSIC:

{

TCHAR shortPath[MAX_PATH];

GetShortPathName("C:\\Documents and Settings\\user\\桌面\\edit\\邓紫棋- 寂寞星球的玫瑰.mp3",shortPath,sizeof(shortPath)); //获取音乐的途径

TCHAR cmd[MAX_PATH+10];

wsprintf(cmd,"play %s",shortPath);

mciSendString(cmd," ",0,NULL);

int ret = MessageBox(NULL,TEXT("你当前正在享受音乐!!!是否要退出"),TEXT("嘻嘻"),MB_YESNO | MB_ICONQUESTION);

if(ret==IDYES)

{

MessageBox(NULL,TEXT("还好听吧!欢迎再欣赏!再见!!!"),TEXT("嘿嘿"),MB_OK);

mciSendString("CLOSE cmd"," ",0,NULL);

break;

}

else

{

break;

}

break;

}

主要是通过mciSendString()API函数的使用。

3.4关于操作:

(1)关于对话框的弹出实现:

case ID_MENU_ABOUT:

{

HINSTANCE

hInstance=(HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE);

DialogBox(hInstance, MAKEINTRESOURCE(IDD_ABOUT), NULL, Main_Proc);

break;

}

用DialogBox()函数实现对话框的弹出。

(2)访问百度实现:

case IDM_BAIDU: //访问百度网

{

ShellExecute(hwnd,TEXT("open"),TEXT("https://www.360docs.net/doc/5619098359.html,"),NULL,NULL,SW_SHOWNORMAL );

break;

}

(3)访问114实现:

case IDM_GOOGLE:

{

ShellExecute(hwnd,TEXT("open"),TEXT("https://www.360docs.net/doc/5619098359.html,"),NULL,NULL,SW_SHOWNOR MAL);

break;

}

都是ShellExecute()函数的使用。

4 程序运行结果与调试

4.1在调试过程中出现的一些问题

(1)输入语句中没有加取地址符号&

(2)误把取地址运算符&当作逻辑与&&

(3)误把赋值=当恒等==

(4)条件语句(if)后误加分号

(5)循环语句中改变了循环变量

(6)作为输出结果的变量没有赋初值

4.2 实验结果

(1)记事本的主界面

机械设计课程设计说明书范本

一:设计题目:搓丝机传动装置设计 1.1 设计要求 1) 该机用于加工轴辊螺纹,其结构见下图,上搓丝板安装在机头上,下搓丝板安装在滑块上。加工时,下搓丝板随着滑块作往复运动。在起始(前端)位置时,送料装置将工件送入上、下搓丝板之间,滑块往复运动时,工件在上、下搓丝板之间滚动,搓制出与搓丝板一致的螺纹。搓丝板共两对,可同时搓出工件两端的螺纹。滑块往复运动一次,加工一件。 2) 室内工作,生产批量为5台。 3) 动力源为三相交流380/220V,电动机单向运转,载荷较平稳。 4) 使用期限为10年,大修周期为3 年,双班制工作。 5) 专业机械厂制造,可加工7、8级精度的齿轮、蜗轮。 图1.1: 搓丝机简图 1.2原始技术数据

1.3设计任务 1. 完成搓丝机传动装置总体方案的设计和论证,绘制总体设计原理方案图。 2. 完成主要传动装置的结构设计。 3. 完成装配图1 张(用A0 或A1 图纸),零件图2 张。 4. 编写设计说明书1 份。 二:机械装置的总体方案设计 2.1 拟定传动方案 方案一:

方案二: 根据系统要求可知: 滑块每分钟要往复运动24次,所以机构系统的原动件的转速应为24r/min。以电动机作为原动机,则需要机构系统有减速功能。运动形式为连续转动→往复直线运动。根据上述要求,可采用曲柄滑块机构,该机构有尺寸较小,结构简洁的特点。利用曲柄和连杆共线,滑块处于极限位置时,可得到瞬时停歇的功能。同时该机构能承受较大的载荷。整个搓丝机由电动机、开式齿轮减速器、一级减速器、曲柄滑块机构、最终执行机构组成。如方案一图所示。 其中,r=148.5mm; l=1371.5mm; e=666mm; 最大压力角α=33°; 急回夹角β=7°,急回特性为k=1.081。 采用一级圆柱齿轮减速器,外加开式齿轮减速器,主要优点是结构简单可靠,设计制造,维护方便。

机械设计课程设计题目

附录I: 机械零件课程设计题目 题目A 设计一用于带式运输机上的圆锥园柱齿轮减速器。工作经常载,空载起动,工作有轻震,不反转。单班制工作。运输机卷筒直径D=320mm,运输带容许速度误差为5%。减速器为小批生产,使用期限10年。 附表1 原始数据 题号 A1A2A3A4A5A6 运输带工 作拉力F (N) 2×103 2.1×103 2.2×103 2.3×103 2.4×103 2.5×103 运输带工 作速度V (m/s) 1.2 1.3 1.4 1.5 1.55 1.6 1.电动机2.联轴器3.圆锥齿轮减速器4.带式运输机 附图1

题目B 设计一用于带式运输机上的同轴式两级圆柱齿轮减速器。工作平稳。单向运转,两班制工作。运输带容许速度误差为5%。减速器成批生产,使用期限10年。 附表2 原始数据 题号 B1B2B3B4B5B6B7 运输机工 作轴扭矩 T(N。 m) 1300135014001450150015501600 运输带工 作速度V (m/s) 0.650.700.750.800.850.900.80 卷筒直径 D(mm) 300320350350350400350 1.带传动2.电动机3.同轴式两级圆柱齿轮减速器4.带式运输机5.卷筒 附图2

题目C 设计一用于链式运输机上的圆锥圆柱齿轮减速器。工作平稳,经常满载,两班制工作,引链容许速度误差为5%。减速器小批生产,使用期限5年。

附表3 1.电动机2.联轴器3.圆锥齿轮减速器4.链传动5.链式运输机 附图3 题目D 设计一斗式提升机传动用的二级斜齿圆柱齿轮同轴式减速器。传动简图如下,设计参数列于附表4。 附表4斗式提升机的设计参数 题号参数 题号 D1D2D3D4 生产率Q(t/h)15162024提升带速度V(m/s) 1.82 2.3 2.5m)

java课设—文本编辑器的设计与实现

淮 海 工 学 院 计算机工程学院
课程设计报告
设计名称: 选题名称: 姓 名: 面向对象课程设计 文本编辑器的设计与实现 学 号:
专业班级: 系 (院) : 设计时间: 设计地点: 计算机工程学院 2015.6.21~2014.7.4 计算机楼机房、教室、宿舍
指导教师评语:
成绩:
签名:
年 月 日

面向对象课程设计报告

1
页,共
14

1.课程设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程 后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理 论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本方法,提高运用 面向对象知识分析实际问题、解决实际问题的能力。
2.课程设计任务与要求:
课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可能熟 练掌握其中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系 统用例图和类图,并将 UML 图复制到设计报告中。 通过这次设计,要求掌握以下内容: 1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 2)类、包、接口的定义与使用 3)常用工具类与算法的实现(数组、向量、字符串、链表) 4)Java 常用标准 GUI 组件及其事件处理 5)Java 的异常处理机制 6)Java 的数据库连接技术 7)Java 的多线程技术与动画制作 8)Java 的网络编程 任务: 设计一个类似于 Windows 记事本(Notepad)的 Java 程序。可以打开、新建、保存一个文本 文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复 制、粘贴、剪切、查找、替换等) ;在文本中能够插入对象。简单文本编辑器提供给用户基本的 纯文本编辑功能, 能够将用户录入的文本存储到本地磁盘中。 能够读取磁盘中现有的纯文本文件, 以及方便用户进行需要的编辑功能。

机械设计课程设计范本

计算及说明 结果 一、设计任务书 1、设计任务 设计带式输送机的传动系统,采用带传动和一级圆柱齿轮减速器。 2、原始数据 输送带轴所需扭矩 τ=950Nm 输送带工作速度 ν=0.8m/s 输送带滚筒直径 d =350mm 减速器设计寿命为8年(两班制),大修期限四年。 3、工作条件 两班制工作,空载起动载荷平稳,常温下连续(单向)运转,工作环境 多尘;三相交流电源,电压为380/220V 。 二、传动系统方案的拟定 带式输送机传动系统方案如图所示:(画方案图) 带式输送机由电动机驱动。电动机1将动力传到带传动2,再由带传动传入 一级减速器3,再经联轴器4将动力传至输送机滚筒5,带动输送带6工作 。传动系统中采用带传动及一级圆柱齿轮减速器,采用直齿圆柱齿轮传动。 三、电动机的选择 按设计要求及工作条件选用Y 系列三相异步电动机,卧式封闭结构,电压 380V 。 1、电动机的功率 根据已知条件由计算得知工作机所需有效效率 KW Fv P w 17.21000 8 .035.0950 1000=?== 设:η1—联轴器效率=0.97; η2—闭式圆柱齿轮传动效率=0.99 η3—V 带传动效率=0.96 η4—对轴承效率=0.99 η5—输送机滚筒效率=0.96 由电动机至运输带的传动总效率为 8588.096.099.096.099.097.0353 4 321=????==ηηηηηη 工作机所需电动机总功率 KW P w 53.28588 .017 .2P r == = η 由表所列Y 系列三相异步电动机技术数据中可以确定,满足Pm ≥Pr 条件的

电动机额定功率Pm 应取为3KW 计算及说明 结果 2、电动机转速的选择 根据已知条件由计算得知输送机滚筒的工作转速 m i n /68.43350 14.38.0100060100060r d v n w =???=?=π 额定功率相同的同类型电动机,可以有几种转速供选择,如三相异步电动 机就有四种常用的同步转速,即min /3000r 、min /1500r 、min /1000r 、 min /750r 。(电动机空载时才可能达到同步转速,负载时的转速都低于同步 转速)。电动机的转速高,极对数少(相应的电动机定子绕组的极对数为2、 4、6、8),尺寸和质量小,价格也便宜,但会使传动装置的传动比加大,结 构尺寸偏大,成本也会变高。若选用低转速的电动机则相反。一般来说,如 无特殊要求,通常选用同步转速为min /1500r 或min /1000r 的电动机。 选用同步转速为 min /1000r 的电动机,对应于额定功率Pm 为3KW 的电 动机型号应为Y132S-6型。有关技术算据及相应算得的总传动比为: 电动机型号:Y132S-6 额定功率:3KW 同步转速:1000r/min 满载转速:960r/min 总传动比:21.978 电动机中心高H=132mm ,轴伸出部分用于装联轴器段的直径和长度分别为 D=38mm 和E=80mm 。 四、传动比的分配 带式输送机传动系统的总传动比 978.2168 .43960=== w m n n i 由传动系统方案,分配各级传动比 978.21522.598.321=?=?=齿带i i i 五、传动系统的运动和动力参数计算 传动装置从电动机到工作机有三轴,分别为Ⅰ、Ⅱ、Ⅲ、Ⅳ轴,传动系统各轴 的转速、功率和转矩计算如下: ①Ⅰ轴(电动机轴): m i n /9601r n n m == KW P P r 53.21==

机械设计课程设计题目5

中北大学
课 程 设 计 说 明 书
学生姓名: 学 专 题 院: 业:
学 号:
目: 设计同轴线式二级斜齿圆柱齿轮减速器,该减速
器用于汽车发动机装配车间的皮带运输机的传 动系统中
指导教师: 指导教师:苗鸿宾 程志刚
职称: 职称: 副教授 高工
2011 年 5 月
27 日

中北大学
课程设计任务书
2010/2011 学年第 二 学期
学 专
院: 业: 学 号:
学 生 姓 名:
课程设计题目:设计同轴线式二级斜齿圆柱齿轮减速器,
该减速器用于汽车发动机装配车间的皮带 运输机的传动系统中
起 迄 日 期: 课程设计地点: 指 导 教 师: 系 主 任: 苗鸿宾 暴建岗 程志刚
下达任务书日期:
2011 年 5 月 27 日

课 程 设 计 任 务 书
1.设计目的:
1)、综合运用本课程的理论和生产实际知识进行设计训练,使所学的知识得到进一 步的巩固和发展; 2)、学习机械设计的一般方法和步骤,初步培养学生分析和解决工程实际问题的能 力,树立正确的设计思想,为今后毕业设计设计和工作打下良好的基础; 3)、进行方案设计、结构设计、机械制图和运用设计手册、标准及规范等技能的训 练,使学生具有初步机械设计的能力。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等) :
技术要求: 技术要求 该运输机两班制工作,单向回转,工作平稳,传送带运行速度允许误差为±5%,使 用期限为 10 年。 原始数据 滚筒直径: 传动带运行速度: 传动带主轴所需扭矩:
mm
m/s
N·m
1-电动机 4-联轴器
2-带传动 5-滚筒
3-减速器 6-传动带
3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、 实物样品等〕 :
1) 完成传动系统或执行系统的结构设计,画出传动系统或执行系统的装配图。 2) 设计主要零件,完成 3 张零件工作图。 3) 编写设计说明书。

机械设计课程设计范本)

机械设计基础课程设计 说明书 题目: 院(系):电子信息工程系 专业: 学生姓名: 组员: 学号:2009219754106 指导教师:邓小林 2013年12月28日

目录 作品内容简介 (2) 1 研制背景及意义 (3) 2 结构特点 (3) 2.1 绞碎机的结构 (5) 2.2 压榨机的结构 (5) 3 工作原理 (6) 4 性能参数 (7) 5 创新点 (8) 6 作品的应用前景和推广价值 (8) 7 参考文献 (9) 附图: (10)

作品内容简介 作为日常生活中重要的家用辅助机器的绞碎机和压榨机,在我们日常生活中发挥着越来越重要的作用。目前市面上的绞碎机和压榨器往往只具有绞碎或者压榨的功能,针对上述不足,我们小组经过深入研究分析,运用所学专业知识,在老师的指导下,设计制作了一款同时具备绞碎和压榨功能的绞碎压榨机。 该机主要由螺杆、四叶刀和绞碎筒体组成绞碎系统实现绞碎功能。由双旋向螺杆、压榨活塞和压榨筒体组成的差动螺旋机构实现压榨功能。该机可同时实现绞碎和压榨功能,在具备上述功能的基础上,可根据需要,随时拆开,单独作为绞碎机和压榨机使用。 该机具有结构巧妙、拆装方便、使用方便简单、工作稳定可靠、效率高等特点。

1 研制背景及意义 随着我国社会经济又好又快的发展,人民生活水平的日益提高,人们开始更多地关心注重生活的质量,追求高品质的生活。可在我们的日常生活中,许多不法生产商为了谋取暴利,制造假冒伪劣产品,特别是假冒伪劣食品对人民的生命安全构成巨大的威胁更无法谈及高品质生活。例如:阴霾笼罩的食品市场中的劣质肉馅、含化学色素的合成果汁和化学物质合成的速冲豆浆等。这无疑是阻挡人们追求高品质生活和建设社会主义和谐社会的巨大绊脚石。针对当前的实际情况,联系大赛“绿色、环保、创新”的主题,通过走进社会,深入到群众中,我们研究小组经过科学的调查研究,运用所学的专业知识,在老师的指导下,决定设计一台家用绞碎压榨机器。 目前,市场上手动的绞碎和压榨机都是分离的。其中,大部分的绞碎机是针对中小企业或者作坊设计的,结构多为变螺距锥形螺杆与相应的锥筒配合,使用电动机带动实现绞碎功能,但是结构复杂不利于维修,体积大、功耗大不适合家庭使用。压榨机则多为在密闭的空间里通入压缩空气能实现高效率、大规模压榨,但是需要辅助的空气压缩机增大机器设备的体积、功耗大,噪声大不适宜小规模的家用压榨。我们的作品是针对家庭绞碎和压榨,实现全手动驱动而设计的两用家庭绞碎压榨机,具有体积小、噪声小、绿色环保等特点。 该机器不但能够为人们提供新鲜的肉馅,而且能够提供各种新鲜的果汁等。该机器不仅能够对水果、豆类、瓜类和肉类等进行单独压榨或者绞碎,而且能够对其进行先绞碎后压榨。它是把绞碎和压榨功能集为一体的机械产品,具有体积小、效率高、制造成本低、安全可靠和绿色环保等的特点。它适用于广大的普通家庭,操作简单,使用方便。因此该产品具有较大的市场竞争力和广阔的市场空间。 2 结构特点 如图2-1所示是按1:1所绘制的绞碎压榨机三维模型,设计尺寸规格为304mm*476mm*245mm。图2-2为绞碎压榨机的分解图。绞碎压榨机由绞碎机构、压榨机构和机架三部分部分组成。绞碎机构与压榨机构间通过绞碎筒体右端盖14和连接螺母套筒15实现连接,机架11、17与机身8、20通过内六角螺钉连接。

机械设计课程设计完整版

------------------------------------------装订线------------------------------------------ 综合课题说明书 题目传动系统测绘与分析 机电工程系机械设计专业04机43 班 完成人xx 学号xxxxxx 同组人xx、xxx…… 指导教师XX 完成日期200x 年x 月xx 日 XX机电工程学院

目录 课题任务书 (1) 一、减速器结构分析 (1) 1、分析传动系统的工作情况 (1) 2、分析减速器的结构 (2) 3、零件 (3) 二、传动系统运动分析计算 (7) 1、计算总传动比i;总效率 ;确定电机型号 (7) 2、计算各级传动比和效率 (9) 3、计算各轴的转速功率和转矩 (9) 三、工作能力分析计算 (10) 1、校核齿轮强度 (10) 2、轴的强度校核 (13) 3、滚动轴承校核 (17) 四、装备图设计 (18) 1、装备图的作用 (18) 2、减速器装备图的绘制 (19) 五、零件图设计 (22) 1、零件图的作用 (22) 2、零件图的内容及绘制 (22) 参考文献 (25)

04机电综合课题任务书 学号:xxx 姓名:xxx 指导教师:xx 同组姓名:xx、xxx、xxx、xx、xx 一、课题:机械传动系统与分析 二、目的 综合运用机械设计基础、机械制造基础的知识和绘图技能,完成传动装置的测绘与分析,通过这一过程全面了解一个机械产品所涉及的结构、强度、制造、装配以及表达等方面的知识,培养综合分析、实际解决工程问题的能力,培养团队协作精神。 三、已知条件 1.展开式二级齿轮减速器产品(有关参数见名牌) 2.工作机转矩:300N.m,不计工作机效率损失。 3.动力来源:电压为380V的三相交流电源;电动机输出功率 P=1.5kw。 4.工作情况:两班制,连续单向运行,载荷较平稳。 5.使用期:8年,每年按360天计。 6.检修间隔期:四年一次大修,二年一次中修,半年一次小修。 7.工作环境:室内常温,灰尘较大。 四、工作要求 1.每组拆卸一个减速器产品,测绘、分析后将零件装配复原,并使用传动系统能正常运转。 2.每组测绘全部非标准件草图(徒手绘制),并依据测量数据确定全部标准的型号。 3.每组一套三轴系装配图(每人一轴系)。 4.各人依据本组全部零件测绘结果用规尺绘制减速器装配图、低速级大齿轮和输出轴的零件工作图。 5.对传动系统进行结构分析、运动分析并确定电动机型号、工作能

C++课程设计报告(简易文本编辑器)

面向对象程序设计课程设计报告 (2011/2012学年第二学期) 题目名称简单文本编辑器的设计 系部 专业计算机科学与技术 班级 学生 完成时间 2012年 6 月 指导老师

在文本编辑器出现前,人们用打孔机把计算机文字打到穿孔卡片上。文字存放于一个装着这样的薄卡片的盒子里,可以用读卡器来阅读它。 第一个文本编辑器是一种行编辑器,它运行在打字机型的终端上,这种编辑器并不具备在窗口和屏幕中显示的功能。它包含了一些非常短的命令(为了减少打字量)。其中一个命令能够把文件的指定部分通过打字机打印出来。编辑光标是想象中的一个插入点,通过特殊命令,可以把它移动到特定内容字符串所在的行。随后,内容字符串又被扩展成正则表达式。如果想看到文件的变化,你需要把它打印出来。相对于穿孔机来说,人们认为这种基于行的文本编辑器具有革命性的进步。如果没有它,用户就需要把那些处理文本的命令打成专用的卡片,并在编辑文件时使用这些卡片。 当带有显示屏的计算机终端出现后,基于显示屏的文本编辑器开始流行起来。最早的全屏编辑器中,有一种叫做O26,它是于1967年为CDC 6000系列机器的操作控制台而作的。另外一个早期的全屏编辑器是vi。vi诞生于20世纪70年代,至今,它仍是Unix和Linux的标准编辑器。全屏编辑器对视频终端的销售起到了促进的作用。 文本编辑器在Windows的应用中是一个非常重要的项目,在过去十数年中,微软对windows文本编辑器有多个版本的升级改进,而基于其他的编程环境的文本编辑器也是多如牛毛,今天我们用MFC可视化编译环境做一个简易的文本编辑器。

引言 (2) 1.课程设计目的和意义 (4) 2.详细设计 (4) 2.1需求描述 (4) 2.1.1文件 (4) 2.1.2编辑 (4) 2.1.3应用 (5) 2.1.4帮助 (5) 2.1.5高级 (5) 2.2功能描述 (5) 2.2.1文本编辑区 (5) 2.2.2文件 (7) 2.2.3编辑 (15) 2.2.4应用 (16) 2.2.5帮助 (21) 2.2.6高级 (22) 2.2.7菜单栏 (25) 2.2.7图标 (26) 2.3程序运行说明 (27) 3.课程设计总结 (30) 3.1编程日志 (30) 3.3测试报告 (31) 4.心得体会 (31) 5.参考文献 (31)

《机械设计课程设计》答辩题

机械设计课程设计综合答辩题 1#题: ●电动机的类型如何选择?其功率和转速如何确定? ●联轴器的类型如何选择?你选择的联轴器有何特点? ●圆柱齿轮的齿宽系数如何选择?闭式传动中的软齿面和硬齿面的齿宽系数有何不同,开式齿 轮呢? ●箱体上装螺栓和螺塞处,为何要有鱼眼坑或凸台? 2#题: ●试分析你设计的减速器中低速轴齿轮上的作用力。 ●考虑传动方案时,带传动和链传动谁布置在高速级好,谁在低速级好,为什么? ●滚动轴承部件设计时,如何考虑因温度变化而产生轴的热胀或冷缩问题? ●为什么要设视孔盖?视孔盖的大小和位置如何确定? 3#题: ●一对圆柱齿轮传动啮合时,大小齿轮啮合处的接触应力是否相等?接触许用应力是否相等? 为什么? ●圆柱齿轮在高速轴上非对称布置时,齿轮接近扭转输入端好,还是远离输入端好?为什么? ●轴的强度不够时,应怎么办?定位销有什么功能?在箱体上应怎样布置?销的长度如何确 定?你所设计的齿轮加工及测量基准在何处?齿轮的公差一般应包括哪些内容? 4#题: ●双级圆柱齿轮减速器的传动比分配的原则是什么?高速级的传动比尽可能选得大是否合适, 为什么? ●滚动轴承的类型如何选择?你为什么选择这种轴承?有何特点?齿形系数与哪些因素有 关?试说明齿形系数对弯曲应力的影响? ●以你设计的减速器为例,试说明高速轴的各段长度和跨距是如何确定的?啮合特性表中的检 验项目分别属于齿轮公差的第几公差组?各公差组分别检验齿轮的什么精度? 5#题: ●开式圆轮应按什么强度进行计算?磨损问题如何在设计中考虑?一对相啮合的齿数不等的标 准圆柱齿轮,哪个弯曲应力大?如何两轮的弯曲强度接近相等? ●固定式刚性凸缘联轴器和尼龙柱销联轴器在性能上有何不同?试讲述你所选联轴器的特点? ●轴承凸缘旁螺栓孔中心位置(相对轴心距离)如何确定?它距轴承轴线距离近好还是远好?●减速器内最低和最高油面如何确定? 6#题: ●提高圆柱齿轮传动的接触强度有哪些措施?为什么? ●一对相啮合的大、小圆柱齿轮的齿宽是否相等?为什么? ●设计带传动时,发现带的根数太多,怎么办? ●旁螺栓距箱体外壁的位置如何确定?考虑哪些问题?

机械设计课程设计小结

机械设计课程设计小结 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

课程设计是机械设计当中的一个非常重要的一环,本次课程设计时间一周略显得仓促一些。但是通过本次很充实的课程设计,从中得到的收获还是非常多的。这次的课程设计对于我来说有着深刻的意义。这种意义不光是我们组能够完成设计任务,更重要的是在这段时间内使我们深刻感受到设计工作的那份艰难。而这份艰难不仅仅体现在设计内容与过程中为了精益求精所付出的艰辛,更重要的是为每一个精细数字的付出!这次课程设计的题目是设计一个一级圆柱齿轮减速器,由于我们理论知识的不足,再加上平时没有什么设计经验,一开始的时候有些手忙脚乱,不知从何入手,很迷茫。不过在我们组员的共同努力下,和同学们之间的认真仔细的讨论之中,我们总算克服了种种难关,让每个数字都找到了自己的归宿。现在想想其实课程设计期间我们过得还蛮充实的,特别是大家在一起讨论,研究,专研的时候,那让我感觉到了集体的团结,团结的力量,力量的伟大。所有的成果不是属于个人的,而是集体,因为它凝聚了集体所有的精华。 在设计过程中,整个过程培养了我们综合运用机械设计课程及其他课程理论知识和利用生产时间知识来解决实际问题的能力,真正做到了学以致用。在此期间我们同学之间的那些辛酸,那些执着,那些付出。一路走来,我们伴着风雨,携手欢笑,共同面对机械设计课程设计当中遇到的困难,虽然我们做的还是不够完美,但是我们的团队一定很完美。 在这些过程当中我充分的认识到自己在知识理解和接受应用方面的不足,特别是自己对系统的自我学习能力的欠缺,将来一定要进一步加强。而今后的学习还要更加的努力。总之,本次课程设计不仅仅是对自己所学的知识的一次系统的总结与应用,还算是对自己体质的一次检验吧。

c#文本编辑器课程设计

摘要: 这个课题是一个关于文本编辑器的小程序,运用一些简单的记事本的基本操作功能来实现的。该程序利用C#程序编写,在Visual Studio 2005的环境下进行调试运行的。 对于该程序开发,必须达到以下要求: 1、熟悉.NET开发环境,能够使用C#语言在.NET平台上独立设计、开发WINDOWS应用程序。 2、掌握C#语言的异常处理技术,能够使用.NET各种调试方法调试代码,掌握帮助的使用方法。 3、掌握常用控件以及控件的常用属性的使用方法。 4、界面要做到简洁易懂,具有人性化等特点。 5、程序没有在使用过程中不存在任何的问题。

目录 摘要: (1) 一、采用技术 (3) 1. visual studio 2005编辑环境 (3) 2.C#的窗体编程编程 (3) 二、选题说明 (4) 三.总体说明 (4) 1. 程序的基本结构 (4) 2. 程序的主要技术 (4) 四.详细说明 (5) 1. 界面设计 (5) 五.遇到的问题和解决方法 (9) 六.心得体会 (9) 七.参考文献 (10) 八.部分程序代码 (10)

一、采用技术 1. visual studio 2005编辑环境 Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。目前已经开发到 8.0 版本,也就是 Visual Studio 2005。 Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。 Visual Studio 是一套完整的开发工具集,用于生成 https://www.360docs.net/doc/5619098359.html, Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。 2.C#的窗体编程 Windows 窗体是用于 Microsoft Windows 应用程序开发的、基于 .NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集,使您能够开发功能丰富的 Windows 应用程序。另外,Windows 窗体可作为多层分布式解决方案中的本地用户界面。 窗体是一种文档,可以用来收集信息。它包括两部分,一部分是由窗体设计者输入的,填写窗体的人无法更改的文字或图形。窗体设计者可以插入希望得到回答的问题、选项列表、信息表格等。另一部分是由窗体填写者输入的,用于从填写窗体者处收集信息并进行整理的空白区域。窗体设计者可以在文档中插入窗体域或 ActiveX 控件,为窗体填写者提供用于收集数据的位置。

机械设计课程设计计算说明书(样板)

机械设计课程设计设计计算说明书 设计题目:带式输送机的减速器 学院: 班级: 姓名: 学号: 指导教师: 日期:

目录 一、设计任务书···································· 二、传动方案拟定·································· 三、电机的选择···································· 四、传动比分配···································· 五、传动系统运动及动力参数计算······················· 六、减速器传动零件的计算···························· 七、轴及轴承装置设计································ 八、减速器箱体及其附件的设计······················· 九、减速器的润滑与密封方式的选择·················· 十、设计小结····························

一、设计任务书 1、设计任务: 设计带式输送机的传动系统,采用单级圆柱齿轮减速器和开式圆柱齿轮传动。 2、原始数据 输送带有效拉力 输送带工作速度 输送带滚筒直径 减速器设计寿命为5年 3、已知条件 两班制工作,空载启动,载荷平稳,常温下连续(单向)运转,工作环境多尘;三相交流电源,电压为380/220V。 二、传动方案拟定 1.电动机 2.联轴器 3.减速器 4.联轴器 5.开式齿轮 6.滚筒 7.输送带

传动方案如上图所示,带式输送由电动机驱动。电动机1通过联轴器2将动力传入减速器3再经联轴器4及开式齿轮5将动力传送至输送机滚筒6带动输送带7工作。 计算与说明 结果 三、电机的选择 1.电动机类型的选择 由已知条件可以算出工作机所需的有效功率 Kw Fv P w 64.41000 8 .058001000=?== 联轴器效率 滚动轴承传动效率 闭式齿轮传动效率 开式齿轮传动效率 输送机滚筒效率 传动系统总效率 总 工作机所需电机功率 总 由附表B-11确定,满足 条件的电动机额定功率P m = 7.5Kw 2.电动机转速的选择 输送机滚筒轴的工作转速 初选同步转速为 的电动机。 3.电动机型号的选择 根据工作条件两班制连续工作,单向运转,工作机 所需电动机功率计电动机同步转速等,选用Y 系列三相异步电动机,卧式封闭结构,型号为Y132M-4,其主要数据如下: w P w k 64.4= 电动机额定功率选为 7.5Kw 初选1440r/min 的电动机

机械设计课程设计答辩经典题目复习进程

机械设计课程设计答辩经典题目

机械设计课程设计答辩经典题目 1. 你所设计的传动装置的总传动比如何确定和分配的? 答题要点:由选定的电动机满载转速和工作机转速,得传动装置总传动比为:i w m n n = 总传动比为各级传动比的连乘积,即 齿轮带i i i ?=,V 带传动的传动比范围在2—4 间,单级直齿轮传动的传动比范围在3—6间,一般前者要小于后者。 2. 在闭式齿轮传动中,若将齿轮设计成软齿面,一般使两齿轮齿面硬度有一 差值,为多少HBS ?,为什么有差值? 答题要点:20—50HBS ;因为一对齿轮在同样时间,小齿轮轮齿工作次数较大齿轮的材料多,齿根弯曲疲劳强度较大齿轮低为使其强度和寿命接近,小齿轮齿面硬度应较大齿轮大。 3. 简述减速器上部的窥视孔的作用。其位置的确定应考虑什么因素? 答题要点:在减速器上部开窥视孔,可以看到传动零件啮合处的情况,以便检查齿面接触斑点和齿侧间隙。润滑油也由此注入机体内。窥视孔开在机盖的顶部,应能看到传动零件啮合,并有足够的大小,以便于检修。 4. 轴上的传动零件(如齿轮)用普通平键作周向固定时,键的剖面尺寸b ×h 值是根据何参数从标准中查得? 答题要点:与齿轮相配合处轴径的大小;答辩时,以从动齿轮上键联接为例,让考生实际操作。 5. 当被联接件之一不易作成通孔,且需要经常拆卸时,宜采用的螺纹联接形 式是螺栓联接、双头螺柱联接还是螺钉联接? 答题要点:螺钉联接。 6. 在设计单级原柱齿轮减速器时,一般减速器中的最大齿轮的齿顶距箱体的 距离大于30—50mm ,简述其主要目的。 答题要点:圆柱齿轮和蜗杆蜗轮浸入油的深度以一个齿高为宜,但不应小于10mm ,为避免油搅动时沉渣泛起,齿顶到油池底面的距离不应小于30~50mm 7. 你所设计的齿轮减速器中的齿轮传动采用何种润滑方式?轴承采用何种润 滑方式?简述润滑过程。 答题要点:齿轮传动采用浸油润滑方式;轴承采用飞溅润滑或脂润滑方式。以飞溅润滑为例,当轴承利用机体内的油润滑时,可在剖分面联接凸缘上做出输油沟,使飞溅的润滑油沿着机盖经油沟通过端盖的缺口进入轴承 8. 简述减速器的油标的作用。 答题要点:检查减速器内油池油面的高度,经常保持油池内有适量的油,一般在箱体便于观察、油面较稳定的部位,装设油标。 9. 齿轮和轴满足何种条件时,应齿轮和轴一体,作成齿轮轴。

文本编辑器Delphi课程设计

目录 课程设计任务书 (2) 1、实验题目: (3) 2、项目概述 (3) 3、系统的功能需求 (3) 3.1总体设计 (3) 3.2系统功能 (3) 3.3系统工作流程 (4) 4、文本编辑器的详细设计 (4) 4.1文本编辑器的界面设置 (4) 4.1.1新建工程 (4) 4.1.2修改窗口: (4) 4.2文本编辑器的详细代码分析 (7) 5.心得体会: (10) 6.参考文献 (11) 7.致谢 (11) 8.附录 (12)

课程设计任务书班级姓名

1、实验题目: 文本编辑器 2、项目概述 程序大部分菜单都在窗体中对应有一个快捷图标。包括新建、打开、保存、剪切、复制、粘贴、左对齐、右对齐、居中、文字加粗、文字倾斜、文字加下划线和文字大小等命令,在菜单中还包括字体颜色、窗体背景颜色等命令。利用这些基本命令,可以很方便地处理很多文本文档。该程序界面友好,当把鼠标放在快捷工具栏上时,程序会给出快捷菜单提示,同时,在窗体下方的中间,也有该快捷命令的说明文字。 首先要解决窗体的布局和设计问题。然后给各个菜单和快捷工具栏中的按钮添加相关程序代码。这个文本编辑器与一般的简易的文字编辑程序的制作有所不同。首先,必须设置好菜单的属性及功能;其次,当所有的菜单都设计好之后,还必须对工具栏进行设计,工具栏的开发与设计是最具挑战性的工作,因为整个界面的美观都取决于工具栏的制作,而整个程序使用是否方便、快捷,也取决于工具栏的安排和属性的设置。然后,还需进行一些细部的修饰,例如底部任务栏上的提示用语以及帮助菜单的设计等。 3、系统的功能需求 3.1总体设计 3.2系统功能 该文本编辑器具有完整的菜单,大部分菜单都在窗体对应有一个快捷图标。包括新建、打开、保存、剪切、复制、粘贴、做对齐、右对齐、居中、文字加粗、文字倾斜、文字下划线和文字大小等命令,在菜单中还包括字体颜色、窗体背景颜色。利用这些命令,可以很方便地处理很多文本文档。该程序界面有好,当把鼠标放在快捷工具栏上时,程序会给出快捷菜单提示,同时,在窗体下方的中间,也有该快捷命令的说明文字。

机械设计机械原理课程设计题目

设计题目1:手动圆柱螺旋弹簧缠绕机设计 机构简图: 导轨 技术要求:弹簧螺距通过调整挂轮传动比可变,钢丝应拉紧,弹簧直径可变,最大长度Lmax为300mm。 主要参数: 弹黄中径D2:mm 钢丝直径d:mm 弹簧螺距p :mm 设计要求: 1)拟定机构系统总体运动方案,画出系统运动方案简图,完成论证报告。 2)完成传动系统或执行系统的结构设计,画出传动系统或执行系统的装配图。 3)设计主要构件和零件,完成1张构件图和3张零件工作图。 4)编写设计说明书。 完成日期:年月日指导教师

设计题目2:稳速器的设计 工作简图: 4 1-输出轴2-机体3-主输入轴4-辅输入轴 技术要求:输出轴转速稳定,主轴速度波动由辅轴调节。 主要参数: 输出轴转速n2 r/min 主轴转速范围n1±r/min 输出轴功率P kw 设计要求: 1)拟定机构系统总体运动方案,画出系统运动方案简图,完成论证报告。 2)完成传动系统或执行系统的结构设计,画出传动系统或执行系统的装配图。 3)设计主要构件和零件,完成1张构件图和3张零件工作图。 4)编写设计说明书。 完成日期:年月日指导教师

设计题目3:自动钢板卷花机设计 工作简图: 技术要求:卷花轴转φ1角后,内限位板与卷花轴共同转φ2角,外限位板可限位和 退出,并有退料装置。限位板直径D :400mm , 主要参数: 卷花轴转角φ1:3600 内限位板转角φ2:1800 钢板宽和厚:30×3 生产率: 电机功率P :1.1kw 设计要求: 1)拟定机构系统总体运动方案,画出系统运动方案简图,完成论证报告。 2)完成传动系统或执行系统的结构设计,画出传动系统或执行系统的装配图。 3)设计主要构件和零件,完成1张构件图和3张零件工作图。 4)编写设计说明书。 完成日期: 年 月 日 指导教师 1 2 3 4 1-卷花轴 2-模板 3-钢板花 4-内限位板

机械设计课程设计步骤

目 录
第一章 传动装置的总体设计
一、电动机选择
1.选择电动机的类型 2.选择电动机的功率 3.选择电动机的转速 4.选择电动机的型号
二、计算总传动比和分配各级传动比 三、计算传动装置的运动和动力参数
1.各轴转速 2.各轴功率 3.各轴转矩 4.运动和动力参数列表
第二章 传动零件的设计
一、减速器箱体外传动零件设计
1.带传动设计
二、减速器箱体内传动零件设计
1.高速级齿轮传动设计 2.低速级齿轮传动设计
三、选择联轴器类型和型号
1.选择联轴器类型 2.选择联轴器型号
第三章 装配图设计
一、装配图设计的第一阶段
1.装配图的设计准备 2.减速器的结构尺寸 3.减速器装配草图设计第一阶段
二、装配图设计的第二阶段
1.中间轴的设计 2.高速轴的设计 1 / 25

3.低速轴的设计
三、装配图设计的第三阶段
1.传动零件的结构设计 2.滚动轴承的润滑与密封
四、装配图设计的第四阶段
1.箱体的结构设计 2.减速器附件的设计 3.画正式装配图
第四章 零件工作图设计
一、零件工作图的内容 二、轴零件工作图设计 三、齿轮零件工作图设计
第五章 注意事项
一、设计时注意事项 二、使用时注意事项
第六章 设计计算说明书编写
2 / 25

第一章 传动装置总体设计
一、电动机选择
1.选择电动机的类型 电动机有直流电动机和交流电动机。直流电动机需要直流电源,结构复杂,价格较高;当交流电动机 能满足工作要求时,一般不采用直流电动机,工程上大都采用三相交流电源,如无特殊要求应采用三相交 流电动机。交流电动机又分为异步电动机和同步电动机,异步电动机又分为笼型和绕线型,一般常用的是 Y 系列全封闭自扇冷式笼型三相异步电动机,它具有防止灰尘、铁屑或其他杂物侵入电动机内部的特点, 适用于没有特殊要求的机械上, 如机床、 运输机、 搅拌机等。 所以选择 Y 系列三相异步电动机。 b5E2RGbCAP 2.选择电动机的功率 电动机的功率用额定功率 Ped 表示,所选电动机的额定功率应等于或稍大于工作机所需的电动机输出 功率 Pd。功率小于工作要求则不能保证工作机正常工作,或使电动机长期过载,发热大而过早损坏;功率 过大,则增加成本,且由于电动机不能满载运行,功率因素和效率较低,能量不能充分利用而造成浪费。 工作机所需电动机输出功率应根据工作机所需功率和中间传动装置的效率等确定。p1EanqFDPw 工作机所需功率为: Pw ?
Fv ,η w——工作机(卷筒)的效率,查吴宗泽 P5 表 1-7。 1000ηw
工作机所需电动机输出功率为: Pd ?
Pw Pw ,η 1 ——带传动效率;η 2——滚动轴承效率; ? 3 2 η η1η2 η3 η4
η 3 ——齿轮传动效率;η 4——联轴器效率,查吴宗泽 P5 表 1-7。DXDiTa9E3d 电动机的额定功率:Ped=(启动载荷/名义载荷)×Pd,查吴宗泽 P167 表 12-1 选择电动机的额定功率。
RTCrpUDGiT
3.选择电动机的转速 具有相同额定功率的同类型电动机有几种不同的同步转速。低转速电动机级数多,外廓尺寸较大,质 量较重,价格较高,但可使总传动比及传动装置的尺寸减小,高转速电动机则相反,应综合考虑各种因素 选取适当的电动机转速。Y 系列三相异步电动机常用的同步转速有 3000r/min、1500r/min、1000r/min 和 750r/min,一般多选同步转速为 1500r/min 和 1000r/min 的电动机。为使传动装置设计合理,可根据工作机 的转速要求和各级传动机构的合理传动比范围,推算出电动机转速的可选范围,即 5PCzVD7HxA nd=(i1i2…in)nw,nd 为电动机可选转速范围,i1,i2,…,in 为各级传动机构的合理传动比范围,nw 为工 作机转速。jLBHrnAILg 工作机转速: nw ?
60 ?1000 ? v πD
查吴宗泽 P188 表 13-2 知:iV 带传动=2~4,i 单级圆柱齿轮传动=2~5,则电动机转速的可选范围为 xHAQX74J0X nd=(2~4)×(3~5)×(3~5)×nw 电动机转速推荐选择 1500r/min
3 / 25

机械设计课程设计样本模板

机械设计课程设计 样本

机械设计《课程设计》 课题名称带式输送机传动装置设计 系别机械系 专业模具设计与制造 班级模具091 姓名尹利平 学号 02031077 指导老师刘静波 完成日期 6月25日 目录 第一章绪论 第二章课题题目及主要技术参数说明 2.1 课题题目 2.2 主要技术参数说明

2.3 传动系统工作条件 2.4 传动系统方案的选择 第三章减速器结构选择及相关性能参数计算 3.1 减速器结构 3.2 电动机选择 3.3 传动比分配 3.4 动力运动参数计算 第四章齿轮的设计计算(包括小齿轮和大齿轮) 4.1 齿轮材料和热处理的选择 4.2 齿轮几何尺寸的设计计算 4.2.1 按照接触强度初步设计齿轮主要尺寸 4.2.2 齿轮弯曲强度校核 4.2.3 齿轮几何尺寸的确定 4.3 齿轮的结构设计 第五章轴的设计计算(从动轴) 5.1 轴的材料和热处理的选择 5.2 轴几何尺寸的设计计算 5.2.1 按照扭转强度初步设计轴的最小直径

5.2.2 轴的结构设计 5.2.3 轴的强度校核 第六章轴承、键和联轴器的选择 6.1 轴承的选择及校核 6.2 键的选择计算及校核 6.3 联轴器的选择 第七章减速器润滑、密封及附件的选择确定以及箱体主要结构尺寸的计算 7.1 润滑的选择确定 7.2 密封的选择确定 7.3减速器附件的选择确定 7.4箱体主要结构尺寸计算 第八章总结 参考文献

第一章绪论 本论文主要内容是进行一级圆柱直齿轮的设计计算, 在设计计算中运用到了《机械设计基础》、《机械制图》、《工程力学》、《公差与互换性》等多门课程知识, 并运用《AUTOCAD》软件进行绘图, 因此是一个非常重要的综合实践环节,也是一次全面的、规范的实践训练。经过这次训练, 使我们在众多方面得到了锻炼和培养。主要体现在如下几个方面: ( 1) 培养了我们理论联系实际的设计思想, 训练了综合运用机械设计课程和其它相关课程的基础理论并结合生产实际进行分析和解决工程实际问题的能力, 巩固、深化和扩展了相关机械设计方面的知识。 ( 2) 经过对通用机械零件、常见机械传动或简单机械的设计, 使我们掌握了一般机械设计的程序和方法, 树立正确的工程设计思想, 培养独立、全面、科学的工程设计能力和创新能力。 ( 3) 另外培养了我们查阅和使用标准、规范、手册、图册及相关技术资料的能力以及计算、绘图数据处理、计算机辅助设计方面的能力。

相关文档
最新文档