在线CAD实现图纸比较功能

本文涉及的产品
云原生网关 MSE Higress,422元/月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 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 // 设置背景图纸颜色
  );
}
相关文章
|
8天前
|
存储 前端开发 搜索推荐
(前端直接编辑CAD)网页CAD二次开发中线型表的使用方法
在DWG数据库中,线型样式存储在线型样式表 `McDbLinetypeTable` 中,每个线型表记录对象 `McDbLinetypeTableRecord` 对应一种线型样式。本文介绍了如何获取、添加、遍历、删除和修改线型样式,并提供了绘制不同线型的示例代码,包括虚线、点划线和带文字的线型。通过在线示例demo,用户可以实践修改CAD图纸中的实体线型及其样式。
|
2月前
|
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)
|
29天前
(在线编辑DWG)网页CAD二次开发实现多重引线功能
本章介绍如何使用 mxcad 插件在 CAD 图纸中实现箭头引注功能。用户可通过点击画布确定箭头起点和引线顶点,自定义箭头形状、上标和下标文字内容及位置,提高图纸的完整性和可读性。功能实现包括自定义箭头引注类、注册自定义类信息和调用自定义类。示例代码展示了详细的实现步骤,用户可根据需求进行二次开发。在线示例 demo 可供参考。
|
1月前
|
JavaScript API 图形学
(在线查看三维模型)在线CAD中创建三维建筑墙体
本文详细介绍如何使用mxcad3d创建建筑墙体模型。首先需安装Node.js及npm包管理器,并通过npm初始化项目、引入mxcad包。接着,在项目中编写HTML与TypeScript代码以实现墙体绘制,包括外墙、内墙、窗户和门的创建。最后,通过运行项目验证效果。教程及完整项目示例可在[mxcad3d官方仓库](https://gitee.com/mxcadx/mxcad_docs/tree/master/examples3D/Test3dWall.7z)获取。更多详细步骤,请关注“梦想云图网页CAD”公众号。
|
3月前
|
安全 JavaScript 数据可视化
Axure高端交互元件库:助力产品与设计
为了在这个竞争激烈的市场中脱颖而出,设计师和产品开发团队需要依赖强大的工具来创造引人注目且功能丰富的交互界面。下面介绍一款Axure精心制作的"Web高端交互元件库",作为一款高端交互元件库已被很多设计者使用,它成为了产品与设计团队不可或缺的得力助手。
113 2
|
5月前
|
数据库
在线CAD二次开发块表(网页预览编辑cad插件)
网页CAD二次开发块表,在DWG数据库中,所有图块都存放在块表McDbBlockTable()中,块表中每一条记录称为图块记录对象McDbBlockTableRecord(),图块记录中存放着所有实体数据,用户可以通过改变图块的属性设置来修改其对应着的实体数据。
在线CAD二次开发块表(网页预览编辑cad插件)
|
4月前
|
监控 数据可视化
甘特图制作软件精选,在线绘制技巧全掌握
甘特图是一种条状图,用于展示项目任务的进度与时间关系。它有助于增强团队协作、合理分配资源、跟踪项目进度。使用Excel或ZohoProjects等工具可绘制甘特图,其中ZohoProjects支持在线创建。绘制步骤包括:登录Zoho Projects并选择项目,点击“工具”菜单下的“甘特图”,添加任务及其详细信息如名称、日期、负责人等,最后检查并保存甘特图。通过这些步骤,项目管理者能有效监控项目进程。
70 8
|
存储 BI 数据安全/隐私保护
PACS系统源码 大型医院PACS/RIS源码 支持专业三维影像后处理功能,演示文档齐全
PACS系统可实现检查预约、病人信息登记、计算机阅片、电子报告书写、胶片打印、报表统计、数据备份等一系列满足影像科室日常工作的功能,并且由于影像数字化存储,用户可利用影像处理与测量技术辅助诊断、方便快捷地查找资料或利用网络将资料传输至临床科室,还可与医院HIS、LIS无缝连接。集成专业三维影像后处理功能:三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等。
156 0
PACS系统源码 大型医院PACS/RIS源码 支持专业三维影像后处理功能,演示文档齐全
|
数据采集 异构计算
案例分享:Qt便携式致病菌快速检测仪(账号管理、实验过程、二维图表、历史数据、通讯管理、实验报告、中英文等等)
案例分享:Qt便携式致病菌快速检测仪(账号管理、实验过程、二维图表、历史数据、通讯管理、实验报告、中英文等等)
案例分享:Qt便携式致病菌快速检测仪(账号管理、实验过程、二维图表、历史数据、通讯管理、实验报告、中英文等等)
|
存储 数据采集 SQL
案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)
案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)
案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)