电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

DXF中文开发文档详解

DXF中文开发文档详解_第1页
1/75
DXF中文开发文档详解_第2页
2/75
DXF中文开发文档详解_第3页
3/75
DXF 中文开发文档详解 在 DXF 文件中,我们最关心的是如何得到模型上各个点的坐标,并且用这些点连成许多个三用形,构成面,进而绘制出整个模型。在 DXF 文件的结构中,我们已经看到,DXF 文件先叙述实体上各个点的坐标,然后叙述实体上有多少个面,每个面由哪些点构成。这样,我们至少需要 2 个数组来存储一个实体的信息,一个用于存储点的坐标,一个用于存储点序,我们可以把这 2 个数组放到一个结构中,如果模型中实体的数目不止一个是,我们就用这个结构来定义一个数组。在本文中,我们使用 Visual C++ 6.0 来写一个读取 DXF 文件的小程序。 在实际应用中,模型中实体的数目以及实体中点和面的数目都是不定的,为了有效地利用内存,我们选择 MFC 类库中的聚合类 CobArray 类所创建的对象 vertex, sequence 来存储和管理实体的点坐标和点序。 CObArray 类是一个用来存放数组类的聚合类,它能根据要存进来的数组(或结构)多少自动进行自身大小的高速,而且这个类本身具有的成员函数使得我们对它的对象的操作更加方便、快捷,用它编的程序也易于读懂。 三维实体模型的模型信息中的一部分信息可以在标题段中读出,通过读取变量名为$UCSORG 的三个变量,可以得到三维实体在世界坐标系中自身所定义的用户坐标系原点的三维坐标。通过读取$EXTMAX,$EXTMIN 可以获知三维实体在世界坐标系中的范围,而其它部分的信息只有读完了全部 DXF 文件后才可以通过计算确定。对于三维实体模型的全部点坐标、点序,可以在实体段中按照前面介绍的 DXF 文件基本结构读出。现在我们开始写这个程序。 先建立一个头文件 HEAD.H 定义如下的结构:VERTEX, SEQUENCE 和类 CVertex, Csequence。 typedef struct { float x,y,z; }VERTEX; 结构 VERTEX 用来存储点的坐标 typedef struct { int a,b,c; }SEQUENCE; 结构 SEQUENCE 用来存储实体的面的组成 typedef struct { char obName[20]; 定义结构 myVertex 来存储实体的名字,点的坐标以及面的组成, CObArray Vertex; 其中,点的坐标和面的组成是由聚合类 CObArray 定义的对象来 CObArray Sequence; 在存储的,我们可以把 VERTEX 结构和 SEQUENCE 结构加入到 }myVertex; 这两个对象中保存 class CVertex : public CObject { 因为 CObArray 类的对象中只能加入由 CObject 派生的对象,所以 protected: 我们还需要建立一...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

DXF中文开发文档详解

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部