数据交换系列-DWG数据交换方案选型

news2024/7/31 2:25:34

1.背景介绍

1.1 什么是块

块相当于一个“标准件”,当你要用的时候可以随意插入,插入的时候可以旋转角度,还可以定义比例。块 ,在CAD中,就是一个、或一组图形实体的总称,可以包含任意对象,简单的点、复杂的图纸集合均可。定义块之后,就可以多处应用,减轻重复性绘图工作,定义块的属性后,可以便于统计。

1.2 增强属性块

增强属性块可以理解为添加了自定义属性的块。增强属性块由两个部分组成:

  • 固定属性图形,比如图中的圆形和圆中间的分隔线;
  • 变量属性内容,图中的数字编号就是可以编辑的变量。
1.3 自定义实体

自定义实体可以理解为应用cad提供的基础绘制功能(画线,画圆等)绘制好图形后,并赋予自定义的属性信息,后续按照自己的类型定义命名为特定的类型。例:我们可以画Line,然后命名为CustomLine。

2.可行技术方案介绍

2.1 应用FreeCAD内置库
  • FreeCAD:开源,2D支持较好,对DXF支持较好需要使用 TeighaFileConverter(商业软件)将 DWG格式转换为 DXF格式因为 FreeCAD 基本不支持DWG格式。

参考:FreeCAD and DWG Import - FreeCAD Documentation

结论:不支持DWG格式,不满足技术要求。

2.2 开源LibreDWG库
  • 版本支持
  • LibreDWG能够解析CAD 2000-2022不同版本,对于低版本的cad有待验证(2008版本以下).
  • 2008版本DWG在进行解析时,会丢失以下图元(图片、句柄对象、代理对象、用户坐标系、VBA对象、被引用和参照对象等
  • 解析能力:
  • 解析增强块解析:下图ATTRIB为属性块的属性定义,经过调试,libredwg未能读取属性定义key和value。

  • 解析自定义实体:LibreDWG未有CAD自定义实体,libredwg会将自定义实体按照基础图元进行解析(点、直线、多义线等),下边左边的图是天正墙(自定义实体),右边为libredwg解析后画线的效果。

  • 结论:LibreDWG不能读取增强属性块内的 自定义属性信息。LibreDWG不能解析自定义实体。

2.3 OpenDwg 工具库

官网地址opendwg.org(怀疑官网被买了,全是投资交易的内容)。个人用途使用此第三方开源库免费,如果是商用用途,需要交纳版权费用。

LX-Viewer基于OpenDWG进行的开发,但是用来进行dwg格式解析、转换等,但此项目2005年之后不再进行维护https://lx-viewer.sourceforge.net/download.php

结论:opendwg的代码国外已经不再进行维护,已经停止升级。所以此技术路线不能做为开发。

2.4  ODA的Drawing工具库

开放设计联盟是一个非营利性技术联盟,为开发工程应用程序提供高级工具包。该联盟的产品组合包括可在所有常见桌面、移动和网络平台上运行的互操作性、可视化、发布和 CAD 编辑解决方案。

解析能力:可以应用ODA解析属性块的属性数据:可以解析得到增强属性块的内部属性信息,无法用ODA提取自定义实体的属性信息。另外,它支持跨平台开发,支持Windows,Linux,Unix和Mac等。

ODA的收费:

收费版本1(限制版): 只提供SDK、技术文档,但不能给予第三方或者子公司使用,不能进行商业分销。

不能选择 可以解析Revit、Civil等 定制包。不提供源码

费用 第一年为3K 美元/年,后续为2250美元/年。

收费版本2(专业版): 可以进行商业分销,但是不能给予第三方或子公司使用,可以提供完全定制的功能。 不提供源码

费用第一年 为7500美元/年, 后续为4500美元。

如果额外选择解析revit的费用为:

收费版本3(完全版): 可以进行商业分销,能给予第三方或子公司使用,可以提供完全定制的功能可以提供源码

直接访问ODA Git存储库ODA董事会提名业务延续权

费用第一年 为37500美元/年, 后续为18000美元

如果增加额外的revit解析需要增加12500美元

2.5 采用ObjectArx开发库

ObjectARX是AutoDesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,它提供了以C++为基础的面向对象开发环境应用程序接口,能真正快速的访问AutoCAD图形数据库

与以往的 AutoCAD 二次开发工具 AutoLISP 和ADS不同,ObjectARX应用程序是一个DLL(动态链接库),共享AutoCAD的地址空间,ARX 类库采用了标准的C++类库的封装形式。ObjectARX必须依赖CAD环境。

解析能力:应用ObjectARX脚本可以获取块、属性块的文字属性和几何信息。关于objectArx /CAD二次开发中“属性块”操作_cad二次开发遍历acadblock 属性-CSDN博客下图为具体实现代码

3.方案选择

三.技术总结

不依赖Autodesk CAD环境,应用第三方库进行解析DWG文件。

名称

获取块几何信息

获取属性块几何信息

获取属性块属性信息

获取自定义实体几何信息

获取自定义实体属性

费用

FreeCAD

X

X

X

X

X

LibreDWG

X

X

X

免费

OpenDwg ToolKit

X

X

X

X

X

收费

ODA

X

收费

依赖Autodesk CAD环境,应用欧特克提供的ObjectArx开发包进行编程

名称

获取块几何信息

获取属性块几何信息

获取属性块属性信息

获取自定义实体几何信息

获取自定义实体属性

费用

ObjectArx编程

待验证

免费

从跨平台,解析能力和开发效率等综合平库,选择使用ODA的Drawing SDK来实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1918144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux(一)线程——何为线程???Linux线程控制

文章目录 什么是线程???线程和进程的区别和联系Linux线程控制POSIX线程库创建线程线程等待线程终止线程分离 什么是线程??? 在一个程序里的一个执行路线就叫做线程(thread)。更准确的…

Airtest成功案例分享:KLab连续2年携Airtest私有云产品参加CEDEC大会!

一、KLab株式会社介绍 KLab株式会社是一家位于日本的移动游戏开发公司,成立于2000年。公司以开发和运营基于动漫和漫画IP的手机游戏而闻名,尤其是在音乐节奏游戏领域。KLab的一些知名作品包括《LoveLive!学园偶像祭》、《排球少年:新的征程》…

【Redis】Redis十大类型

文章目录 前言一、string字符串类型二、List列表类型三、 Hash表四、 Set集合五、 ZSet有序集合六、 GEO地理空间七、 HyperLogLog基数统计八、Bitmap位图九、bitfield位域十、 Stream流10.1 队列指令10.2 消费组指令10.3 ACK机制 前言 redis是k-v键值对进行存储,k…

c#中的设计模式

1、设计模式 MVVM、MVC、GOF23种设计模式 2、GOF23种设计模式分类 创建型:对类的现实化进行了抽象,能够使软件模块做到与对象的创建和组织无关。 包括:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式 结构型:描述类…

PHP充电桩小程序系统源码

绿色出行新伴侣!充电桩小程序,让充电不再烦恼✨ 🔋 开篇:告别电量焦虑,充电桩小程序来救场! 在这个电动车日益普及的时代,电量不足成了不少车主的“心头大患”。但别担心,充电桩小…

基于IDEA的Lombok插件安装及简单使用

lombok介绍 Lombok能以注解形式来简化java代码,提高开发效率。开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护。而Lombok能通过注解的方式,在编译…

Redis 主从复制,、哨兵与集群

目录 一.redis主从复制 1.redis 主从复制架构 2.主从复制特点 3.主从复制的基本原理 4.命令行配置 5.实现主从复制 6.删除主从复制 7.主从复制故障恢复 8.主从复制完整过程 9.主从同步优化配置 二.哨兵模式(Sentinel) 1.主要组件和概念 2.哨…

利用Python的sympy包求解一元多次方程

一元1次方程 import sympy as sp # 导入sympy包 x sp.Symbol(x) # 定义符号变量 f 2*x -8 # 定义要求解的一元1次方程 x sp.solve(f) # 调用solve函数求解方程 x[4]一元2次方程 import sympy as sp # 导入sympy包 x sp.Symbol(x) # 定义符号变量 f …

无人直播赚钱的底层逻辑是什么?一文揭晓!

当前,网络直播已经成为各类商家提高曝光和引流获客的主要渠道之一,这在为商家带来新机遇的同时,也让他们因人手不足或资金匮乏等原因而陷入无人问津窘境之中。在此背景下,无人直播软件一经出现,便引起了众多商家的关注…

【解密】记一次辽宁省某综合实践教学管理平台加解密算法分析

最近接到需求,于是准备弄一下,发现对方整个流程是:先加密在请求,请求得到的数据再进行拼接加密,不过花了2个小时还是完成了解密 哈哈 找到请求发现请求数据加密 在启动器里面发现登录方法 打印出各个关键变量数据 …

docs | 使用 sphinx 转化rst文件为html文档

1. 效果图 book 风格。 优点: 极简风格右边有标题导航左侧是文件导航,可隐藏 2. 使用方式 reST 格式,比markdown格式更复杂。 推荐使用 book 风格。 文档构建工具是 sphinx,是一个python包。 $ pip3 list | grep -i Sphinx …

嵌入式ARM控制器在AGV里的应用

随着ARM技术以及芯片加工工艺的迅猛发展, ARM工业计算机得到了越来越广泛的应用,尤其在工业智慧城市、智能设备以及工业自动化控制等领域。本文将为大家详细介绍ARM控制器在AGV控制系统中的应用,来供大家学习和参考,欢迎大家一起来…

开源公司网站源码系统,降低成本,提升效率 附带完整的安装代码包以及搭建教程

系统概述 开源公司网站源码系统是一个基于开源技术的网站建设解决方案。它提供了完整的网站框架和功能模块,允许企业快速搭建起一个功能齐全、设计美观的企业网站。该系统不仅降低了网站开发的成本,还大大提高了建设效率,使企业能够更快地将…

便携式气象参数检测仪:智能气象监测

随着科技的飞速发展,气象监测已不再是传统意义上的固定站点观测,而是逐渐向智能化、便携化、高精度化方向演进。在这一背景下,便携式气象参数检测仪应运而生,以其轻便、高效、多功能的特性,成为气象监测领域的得力助手…

css实现图片渐变切换效果

一、效果 使用csskeyframes&#xff0c;实现5个图片渐变切换的效果。如下图&#xff1a; 二、代码 1.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"w…

【启明智显分享】乐鑫HMI方案4.3寸触摸串口屏:水质检测仪应用解决方案

水是万物的源泉&#xff0c;了解水的酸碱度对于保障我们的健康、生产和生活环境至关重要。水质检测仪应运而生&#xff0c;它让我们能够洞察水的酸碱奥秘。 水是万物的源泉&#xff0c;了解水的酸碱度对于保障我们的健康、生产和生活环境至关重要。水质检测仪应运而生&#xff…

成都云飞浩容文化传媒有限公司电商服务的行业翘楚

在数字经济的浪潮中&#xff0c;电商行业正以前所未有的速度发展&#xff0c;各大企业纷纷寻求突破&#xff0c;以在激烈的市场竞争中站稳脚跟。而在这个大背景下&#xff0c;成都云飞浩容文化传媒有限公司&#xff08;以下简称“云飞浩容”&#xff09;凭借其专业的电商服务&a…

网页设计零基础入门:前端技术全攻略

在当今互联网飞速发展的时代&#xff0c;前端网页设计已经成为一个备受关注的领域。随着其重要性的不断提高&#xff0c;越来越多的专业人士和爱好者开始对前端设计感兴趣&#xff0c;希望通过掌握这项技术开辟自己的职业道路。然而&#xff0c;对于新手设计师来说&#xff0c;…

Web安全:SQL注入

一、SQL注入三要素 1、用户可以对输入的参数值进行修改。 2、后端不对用户输入的参数值进行严格过滤。 3、用户修改后的参数值可以被带入后端中成功执行&#xff0c;并返回一定结果。 二、SQL注入原理 简单来说&#xff0c;用户输入的值会被插入到SQL语句中&#xff0c;然后…

PHP单商户微店b2c商城微信小程序系统源码

打造专属线上购物空间&#x1f6cd;️ &#x1f680;【开篇&#xff1a;解锁新零售时代新风尚】&#x1f680; 在这个数字化飞速发展的时代&#xff0c;线上购物已成为我们日常生活不可或缺的一部分。对于单商户而言&#xff0c;拥有一个专属的B2C商城微信小程序&#xff0c;…