请问一下谁做过读取dxf文件格式的程序?进者有分!!!
大家好!
我想读取dxf文件格式,我是用vc6。0的,请问一下如何读取dxf文件格式阿,如果有例程或者是源代码就更好了,谢谢!我的email:zjcgp808@163.com,
大家也可以提供一些相关的资料,我们来论坛就是来学习,或者帮助别人,或者于求别人的帮助!呵呵,希望大家能够互相交流交流!
问题点数:100、回复次数:9Top
1 楼cbc(逍遥子)回复于 2002-12-16 23:04:19 得分 20
你一定要有AutoCAD的关于DXF格式的资料,DXF是文本文件,它每一行代表什么要弄清楚才行,(我原来公司有人做过)。至于文件读取,如楼上,CStdioFile一行行地读就行了。Top
2 楼cbc(逍遥子)回复于 2002-12-16 23:06:57 得分 30
这此基本够你用的了
1,(设已正确打开开文件ofstream fout )
写文件头一部分:
fout<<" 0"<<endl;
fout<<"SECTION"<<endl;
fout<<" 2"<<endl;
fout<<"ENTITIES"<<endl;
2,用下面的三个函数加LINE,PLINE,TERXT
3,写文件结束部分
fout<<" 0"<<endl;
fout<<"ENDSEC"<<endl;
fout<<" 0"<<endl;
fout<<"EOF"<<endl;
fout.close();
================================
void COOPFEView::DXFLine(ofstream &fout, double dX, double dY, double dX1, double dY1)
{
fout<<" 0"<<endl;
fout<<"LINE"<<endl;
fout<<" 8"<<endl;
fout<<"0"<<endl;
fout<<" 10"<<endl;
fout<<dX<<endl;
fout<<" 20"<<endl;
fout<<dY<<endl;
fout<<" 30"<<endl;
fout<<"0.0"<<endl;
fout<<" 11"<<endl;
fout<<dX1<<endl;
fout<<" 21"<<endl;
fout<<dY1<<endl;
fout<<" 31"<<endl;
fout<<"0.0"<<endl;
}
void COOPFEView::DXFText(ofstream &fout, double dX, double dY,double dHeight,double dAngle, CString sText)
{
fout<<" 0"<<endl;
fout<<"TEXT"<<endl;
fout<<" 8"<<endl;
fout<<"0"<<endl;
fout<<" 10"<<endl;
fout<<dX<<endl;
fout<<" 20"<<endl;
fout<<dY<<endl;
fout<<" 30"<<endl;
fout<<"0.0"<<endl;
fout<<" 40"<<endl;
fout<<dHeight<<endl;
fout<<" 41"<<endl;
fout<<0.8<<endl;
fout<<" 50"<<endl;
fout<<dAngle<<endl;
fout<<" 1"<<endl;
fout<<sText<<endl;
}
void COOPFEView::DXFPline(ofstream &fout, double dX, double dY, double dX1, double dY1,double dWidth)
{
fout<<" 0"<<endl;
fout<<"POLYLINE"<<endl;
fout<<" 8"<<endl;
fout<<"0"<<endl;
fout<<" 66"<<endl;
fout<<"1"<<endl;
fout<<" 40"<<endl;
fout<<"0.0"<<endl;
fout<<" 41"<<endl;
fout<<"0.0"<<endl;
fout<<" 0"<<endl;
fout<<"VERTEX"<<endl;
fout<<" 8"<<endl;
fout<<"0"<<endl;
fout<<" 10"<<endl;
fout<<dX<<endl;
fout<<" 20"<<endl;
fout<<dY<<endl;
fout<<" 40"<<endl;
fout<<dWidth<<endl;
fout<<" 41"<<endl;
fout<<dWidth<<endl;
fout<<" 0"<<endl;
fout<<"VERTEX"<<endl;
fout<<" 8"<<endl;
fout<<"0"<<endl;
fout<<" 10"<<endl;
fout<<dX1<<endl;
fout<<" 20"<<endl;
fout<<dY1<<endl;
fout<<" 0"<<endl;
fout<<"SEQEND"<<endl;
fout<<" 8"<<endl;
fout<<"0"<<endl;
}
Top
3 楼cbc(逍遥子)回复于 2002-12-16 23:07:49 得分 30
这里有源代码
http://www.swm.com.cn/yingyong/yy-00-05/yy02.htm
Top
4 楼nlstone(天外流星)回复于 2002-12-16 23:51:45 得分 0
可参考www.opendwg.org
Top
5 楼Ozone_79(话为之星)回复于 2002-12-17 09:17:31 得分 0
关注.Top
6 楼sunheart(深蓝)回复于 2002-12-17 12:48:11 得分 0
gzTop
7 楼vfe(vfe)回复于 2002-12-17 13:15:38 得分 0
就是文本文件Top
8 楼zhenxizhou(东门行)回复于 2002-12-17 13:39:16 得分 20
其实就是文本文件。只是内容有格式而已。
http://www.swm.com.cn/yingyong/yy-00-05/yy02.htm
Top
9 楼leonao(阿鲲)回复于 2002-12-17 13:49:23 得分 0
upTop




