DXF 开源项目

  很多朋友问我可不可以通过自己的应用程序去修改dwg文件,答案是肯定可以的,但需要购买第三方的插件,比如 CAD Import.NET,还有就是Autodesk官方的 RealDWG,不过这个收费太贵了,呵呵。

我们可以看到很多CAD程序都支持 DXF 文件的导出,DXF 其实是一种图形交换格式的文件,它的文件格式是官方对外发布的, 参考 DXF Reference。如果你的应用程序也支持DXF的导出,那不就直接可以在AutoCAD中打开了吗。

  我今天就推荐一个不错的 .net DXF Reader-Writer, 目前支持的对象有以下几种:

  • 3dFace
  • Arc
  • Circle
  • Ellipse
  • Insert (block references and attributes)
  • LightweightPolylines
  • Line
  • Point
  • Polyline
  • Polyline3d
  • PolyfaceMesh
  • Solid
  • Text

 

AutoCAD几种文件格式介绍

DWF:Design Web Format(TM)(Web 图形格式)的缩写形式。它是由 Autodesk 开发的一种开放、安全的文件格式,DWF 使用户可以将丰富的二维和三维设计数据以及其他项目相关文件合并成一种简单、高度压缩的 DWF 文件。DWF 文件易于在 Web 上发布和查看。

DWFx:一种基于 Microsoft 的 XML 文件规范 (XPS) 的 DWF。DWFx 使您可以使用免费的 Microsoft XPS Viewer 查看 DWF 文件。通常被称为 DWF。据说 Win7 已经集成了XPS Viewer。

DWG:DWG 指的是 AutoCAD 文件的扩展名 (.dwg)。

DXF:图形交换格式。一种可以用于在 AutoCAD 与其他程序之间交换图形的文件格式。DXF 是 DWF 的前身。也称为“图形交换格式”。 [转自:无锋不起浪]

DXF文件中,我们最关心的是如何得到模型上各个点的坐标,并且用这些点连成许多个三用形,构成面,进而绘制出整个模型。在DXF文件的结构中,我们已经看到,DXF文件先叙述实体上各个点的坐标,然后叙述实体上有多少个面,每个面由哪些点构成。这样,我们至少需要2个数组来存储一个实体的信息,一个用于存储点的坐标,一个用于存储点序,我们可以把这2个数组放到一个结构中,如果模型中实体的数目不止一个是,我们就用这个结构来定义一个数组。在本文中,我们使用      Visual C++ 6.0 来写一个读取DXF文件的小程序。     在实际应用中,模型中实体的数目以及实体中点和面的数目都是不定的,为了有效地利用内存,我们选择MFC类库中的聚合类CobArray类所创建的对象vertex,      sequence来存储和管理实体的点坐标和点序。     CObArray类是一个用来存放数组类的聚合类,它能根据要存进来的数组(或结构)多少自动进行自身大小的高速,而且这个类本身具有的成员函数使得我们对它的对象的操作更加方便、快捷,用它编的程序也易于读懂。     三维实体模型的模型信息中的一部分信息可以在标题段中读出,通过读取变量名为$UCSORG的三个变量,可以得到三维实体在世界坐标系中自身所定义的用户坐标系原点的三维坐标。通过读取$EXTMAX,$EXTMIN可以获知三维实体在世界坐标系中的范围,而其它部分的信息只有读完了全部DXF文件后才可以通过计算确定。对于三维实体模型的全部点坐标、点序,可以在实体段中按照前面介绍的DXF文件基本结构读出。现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值