- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
我的CAD编程作图
学生学号 0120901080209 实验课成绩
武汉理工大学
学 生 实 验 报 告 书
实验课程名称 CAD/CAM基础
开 课 学 院 材料学院
指导老师姓名 余世浩
学 生 姓 名 彭抗
学生专业班级 成型0902
2011 — 2012学年 第 一 学期
实验课程名称: CAD/CAM基础
实验项目名称 图形软件的二次开发 实验成绩 实验者 彭抗 专业班级 成型0902 组别 同组者 实验日期 2011年11月1日 第一部分:实验分析与设计
1.实验目的:
(1)了解Auto CAD 图形交换文件(DXF文件)的结构和格式;
(2)熟悉图形变换文件的程序生成方法;
(3)编制生成Auto CAD图形交换文件的高级语言程序。实现标准零件图的自动生成和绘制。
2.实验要求:
(1)编写含有生成直线、圆弧的DXF文件的接口程序;
(2)编写生成某一标准零件DXF文件的主程序,经调试、编译、执行,生成该图形的DXF文件;
(3)进入Auto CAD 软件,生成该图形。
3.实验原理:
1)DXF文件(图形变换文件)与DWG文件(图形文件)的转换
(1)由DWG文件生成DXF 文件
在Auto CAD 软件的命令(Command)状态下,执行DXFOUT命令,输入DXF文件名,即可生成当前图形文件的图形交换文件(DXF文件)。
(2)由DXF文件生成DWG文件
在Auto CAD软件的命令(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
0
EOF
3)接口程序设计
在ENTITIES段,其主要由直线段(LINE)、圆弧(ARC)和圆(CIRCLE)组成。根据直线、圆弧、圆的结构,课编写相应的函数。
(1)写实体段头部的DXF文件的函数(宝库文件操作)
dxfhead()
{char mydxf[10];
printf(\input dxffile name:);
scanf(%s,mydxf);
knm=fopen(mydxf,w);
fputs(0\n,knm);
fputs(SECTION\n,knm);
fputs(2\n,knm);
fputs(ENTITIES\n,knm);
return; }
(2)直线段的结构及写直线段的DXF文件的函数
①直线段的结构
0
LINE
8
层号
10
Xs
20
Ys
11
Xe
21
Ye
②写直线段的DXF文件的函数
line(ceng,x1,y1,x2,y2)
char ceng;
float x1,y1,x2,y2;
{ 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);
return;}
(3)圆弧段的结构及写圆弧段的DXF文件的函数
①圆弧段的结构
0
ARC
8
层号
10
X0
20
Y0
30
Z0
40
R
50
A1
51
a2
②写圆弧段的DXF文件的函数
arc(ceng,x0,y0,r,stang,endang)
char ceng;
float x0,y0,r,stang,endang;
{ fputs(0\n,knm);
fputs(ARC\n,knm);
fputs(8\n,knm);
fprintf(knm,%
文档评论(0)