vba生成dxf文件方法小议,另有dxf问题请教大家
<P>在vba里,可以有多种途径生成dxf文件。</P><P>1 比较“正统”的4个方法:</P>
<P>a. saveas 在里面可以选择版本,比如dxf2000格式等。<BR>如 ThisDrawing.SaveAs ...</P>
<P>b. export 无法选择版本。<BR>如 ThisDrawing.Export "a.dxf",abc <BR>注:abc系一个选择集,但是export成dxf格式是忽略选择集的,你任选一个选择集就好了。总是输出整个文件。</P>
<P>c wblock.这个是把一个选择集输出成dxf。可以很方便的在选择集中自定义好要输出的内容。<BR>如 ThisDrawing.Wblock "a.dxf",abc </P>
<P>d objectDBX<BR>这个当然也可以做到。在vba里加载DBX类库后,用dxfout方法就可以了。<BR>如:<BR>Dim ob As Object<BR>Set ob = CreateObject("ObjectDBX.AxDbDocument.16")<BR>ob.DxfOut "c:\2.dxf"</P>
<P>2 其他方法<BR>比如用sendcommand,调用lisp或者arx的输出dxf模块,甚至于自己用文本形式创建一个dxf文件。。。。。。</P>
<P>3 前面所述4个dxf生成办法所得到文件的简单比较 。</P>
<P>a saveas和objectDBX生成的dxf体积最大,export明显减小,wblock生成的最小。肯定是省略了很多默认的内容。<BR>b 即使选择autocad最高的精度输出形式--16位小数,各个dxf文件在例如坐标等的浮点小数值仍有不同。一般最末<BR>1-2位会有差异。<BR>c 不同办法生成的dxf,其5组码,即句柄一般是不一样的。<BR>d 有的时候,在dxf文件中记录实体的顺序也会变化。其他比如class,tables以及某些系统变量的值多少都会有差异。</P>
<P>下面是小弟的问题:<BR>如果在不用saveas的前提下,指定生成dxf文件的版本?<BR>前文所说的三个办法好像都无法指定dxf文件的版本,小弟才疏学浅,也没在dxf文件中发现版本号的记录地。<BR>我的想法是能在程序中指定dxf文件的生成版本,但是不能用saveas。<BR>请问这个可以做到吗?</P>
<P>请各位指教我!<BR>谢谢。<BR></P> 帮助里有Dxf文件的格式,你先看看吧,最近太忙:),没时间研究:)
页:
[1]