easypower
发表于 2004-8-25 12:54:00
给你两个连接,应该可以帮你解决很多问题
<A href="http://www.codeproject.com/file/dxffiles.asp" target="_blank" >http://www.codeproject.com/file/dxffiles.asp</A>
<A href="http://www.codeproject.com/library/cadlib.asp" target="_blank" >http://www.codeproject.com/library/cadlib.asp</A>
easypower
发表于 2004-8-25 12:55:00
有什么心得记得共享就好
有什么问题也欢迎提问
木亦语
发表于 2004-8-26 10:32:00
非常感谢<A name=45256><FONT color=#000066><B>easypower</B></FONT></A>的帮助。
上面的链接中可以下载一个cadlib动态链接库,对写dxf文件应该有非常大的帮助,可以简化很多工作吧。
呵呵我正在试用。
木亦语
发表于 2004-8-26 10:36:00
昨天晚上我自己琢磨了一下,
发现在dxf文件中,空格是没用的。
也发现了如果采用2004的dxf格式,
那么可能对dxf文件的结构要求比较高。
可能几大区域都要全。
我试着删掉一些区域,
但都没成功。
如果采用r12的格式的话,
那会简单很多,
只用写entities区域就行了
而且句柄不用分配。
木亦语
发表于 2004-8-26 10:39:00
有一个关于写入文件的问题,费了好大功夫,也没弄明白,
在这里向大家请教一下。
我想写入double格式的变量,但是实际在文件中输入的总是乱码。不知道怎么回事。
木亦语
发表于 2004-8-26 10:46:00
代码如下:
double dd;<BR> dd=10000;
CFile mFile("e:\\eee.dxf",CFile::modeWrite|CFile::modeCreate);
mFile.Write((void*)&dd,sizeof(double));
mFile.Flush();
mFile.Close(); <BR><BR>
结果在文件eee.dxf中写入的是“□@<SPAN style="mso-spacerun: yes"> F</SPAN>”,
如果dd=100,则写入的是“d”,
我自己估计是写入的是dd在内存中的数值,而不是变量dd所包含的值。
请问这是怎么回事呢?
怎么才能正确输入变量dd的值呢?
(比如dd=100,就在文件中写入100)
easypower
发表于 2004-8-26 11:39:00
把100变成"100"
木亦语
发表于 2004-8-26 15:34:00
如果写成字符串格式的"100"是可以写入文件的,
但和我的要求不符合啊,
因为我用的dd是double型的
我原来想用它做为函数参数传递的
所以直接写成"100"不能满足要求啊。
木亦语
发表于 2004-8-26 15:42:00
不过我从您给的第一个网页链接中找到另一种写入文件的方法。
用ofstream就很方便的能满足需要。
就是觉得上面的mFile.Write((void*)&dd,sizeof(double)); 这种方法应该也可以的。
我是从一本vc的参考书看来的。
可是就不知道错在哪里了。
奇怪
gxss
发表于 2004-8-28 17:44:00
<A href="http://www.opendwg.org/" target="_blank" >www.opendwg.org</A>提供了很好的开发包OpenDWG Toolkit,开发独立于AutoCAD之外运行的程序,可以实现DWG/DXF文件格式互换!