乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 28|回复: 1

vba生成dxf文件方法小议,另有dxf问题请教大家

[复制链接]

23

主题

76

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2006-4-18 21:38:00 | 显示全部楼层
帮助里有Dxf文件的格式,你先看看吧,最近太忙:),没时间研究:)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 11:26 , Processed in 0.830461 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表