在线CAD实现图纸比较功能

简介: 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 // 设置背景图纸颜色
  );
}
相关文章
|
3月前
|
缓存 搜索推荐 网络安全
KKCE:如何解决网站打开慢的问题?
网站打开慢?别急着瞎优化!本文提供一套零门槛、可复用的排查—解决—维护全流程:先用测速工具+浏览器调试精准定位慢因(服务器/资源/网络/本地),再针对性优化(升配、压缩图片、开CDN、配缓存),最后定期测速清理。小白也能3步提速,稳保秒开!(239字)
695 9
|
运维 Kubernetes 负载均衡
教你读懂 高可用/SRE
高可用(HA)与网站可靠性工程(SRE)是保障现代分布式系统稳定运行的核心理念。HA关注系统持续可用的能力,常用“9”的数量衡量可靠性,如99.99%可用性意味着全年仅允许约52分钟宕机。实现手段包括冗余设计、故障转移、负载均衡、限流熔断与数据多活。SRE则通过工程化方法提升系统可靠性,核心在于SLI(服务指标)、SLO(目标值)、SLA(服务协议)的指标体系,结合错误预算、自动化运维、容量规划与事后分析,实现稳定与效率的平衡。二者相辅相成,HA是目标,SRE是路径,共同构建“可测、可控、可优化”的系统稳定性体系。
1169 0
|
JSON API 数据格式
深度分析大麦网API接口,用Python脚本实现
大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
|
搜索推荐
报错信息 "busy p..."
报错信息 "busy p..."
1920 1
|
NoSQL API 数据库
基于Gin封装Web框架 - 10. 使用 context 上下文完成依赖注入
基于Gin封装Web框架 - 10. 使用 context 上下文完成依赖注入
1724 0
基于Gin封装Web框架 - 10. 使用 context 上下文完成依赖注入
|
机器学习/深度学习 测试技术 计算机视觉
【计算机视觉 | ViT-G】谷歌大脑提出 ViT-G:缩放视觉 Transformer,高达 90.45% 准确率
谷歌大脑提出 ViT-G:缩放视觉 Transformer,高达 90.45% 准确率
1028 0
|
前端开发 JavaScript
使用Vue+xlsx+xlsx-style实现导出自定义样式的Excel文件
本文介绍了在Vue项目中使用`xlsx`和`xlsx-style`(或`xlsx-style-vite`)库实现导出具有自定义样式的Excel文件的方法,并提供了详细的示例代码和操作效果截图。
3280 2
使用Vue+xlsx+xlsx-style实现导出自定义样式的Excel文件
|
数据可视化 NoSQL 数据库
Neo4j和Nebula的相同点、不同点、如何进行选择
【8月更文挑战第14天】Neo4j和Nebula的相同点、不同点、如何进行选择
2817 1
|
存储 JSON 小程序
html在线预览CAD(手机小程序浏览DWG)二次开发图层表的方法
本文档介绍了DWG数据库中图层的存储结构及MxCAD库对图层的操作。图层信息存储于图层层表McDbLayerTable()中,每个记录对应一个图层,包含颜色、线型等属性,且有一个不可删除的默认"0"层。主要操作包括:通过MxCpp.getCurrentMxCAD()获取图层表,使用addLayer()添加图层,遍历图层,以及删除图层。此外,还展示了如何修改图层的关闭、冻结、锁定状态及颜色。提供了在线示例以演示这些功能。
html在线预览CAD(手机小程序浏览DWG)二次开发图层表的方法
|
人工智能 异构计算 Python
百度飞桨(PaddlePaddle)安装
百度飞桨(PaddlePaddle)安装
1790 0

热门文章

最新文章