




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TrackMouseEvent请使用_TrackMouseEvent2).在commctrl.h显示为_TrackMouseEvent(),请注意下划线.3).可能TrackMouseEvent()不支持Win98(在NT中工作得非常好),建议你结合WM_MOUSEMOVE消息和 SetCapture()函数,当鼠标移出窗口时你依然可以控制.Turbo C修改Auto CAD的图素 Auto CAD是一套高效的绘图工具,在地图制图和计算机辅助设计方面得到广泛的应用。地籍图的数字化和编辑中,常会遇到图形的放大和缩小等情况,而其中的部分图素则要求保持原样,如界址点的园圈要求无论在何种比例尺地籍图中其半径均为0.4mm,注记也必须满足规范要求。如何在图形比例变化后,复原部分图素的大小,是地籍制图工作中非常重要的问题。本文讨论运用Turbo C语言直接读写Auto CAD的数据交换文件并修改其部分图素的方法。Auto CAD图形数据库是以十分紧缩的格式存储的,对用户程序来说,很难直接读出,为便于数据交换,Auto CAD提供了数据交换文件DXF文件。?此文件是一种专用的ASCII文件,其一般结构为:HEADER(标题)节、?TABLES?(表格)节、BLOCK(块)节、ENTITIES(图素)节、EOF(文件结束)节,共五个部分。每个部分由若干组构成,每个组由两行组成,首行为组代码,其格式为三个字符域向右对齐,左边填满空格,该组的第二行是组值,采用的格式取决于由组代码规定的组的类型。部分组代码及其含义:0 标识一个图素表目的开始;1 一个图素的初始文本值;6 线型名;8 层次名;10起始X坐标(线或正文图素的起始点,园的园心,等等);11-18其它X坐标;20起始Y坐标(线或正文图素的起始点,园的园心,等等);21-28其它Y坐标;30-38Z坐标;40-48浮点值(如文字高度、比例因子等);50-58角度;62颜色号。70-78整数值(如文本注记方式等)DXF文件各个节的代码及顺序为:0 (开始标题节) 0 (开始图素节) SECTION SECTION 2 2 HEADER ENTITIES . . (图素部分) 0 (开始表节) 0 (终止图素) SECTOIN ENDSEC 2 0 (文件结束节) TABLES EOF (文件结束) . 0 (开始块节) SECTION 2 BLOCKS 每个图素从标识图素的0开始,分别为图素名、层次组码、层次名等,部分图素的组代码为:LINE 10和20(起始点),11和21(终止点)。POINT 10和20。CIRCLE 10和20(园心),40(半径)。ARC 10和20(园心),40(半径),50(起始角度),51(终止角度)。TEXT 10和20(插入点),40(高度),1(文字值),50(旋转角度,可选项),41(X的比例因子,可选项),51(倾斜角,可选项),72(对齐类型,可选项),等。.以上图素均有颜色可选项,若用系统颜色,则此项省略,否则,有组码62和组值(即所用的颜色值)。以部分图素为例,其在DXF文件中的结构为:0 (图素开始) 11 TEXT 31.877698 (终点X值) 8 21 0 (0层) 24.488029 (终点Y值) 62 31 1 (1号颜色) 0.0 (终点Z值) 10 0 14.419423 (插入点X值) CIRCLE 20 8 29.015994 (插入点Y值) 0 (0层) 30 10 0.0 (插入点Z值) 21.021801 (园心X值) 40 20 2.0 (文本高度) 14.931725 (园心Y值) 1 30 asdasf (文本值) 0.0 (园心Z值) 50 40 10.0 (旋转角度值) 2.993616 (半径R值) 72 0 1 (对齐方式) ARC 11 8 20.0 (对齐点X值) 0 21 10 30.0 (对齐点Y值) 40.578556 (中心X值) 31 20 0.0 (对齐点Z值) 16.275509 (中心Y值) 0 30 LINE 0.0 (中心Z值) 8 40 0 (0层) 6.505316 (半径R值) 62 50 3 (三号颜色) 54.138194 (起点角度值) 10 51 24.333769 (起点X值) 176.45641 (终点角度值) 20 25.039355 (起点Y值) 30 0.0 (起点Z值) 以修改CIRCLE的半径和TEXT的高度为例。由于大部分图素有可选项,数据结构不固定,因此难以用Turbo C的结构体进行读写。另外,DXF文件的组码不是左对齐,也无法按整型数据读取。Turbo C提供了两个函数:fgets(str,n,fp)和fputs(str,fp)。前者是从fp指向的文件输入n-1个字符,并把它们放到字符数组str中。若在读入n-1个字符结束之前遇到换行符或EOF读入结束。后者是把str中的字符输入到fp指向的文件中。设图素的可选项均为系统默认值,源程序如下:/*修改DXF文件中的园的半径和TEXT的高度*/#include stdio.hFILE *fp,*fp0;main()char s140,s240,s340,*ss;int i;char outfile12;printf(输入DXF文件名(含扩展名): );scanf(%s,outfile);if (fp=fopen(outfile,r)=NULL)printf(can not open filen);exit(0);if (fp0=fopen(dxf0.dxf,w)=NULL)printf(error!n);exit(0);while (! feof(fp)fgets(s1,20,fp);fputs(s1,fp0);if (s10=C& s11=I & s12=R)for (i=1;i=9;i+) fgets(s1,20,fp);fputs(s1,fp0);fgets(s1,20,fp);fputs(1.4n,fp0);if (s10=T& s11=E & s12=X & s13=T)for (i=1;i=11;i+) fgets(s1,20,fp);fputs(s1,fp0);fgets(s1,20,fp);fputs(2.0n,fp0);fclose(fp);fclose(fp0);运行此程序即可将园的半径均修改为0.4,将文本注记的高度均修改为2.0,修改的结果保存到DXF0.DXF中,在Auto CAD状态下用DXFIN?命令即可调出修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电机培训课件图片
- 转正实习报告
- 2025年中国大米蛋白行业发展前景预测及投资战略研究报告
- 2025年中国微型继电器行业竞争格局分析及投资规划研究报告
- 厂房租赁合同
- 氢燃料电池项目评价分析报告
- 2025年中国止回阀阀辨行业市场发展前景及发展趋势与投资战略研究报告
- 人防竣工验收监理质量评估报告完整版
- 中国车载通信系统市场竞争格局及投资前景展望报告
- 2025年数控雕刻机项目提案报告模板
- 虚拟仿真技术在沉浸式教学中的应用研究-洞察分析
- 2024秋广东开放大学《数学大观(本)》测验1-5答案
- 苏州大学《普通物理学三》2021-2022学年第一学期期末试卷
- 生态修复合同范例
- 工业大数据采集处理与应用
- 程序设计基础-C(四川师范大学)知到智慧树章节答案
- 公共体育(四)学习通超星期末考试答案章节答案2024年
- 正畸病历书模板
- 2023-2024学年全国初中七年级下语文人教版期末考试试卷(含答案解析)
- 超星尔雅学习通《微生物与人类健康(复旦大学)》2024章节测试答案
- 有趣的图形化编程
评论
0/150
提交评论