CAD实验图形软件的二次开发.docx

上传人:b****5 文档编号:12213223 上传时间:2023-04-17 格式:DOCX 页数:14 大小:87.67KB
下载 相关 举报
CAD实验图形软件的二次开发.docx_第1页
第1页 / 共14页
CAD实验图形软件的二次开发.docx_第2页
第2页 / 共14页
CAD实验图形软件的二次开发.docx_第3页
第3页 / 共14页
CAD实验图形软件的二次开发.docx_第4页
第4页 / 共14页
CAD实验图形软件的二次开发.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

CAD实验图形软件的二次开发.docx

《CAD实验图形软件的二次开发.docx》由会员分享,可在线阅读,更多相关《CAD实验图形软件的二次开发.docx(14页珍藏版)》请在冰豆网上搜索。

CAD实验图形软件的二次开发.docx

CAD实验图形软件的二次开发

学生学号

实验课成绩

学生实验报告书

 

实验课程名称

CAD/CAM基础

开课学院

指导教师姓名

学生姓名

学生专业班级

 

--

学年

学期

 

实验教学管理基本规范

实验是培养学生动手能力、分析解决问题能力的重要环节;实验报告是反映实验教学水平与质量的重要依据。

为加强实验过程管理,改革实验成绩考核方法,改善实验教学效果,提高学生质量,特制定实验教学管理基本规范。

1、本规范适用于理工科类专业实验课程,文、经、管、计算机类实验课程可根据具体情况参照执行或暂不执行。

2、每门实验课程一般会包括许多实验项目,除非常简单的验证演示性实验项目可以不写实验报告外,其他实验项目均应按本格式完成实验报告。

3、实验报告应由实验预习、实验过程、结果分析三大部分组成。

每部分均在实验成绩中占一定比例。

各部分成绩的观测点、考核目标、所占比例可参考附表执行。

各专业也可以根据具体情况,调整考核内容和评分标准。

4、学生必须在完成实验预习内容的前提下进行实验。

教师要在实验过程中抽查学生预习情况,在学生离开实验室前,检查学生实验操作和记录情况,并在实验报告第二部分教师签字栏签名,以确保实验记录的真实性。

5、教师应及时评阅学生的实验报告并给出各实验项目成绩,完整保存实验报告。

在完成所有实验项目后,教师应按学生姓名将批改好的各实验项目实验报告装订成册,构成该实验课程总报告,按班级交课程承担单位(实验中心或实验室)保管存档。

6、实验课程成绩按其类型采取百分制或优、良、中、及格和不及格五级评定。

附表:

实验考核参考内容及标准

观测点

考核目标

成绩组成

实验预习

1.预习报告

2.提问

3.对于设计型实验,着重考查设计方案的科学性、可行性和创新性

对实验目的和基本原理的认识程度,对实验方案的设计能力

20%

实验过程

1.是否按时参加实验

2.对实验过程的熟悉程度

3.对基本操作的规范程度

4.对突发事件的应急处理能力

5.实验原始记录的完整程度

6.同学之间的团结协作精神

着重考查学生的实验态度、基本操作技能;严谨的治学态度、团结协作精神

30%

结果分析

1.所分析结果是否用原始记录数据

2.计算结果是否正确

3.实验结果分析是否合理

4.对于综合实验,各项内容之间是否有分析、比较与判断等

考查学生对实验数据处理和现象分析的能力;对专业知识的综合应用能力;事实求实的精神

50%

实验课程名称:

___CAD/CAM基础____________

实验项目名称

图形软件的二次开发

实验成绩

实验者

专业班级

组别

同组者

实验日期

一部分:

实验预习报告(包括实验目的、意义,实验基本原理与方法,主要仪器设备及耗材,实验方案与技术路线等)

一、实验目的

(1)了解AutoCAD图形交换文件(DXF文件)的结构和格式;

(2)熟悉图形交换文件的程序生成方法;

(3)编辑生成AutoCAD图形交换文件的高级语言程序,实现标准零件图的自动生成和绘制。

二、实验要求

(1)编写含有生成直线、圆弧、圆的DXF文件的接口程序;

(2)编写生成某一标准零件DXF文件的主程序,经调试、编译、执行,生成该图形的DXF文件;

(3)进入AutoCAD软件,生成该图形。

注:

实验用零件图形由实验者自行准备。

三、实验原理

1)DXF文件(图形变换文件)与DWG文件(图形文件)的转换

(1)由DWG文件生成DXF文件

在AutoCAD软件的命令(Command)状态下,执行DXFOUT命令,输入DXF文件名,即可生成当前图形文件的图形交换文件(DXF文件)。

(2)由DXF文件生成DWG文件

在AutoCAD软件的命令(Command)状态下,执行DXFIN命令,输入已有的DXF文件名,即可生成该DXF文件表示的图形。

2)DXF文件的总体结构

DXF文件结构由五段组成:

(1)HEADER段标题段

(2)TABLES段表段

(3)BLOCKS段块段

(4)ENTITIES段实体段

(5)EOF段文件结束段

在DXF文件中,实体信息主要存放在ENTITIES段,而且仅有ENTITIES段和EOF段,DXF文件即可运行,因此,只需重点讨论ENTITIES段和EOF段。

DXF文件ENTITIES段的结构为:

0

SECTION

2

ENTITIES

……

实体信息(直线、圆弧、圆)描述

……

0

ENDSEC

EOF段的结构

0

EOF

3)接口程序设计

在ENTITIES段,其主要由直线段(LINE)、圆弧(ARC)和圆(CIRCLE)组成。

根据直线、圆弧、圆的结构,可编写相应的函数。

(1)写实体段头部的DXF文件的函数(包括文件操作)

(2)直线段的结构及写直线段的DXF文件的函数

直线段的结构

0

LINE

8

层号

10

Xs

20

Ys

11

Xe

21

Ye

写直线段的DXF文件的函数

(3)圆弧段的结构及写圆弧段的DXF文件的函数

圆弧段的结构

0

ARC

8

层号

10

X0

20

Y0

30

Z0

40

R

50

A1

51

a2

写圆弧段的DXF文件的函数

(4)圆实体段的结构及写圆实体段的DXF文件的函数

圆实体段的结构

0

CIRCLE

8

层号

10

X0

20

Y0

30

Z0

40

R

写圆实体段的DXF文件的函数

(5)写文件结束段DXF文件的函数

注:

原理中的函数略在第二部分的编程中有。

 

第二部分:

实验过程记录(可加页)(包括实验原始数据记录,实验现象记录,实验过程发现的问题等)

所编程序:

#include"stdio.h"

FILE*knm;

voiddxfhead();

floatline(charceng,floatx1,floaty1,floatx2,floaty2);

floatarc(charceng,floatx0,floaty0,floatr,floatstang,floatendang);

floatcircle(charceng,floatx0,floaty0,floatr);

voiddxfend();

voidmain()

{

floatl,l1,b,b1,r,r1;

scanf("%f%f%f%f%f%f",&l,&l1,&b,&b1,&r,&r1);

printf("%f%f%f%f%f%f\n",l,l1,b,b1,r,r1);

dxfhead();

line('0',0.0,0.0,l,0.0);

line('0',0.0,0.0,0.0,l1);

line('0',l,0.0,l,l1);

line('0',0.0,l1,l,l1);

arc('0',b,l1,r1,0.0,180.0);

circle('0',b,b1,r);

dxfend();

}

voiddxfhead()

{

charmydxf[10];

printf("\ninputdxffilename:

");

scanf("%s",mydxf);

knm=fopen(mydxf,"w");

fputs("0\n",knm);

fputs("SECTION\n",knm);

fputs("2\n",knm);

fputs("ENTITIES\n",knm);

return;

}

floatline(charceng,floatx1,floaty1,floatx2,floaty2)

{

fputs("0\n",knm);

fputs("LINE\n",knm);

fputs("8\n",knm);

fprintf(knm,"%c\n",ceng);

fputs("10\n",knm);

fprintf(knm,"%f\n",x1);

fputs("20\n",knm);fprintf(knm,"%f\n",y1);

fputs("11\n",knm);fprintf(knm,"%f\n",x2);

fputs("21\n",knm);fprintf(knm,"%f\n",y2);

return0;

}

floatarc(charceng,floatx0,floaty0,floatr,floatstang,floatendang)

{

fputs("0\n",knm);

fputs("ARC\n",knm);

fputs("8\n",knm);

fprintf(knm,"%c\n",ceng);

fputs("10\n",knm);

fprintf(knm,"%f\n",x0);

fputs("20\n",knm);

fprintf(knm,"%f\n",y0);

fputs("40\n",knm);

fprintf(knm,"%f\n",r);

fputs("50\n",knm);

fprintf(knm,"%f\n",stang);

fputs("51\n",knm);

fprintf(knm,"%f\n",endang);

return0;

}

floatcircle(charceng,floatx0,floaty0,floatr)

{

fputs("0\n",knm);

fputs("CIRCLE\n",knm);

fputs("8\n",knm);

fprintf(knm,"%c\n",ceng);

fputs("10\n",knm);

fprintf(knm,"%f\n",x0);

fputs("20\n",knm);

fprintf(knm,"%f\n",y0);

fputs("40\n",knm);

fprintf(knm,"%f\n",r);

return0;

}

voiddxfend()

{

fputs("0\n",knm);

fputs("ENDSEC\n",knm);

fputs("0\n",knm);

fputs("EOF\n",knm);

fclose(knm);

return;

}

生成的dxf文件截图:

Ps:

l、l1、b、b1、r、r1分别为50.0、50.0、25.0、25.0、15.0、25.0。

所画图形:

Ps:

打开AutoCAD命令中输入dxfin找到文件导入即可

 

教师签字__________

第三部分结果与讨论(可加页)

一、实验结果分析(包括数据处理、实验现象分析、影响因素讨论、综合分析和结论等)

二、小结、建议及体会

三、思考题

一、实验结果分析

编程时可能会因为所应用的软件不同产生多多少少的出入。

turboC和Vc++运行程序时可能有小小的差别,但是最终的结果是一样的。

主要是主函数的编写,调用函数基本都是一样的。

主程序的不同导致了所生成的dxf文件不同,进而导致了所画图形的不同。

二、小结、建议及体会

通过该实验使我们对AutoCAD有了更加深刻的了解,并且熟悉了用编程的方法借助dxf文件来绘制图形的基本操作。

这对我们今后的工作有着莫大的作用。

当然在绘制的过程中不是一帆风顺的,例如在写程序时,忘记了函数的声明等等。

这主要是因为我的c语言不好。

通过这些挫折也让我们更加深刻的了解、应用这些功能。

三、思考题

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1