Teigha .dwg文件开发——从零开始

 最近要求做cad文件的第三方开发,尝试申请了Teigha的免费试用版(要注册账号申请,官网上有教程,不懂得可以咨询我,在下方评论也可以),以下是我总结的基础内容


1.一个工程制图文件,也就是drawing(图纸),其实是一个数据库,这个数据库记录图形和非图形对象。一共有3种不同类型的对象:1.实体 2. 容器(管理和存储对象) 3.其余对象(包括特殊的没有布局之类的对象)

其中容器主要包括下列:1.系统符号表,系统中有九张这样的表,不能改变表格的数量,但是你可以向表格里面添加内容 2.一个字典(Dictionaries),存储各种CAD对象的容器,你可以添加新的字典并且往里面添加对象,新建的数据库文件里面有一个默认的字典,名称叫做Object Dictionary,这个字典是所有数据库字典的根字典。
    九种主要的系统符号表:
   1.块表(Block Table),图纸实体记录在块表记录中
   2.图层表(Layers Table),包含图纸的图层,每个图层可以设置属性:ON/OFF, FROZEN/THAWED,颜色和线条种类
   3 线条种类表(Linetypes Table)包含图纸的线的类型。每个线型都有一个名字,一个string来描述它的外观和一个数据来存储线型的参数
   4 文字类型表(TextStyle Table)包含图纸的文字风格。每个字型都一个名字,使用的字体,高度,清晰角度和其他一些参数
   5 视图表(View Table)包含了图纸的已命名的视图定义。每个视图定义都指定了一个3d视图
   6 视点表(Viewports Table)包含了图纸的视点定义。已命名的视点组有一系列的视点,并且有相同的命名。当前的视点或者视点组拥有"ACTIVE"属性
   7 维度样式表(DimStyles Table)包含了对图像的维度样式定义。维度样式是一个拥有很多变量的容器,其中变量指示维度是怎么创建的
   8 UCSs表包含了图纸中已命名的用户坐标系统(UCS)的定义。用户系统系统是规范的坐标系统而不是世界坐标系统
   9 注册应用表 包含了图纸注册的应用,那些把自身注册到CAD系统中的应用。


2.在数据库中,主要有两种主要的对象:容器和对象本身。在系统中有十个内嵌的根对象,九个符号表和一个字典。
  对象可以属于或者不属于一个数据库,拍段的依据是看这个对象是否加入正确的容器中,如果一个对象没有正确的放入数据库中(例如图层放入了块表中),那么它就是non-resident(怎么翻译好呢,感觉可以翻译成非原住对象、无效对象等)
  例如,在数据库中新建一个图层的过程:1.打开图层表来写入 2.新建图层表记录来代表图层 3.在插入表之前设置一些属性 4.把图层记录对象放入表中,数据库中
  在模型空间中新建一个实体的过程:1.打开快表(包含所有实体)来写入 2.打开代表模型空间的块记录 3创建一个新实体对象 4.在模型空间块记录中添加新实体对象。


3 实体是图形的代表对象,块是实体对象的拥有者。实体是图形的代表,典型的有线条、圆、文字等。每个实体都有一些通用的属性,定在entity类中,比如颜色、是否可见、所属图层等。
   创建一个数据实体你需要如下的步骤:1.创建几何对象 2.打开块表 3.打开存储几何对象的块记录对象 4.使用appending方法来插入到表中


4.图纸中的图纸(层)相当于基于纸张绘图的覆盖(画完一张放在另一张上面)。任何绘画分为许多图纸(层),这些图纸(层)组织信息功能和执行标准。 每个图都可以有无限数量的图纸(层),但必须至少有一个。所有的实体图必须与一图纸(层)有关。例如,建筑线条、文本和维度可以位于不同的层。当然还有布局的概念,相信大家在使用autocad的时候就有所了解了。
  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 35
    评论
### 回答1: Teigha.dwg是一种专为DWG格式设计的开源软件开发套件。DWG是由Autodesk公司开发的AutoCAD标准文件格式,而Teigha.dwg则是一种用于读取和编辑这些文件的软件开发套件。使用Teigha.dwg开发者可以创建自己的DWG文件处理软件,而无需担心DWG文件格式的复杂性和专有性。此外,Teigha.dwg还支持多种平台和编程语言,包括Windows、Linux、Mac OS、C++、.NET等,使开发者可以轻松地集成该软件开发套件到自己的项目中。Teigha.dwg还包括一些高级特性,如DWG和DXF的版本转换、3D实体支持、多语言支持和Unicode字符支持等,这些特性有助于提高开发者的工作效率和软件的性能。因此,Teigha.dwg被广泛应用于CAD领域,它既可以用于开发商业软件,也可以用于开源项目。 ### 回答2: Teigha.dwg C 是一款适用于 CAD 设计软件的二进制数据解析库,其主要目的是支持开发人员在自己的应用程序中读取和写入 DWG 文件Teigha.dwg C 成功地帮助了众多 CAD 设计软件的开发,包括 AutoCAD、DraftSight 等。 Teigha.dwg C 的优势在于其量身定制的设计和卓越的性能。该库通过采用 C++ 编写的高效算法来解析 DWG 文件中的二进制数据,以确保无论处理何种文件大小的 DWG 或 DXF 文件,都能保证高效的性能和稳定的功能。 此外,Teigha.dwg C 支持多种不同的 CAD 程序,因此开发人员可以方便地编写他们需要的 CAD 应用程序,与其他 CAD 设计工具保持良好的兼容性,并提供广泛的 CAD 文件格式支持。 综上所述,Teigha.dwg C 是一个非常有用的 CAD 数据解析库,它在灵活性和性能方面表现卓越,对于 CAD 开发人员来说是一个宝贵的工具。 ### 回答3: Teigha.dwg是一个开源的CAD文件解析库,它支持多个CAD文件格式,包括.DWG、.DXF、.DGN以及.STL等。作为一个具有高度兼容性的解析库,它可以充分利用DWG格式文件的优势,实现多平台、多交互式应用程序的开发,同时还可以实现文件的读取、编辑以及创建。 作为一个免费的开源库,teigha.dwg是许多DWG CAD应用程序实现兼容性的重要组成部分。对于需要进行CAD文件格式处理的企业和个人而言,它提供了方便、高效的解决方案,同时也为开源软件社区的发展做出了贡献。 总的来说,teigha.dwg是一个重要的开源工具,它为DWG格式文件处理提供了可靠、高效、免费的解决方案,帮助开发者节约了成本和时间,同时也促进了DWG CAD应用程序的普及和发展。
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CuteXiaoKe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值