DGNLib:阅读与写入DGN文件的C/C++库
需积分: 12 149 浏览量
更新于2024-09-10
收藏 111KB TXT 举报
"Intergraph Standard File Formats (Element Structure) 是一套由Intergraph公司用于MicroStation和Interactive Graphics Design System (IGDS)的文件格式。这个标准现在对公众开放,使得Intergraph的客户和第三方开发者能够创建自定义应用,读取和写入ISFF格式,而无需从Intergraph获得许可。ISFF包含了设计文件头、基本和复杂元素、元素表示、通用元素参数、层符号(Type10)、库单元头(Type1)、单元头(Type2)、线元素(Type3)、线串(Type4)、形状(Type6)、曲线(Type11)和B样条、极点元素(Type21)、文本节点头(Type7)、复杂链头(Type12)和复杂形状头(Type14)、椭圆元素(Type15)、弧元素(Type16)、文本元素(Type17)、3D表面头(Type18)和3D实体头(Type19)、点串元素(Type22)以及锥形元素等。
DGNLib是一个小型的C/C++库,专门用于读取和写入DGN文件。目前提供的是dgnlib-1.11.zip版本,包含源代码和dgndump示例程序。DGNLib并不支持所有的DGN元素,但大多数2D和3D元素被支持,如线条、线串、曲线、B样条、椭圆、弧和文本元素,同时可以提取颜色表和主坐标信息。对于一些较为复杂的元素,它仅以原始数据模式读取,但不进行解释。
DGNLib不支持Microstation V8的DGN文件,因为它们是不同的格式。OpenDWG联盟的DGNdirect库则支持DGN v8格式。DGNLib具有较好的可移植性,可以在Linux、MacOS和Windows上运行,但可能需要根据平台调整cpl_port.h和cpl_config.h文件。
在内存使用方面,DGNLib通常不会占用大量内存,因为每次只在内存中存储一个元素。如果文件被索引,每个元素会额外占用12字节的内存,但这不是必需的。
DGNLib不包含用于绘制DGN元素的代码,但它提供了一份文档,指导如何正确地根据DGNLib返回的结构来绘制元素。OGR层将这些绘图信息重新解释为OGR Feature Style格式,该格式被某些应用程序(如UMN MapServer)理解。
DGNLib使用MIT/X风格的开源许可证,这意味着它可以在商业和免费产品中自由使用,无须担心授权问题。源文件头部包含了完整的许可证文本。
在写入DGN文件方面,最新版本的DGNLib提供了初步的支持,包括2D和3D DGN文件的写入功能。
目前有详细的DGN Library API参考文档,但尚无教程式的使用指南。dgndump.c实用程序可以作为有限的示例。虽然初始项目已完成,但作者对修复错误和添加次要功能感兴趣,并欢迎改进。"
点击了解资源详情
点击了解资源详情
点击了解资源详情
2018-06-13 上传
2010-03-28 上传
2013-05-30 上传
2017-05-16 上传
2021-05-09 上传
2022-03-08 上传
商域无疆
- 粉丝: 386
- 资源: 12
最新资源
- dbml-renderer
- zwtdwz.js.cool:我发现了一个秘密! 这是一个特殊的存储库,可用于构建静态网站。 确保它是公开的,并使用网站文件进行初始化以开始使用
- 智能医疗办公室:应用程序的发布
- 小白也能听懂的Python课.txt打包整理.zip
- Firebase Auth in Chrome Extension Sample-crx插件
- 网吧主页
- ADC1,c语言源码打字游戏,c语言
- SUSTech-GPA-Calculator:不需专门服务器的网页版南方科技大学本科生 GPA 计算器
- β 和伽马的 NIST 质量吸收系数:材料中电子 (β) 和光子 (γ) 辐射的吸收。-matlab开发
- 仿华为手机网站触屏版手机wap企业网站模板_网站开发模板含源代码(css+html+js+图样).zip
- mqsync
- 作业12
- Nubo Beauty-crx插件
- tp-android-unity-Plugins:tp-android源码配合unity插件
- 将任何多维矩阵展平为二维矩阵!:将任何多维矩阵转换为二维矩阵。 然后将其转换回其原始形式。-matlab开发
- NextJS-chat-app:使用Ably和Next JS构建并由Vercel托管的聊天应用程序