在线CAD实现图纸比较功能

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: MXCAD提供了一项实用的图纸比对功能,帮助设计师高效识别不同版本CAD图纸间的改动。用户只需几个简单步骤即可启动比对过程:打开MXCAD在线示例,上传目标图纸,选择“图纸比对”并加载待比对文件。系统会清晰标出所有差异,甚至支持实体定位以便更直观地查看变化细节。此外,MXCAD还开放了相关API,允许开发者根据具体需求进行定制化二次开发,如利用`McObject.loadDwgBackground()`方法加载背景图纸并通过`MxCompare`类获取差异数据等。关注“梦想云图网页CAD”公众号了解更多资讯。

前言

设计师在工作中需要对图纸进行多次改版或审核,图纸迭代后,修改的内容与之前内容之间需要比对,因此mxcad 提供给了CAD图纸比对功能,用户使用该功能能够快速识别图纸改版前后的具体差异,另外我们为用户提供了图纸比对相关的的API,用户可根据自身需求对该功能进行深入的二次开发。
更多文章和链接请关注公众号:梦想云图网页CAD。

图纸比对步骤

1.打开mxcad在线示例demo:[https://demo.mxdraw3d.com:3000/mxcad/]
2.点击【打开文件】,打开目标CAD图纸,如下图所示:

image-20240729161517160.png
3.点击【工具(A)】菜单栏,选择【图纸比对】按钮,如下图所示:

image-20240729163355378.png
4.在弹出的文件选择器中,选择需要比对的图纸。点击【确定】按钮后,等待比对结果,如下图所示:
image-20240729163811338.png

  1. 查看比对结果,如下图:
    image-20240729163943219.png

图纸比对功能详解

1.工具栏命令和选项
图纸比较完成是,项目界面会出现"DWG比较"工具栏。
image-20240729165930373.png

2.比对结果详情
点击“DWG比对”,显示出设置面板,设置面板位置可根据个人习惯调整。以及,针对后期的图纸频繁更改,用户可以选择固定面板位置,如下图:
image-20240729171419905.png

设置面板功能详解:
image-20240730155744237.png
此外,mxcad的图纸比对功能还提供了修改实体定位功能。用户点击比对结果中的实体,可直接定位到该实体所在的位置,能够更加直观的观察到两张图纸之间的差异。
image-20240730160257566.png

3.差异
用户点击“灯泡”图标可以用来切换比较结果中对象的可见性,能够更加直观的观察到图纸的变化。

4.完成图纸比较
点击“√”,结束图纸比较,关闭面板和工具栏,展示原图纸,此外在比对期间用户对图纸做的修改也将被保留。

二次开发

mxcad 图纸比对功能中运用的核心思想是通过[McObject.loadDwgBackground()]方法将比对图纸当做当前控件的背景对象绘制,并通过[MxCompare]将当前图纸与背景图纸(即比对图纸)进行比较获取到两张图纸中的差异数据。

其中,我们能够根据[McObject.getBackgroundEntity()]获取到当前的[McDbBackgroundEntity]背景对象,然后根据自身需求去设置背景对象相关的属性与方法。例如,通过[McDbBackgroundEntity.setShow]方法来控制是否显示背景对象,代码如下:

// 比对图纸
// 把要比较的图纸,当着背景加载当前内存中,方便查看不一样的地方.
  const mxcad = MxCpp.getCurrentMxCAD();
  mxcad.mxdraw.makeCurrent();
  mxcad.loadDwgBackground(
    fileUrl,// 比对图纸所在路径
    async (isok: boolean) => {
      let backgroundEntity = mxcad.getBackgroundEntity();
      // 暂时隐藏背景图纸的显示。
      backgroundEntity.setShow(fileUrl, false);
      // 获取背景图纸上的数据信息
      let database = backgroundEntity.getBackgroundDatabase(fileUrl);
      if (database == null) {
        return;
      }
      // 开始把当前图纸与背景图纸进行比较。
      let cmp = new MxCompare();
      if (cmp.do(database)) {
        // 得到比较结果.
        let result = cmp.getResult();
        // 自主处理得到的比较结果
    },
    0xc90696969 // 设置背景图纸颜色
  );
}
相关文章
|
前端开发 Java 定位技术
【软件实战】5分钟拥有一款自己的软件(教程+成品展示)(下)
【软件实战】5分钟拥有一款自己的软件(教程+成品展示)
186 0
|
9天前
|
JavaScript 前端开发 API
在线三维CAD中创建一个三维管道模型(网页浏览编辑三维CAD)
本文介绍了如何使用mxcad3d创建三维管道模型。mxcad3d提供了丰富的API,使复杂的管道结构设计变得直观简便。首先需安装mxcad包并初始化项目。接着,通过编写JavaScript函数实现圆角方管的绘制,并将其添加到web界面中。点击绘制按钮即可生成管道模型并实时展示。这为网页CAD中的三维建模任务提供了强大支持。相关代码与项目可在[mxcad3d官方仓库](https://gitee.com/mxcadadox/mxcad_docs/tree/master/examples3D/Test3dPipe.7z)获取。
在线三维CAD中创建一个三维管道模型(网页浏览编辑三维CAD)
|
25天前
|
安全 JavaScript 数据可视化
Axure高端交互元件库:助力产品与设计
为了在这个竞争激烈的市场中脱颖而出,设计师和产品开发团队需要依赖强大的工具来创造引人注目且功能丰富的交互界面。下面介绍一款Axure精心制作的"Web高端交互元件库",作为一款高端交互元件库已被很多设计者使用,它成为了产品与设计团队不可或缺的得力助手。
|
3月前
|
数据库
在线CAD二次开发块表(网页预览编辑cad插件)
网页CAD二次开发块表,在DWG数据库中,所有图块都存放在块表McDbBlockTable()中,块表中每一条记录称为图块记录对象McDbBlockTableRecord(),图块记录中存放着所有实体数据,用户可以通过改变图块的属性设置来修改其对应着的实体数据。
在线CAD二次开发块表(网页预览编辑cad插件)
|
存储 BI 数据安全/隐私保护
PACS系统源码 大型医院PACS/RIS源码 支持专业三维影像后处理功能,演示文档齐全
PACS系统可实现检查预约、病人信息登记、计算机阅片、电子报告书写、胶片打印、报表统计、数据备份等一系列满足影像科室日常工作的功能,并且由于影像数字化存储,用户可利用影像处理与测量技术辅助诊断、方便快捷地查找资料或利用网络将资料传输至临床科室,还可与医院HIS、LIS无缝连接。集成专业三维影像后处理功能:三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等。
PACS系统源码 大型医院PACS/RIS源码 支持专业三维影像后处理功能,演示文档齐全
|
区块链 索引
【软件实战】5分钟拥有一款自己的软件(教程+成品展示)(上)
【软件实战】5分钟拥有一款自己的软件(教程+成品展示)
119 0
|
存储 计算机视觉
PACS系统源码 大型医院PACS源码 支持专业三维影像后处理功能
图像处理功能:自定义显示图像的相关信息,如姓名、年龄、设备型号等参数。提供缩放、移动、镜像、反相、旋转、滤波、锐化、伪彩、播放、窗宽窗位调节等功能。 专业三维影像后处理功能:三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等。
PACS系统源码 大型医院PACS源码 支持专业三维影像后处理功能
|
存储 数据采集 SQL
案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)
案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)
案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)
|
数据采集 异构计算
案例分享:Qt便携式致病菌快速检测仪(账号管理、实验过程、二维图表、历史数据、通讯管理、实验报告、中英文等等)
案例分享:Qt便携式致病菌快速检测仪(账号管理、实验过程、二维图表、历史数据、通讯管理、实验报告、中英文等等)
案例分享:Qt便携式致病菌快速检测仪(账号管理、实验过程、二维图表、历史数据、通讯管理、实验报告、中英文等等)
|
机器学习/深度学习 智能设计 数据可视化
大屏“智能设计”升级——美化工具箱上线
DataV新增一键美化功能,页面修饰、添加标题等工作可以通过工具箱批量完成,大幅度提升页面搭建的效率和质量。
523 0
大屏“智能设计”升级——美化工具箱上线