首页 > 其他分享 >H5在线CAD前端使用mxdraw和mxcad库预览编辑DWG图纸

H5在线CAD前端使用mxdraw和mxcad库预览编辑DWG图纸

时间:2023-07-27 16:22:19浏览次数:48  
标签:图纸 示例 mxdraw mxcad DWG 使用 vite

mxdraw 前端库预览图纸

mxdraw 的作用就是预览图纸,也可以绘制一些批注或者其他图形,首先进行安装,如果你没有前端工程化的基础,请先看前端工程化基础知识,mxdraw有详细的文档,建议点击mxdraw查看使用说明,然后我们讲一下转换后的图纸用mxdraw库显示的步骤:

1)新建工程

这里我们就用vite来创建一个前端工程化的项目,先创建一个目录vite-mxdraw 然后进入命令行输入以下命令:

# 初始化项目
npm init -y
 
# 创建vite 项目
npm create vite@latest
 
# 安装mxdraw库
npm install mxdraw

更多关于创建vite项目的说明,请参考: 开始 | Vite 官方中文文档

2)使用mxdraw

在vite创建的项目中你选择了其中一种框架,而mxdraw它是不依赖于任何框架的,所以我们只需要在canvas元素创建完成后就可以直接使用mxdraw提供的方法,在页面中直接显示转换后的图纸文件。

如果你不知道mxdraw转换的图纸文件是什么,或怎么转换的,可以先看快速入门

一般情况下我们不要只使用一个canvas元素,而是定义一个父级元素,并且这个父级的高度一定需要是固定的(不能使用百分比单位),宽度也必须有(可以是百分比单位),像下面这样:

<div style="width: 100%;height: 90vh"><canvas id="myCanvas"></canvas></div>

然后我们可以在js/ts文件(根据前端框架的不同写的位置也不一样,但是只要canvas元素创建挂载,那么就可以使用下面的代码),输入如下代码:

 import { MxFun } from "mxdraw"
 MxFun.createMxObject({
    canvasId: "myCanvas", // canvas元素的id
    cadFile: "./demo/buf/$hhhh.dwg",
    useWebsocket: false,
 });

这里cadFile 对应的就算转换后的文件缩写,它会自动去请求转换后对应的多个文件,详细的入门文档请参考:快速入门 | mxdraw

  mxcad 在线编辑图纸

如果只是在网页中显示、批注图纸,mxdraw就足够了,如果需要直接修改源图纸,就必须用到mxcad这个库,mxcad依赖mxdraw库,为mxdraw库赋予了编辑图纸的能力。

要使用mxcad,同样需要先有转换后的图纸文件,但这个文件和mxdraw显示的转换后的图纸文件是不一样的,下文只是简单尝试使用mxcad,如果你希望更多的使用它,建议你直接查看mxcad文档 。

1)先初始化项目和创建vite项目

与使用mxdraw是一样,建议使用vite作为打包工具,如果使用其他打包工具或者不使用打包工具请直接查看mxcad文档 ,mxcad是基于WebAssembly的,我们需要找到vite.config.ts文件如果没有就在根目录创建一个,输入如下代码:

import { defineConfig } from "vite"
 
export default defineConfig({
    server: {
        headers: {
          "Cross-Origin-Opener-Policy": "same-origin",
          "Cross-Origin-Embedder-Policy": "require-corp",
        }
    }
})

服务器配置了这样的响应头,我们才能使用,如果不配置也可以,但打开图纸期间会阻塞js线程,详细的使用请查看mxcad文档

2)编辑CAD图纸

安装好mxcad后,我们就可以直接使用可以在页面中显示并编辑cad图纸,输入如下代码:

import { createMxCad } from "mxcad"
createMxCad({
    canvas: "#myCanvas",
    locateFile: (fileName)=> new URL(`/node_modules/mxcad/dist/wasm/2d/${fileName}`, import.meta.url).href,
    fileUrl: new URL("../assets/test.mxweb", import.meta.url).href
}).then((mxcad)=> {
    // 我想换一个文件显示?
    // mxcad.openWebFile(new URL("../assets/test2.mxweb", import.meta.url).href)
    // 保存文件?必须放在用户操作的事件(如点击)中调用它,因为这个行为必须是用户操作去触发
    // mxcad.saveFile()
})

fileUrl 以及openWebFile的参数都是指的转换后的文件,如何转换文件在mxcad文档中有对应的说明,而更详细的可以看快速入门文档中的相关内容。

 

使用示例源码合集

如果你仍然无法完成图纸展示或者编辑,建议在github上看我们写好的对应示例源码,然后直接git clone 我们在github上提供的示例代码来参考或者进行开发。

mxdraw相关示例:https://github.com/mxcad/mxdraw-sample

mxcad相关示例: https://github.com/mxcad/mxcad_docs/tree/master/examples

如果你不了解git 请参考:Git - 安装 Git (git-scm.com)

注意:使用mxcad 你需要克隆的是https://github.com/mxcad/mxcad_docs仓库,而不是https://github.com/mxcad/mxcad_docs/tree/master/examples ,具体如何启动这些示例,在示例项目中有详细说明。

 

标签:图纸,示例,mxdraw,mxcad,DWG,使用,vite
From: https://www.cnblogs.com/yzy0224/p/17585287.html

相关文章

  • cad dwg文件在线展示平台源代码cad格式 dwg文件解析,在线展示平台,全套代码
    caddwg文件在线展示平台源代码cad格式dwg文件解析,在线展示平台,全套代码支持windows,linux,mac,支持导入2004,2007,2010,2013版本dwg文件,图层控制,无级放大,测量,其他功能可定制ID:963000602284237847......
  • java实现dwg转pdf
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、无奈选择第二种二、jar引入1.jar地址2.使用jar,完成dwg转为pdf总结前言由于公司需要最近研究一个cad文件需要在浏览器中展示,经过研究发现大致有两种方式:1将.dwg转换为vds文件,就可以在web端展示......
  • DWG文件的设计规范 V4.5.1(中英对照版)
    DWG文件的设计规范V4.5.1OpenDesignSpecificationfor.dwgfilesVersion5.4.1liability英[ˌlaɪəˈbɪləti] 美[ˌlaɪəˈbɪləti]n.责任;倾向;债务;妨碍assumesv.取得(权力)(assume的第三人称单数);假设;假定;呈现issubjectto英[izˈsʌbdʒikttu:] 美[ɪzˈs......
  • MxDraw(在线CAD,H5开发CAD) 2023.05.23更新
    1. 完善了CAD在线编辑功能2. 增加addControlsEvent函数3. 修改Linux下,转换大图纸时,有部分照出当前视范围 ,就不显示问题4. 在CAD打开图纸增加多线程支持5. 修改片元程序编译加载失败问题6. 修改iconv 在centos7上不对问题7. 增加对对象的引用计数判断,防止对象被释放......
  • QGIS中导入dwg文件并使用GetWKT插件获取绘制元素WKT字符串以及QuickWKT插件实现WKT显
    场景QGIS在Windows上下载安装与建立空间数据库连接:在上面实现QGIS的安装之后,版本是3.26.3。业务需求:1、在dwg文件上绘制多边形区域,并获取绘制区域的wkt字符串。2、根据已知的wkt字符串,在dwg上显示。如果新建多边形图层参考如下QGIS怎样设置简体中文以及新建可编辑的多边形的图层:......
  • AltiumDesigner导入AutoCAD文件DXF,DWG格式
    这里有一篇关于导入DXF的文章,方法还可以。文章......
  • DWG图纸可以直接导入3D,你知道吗?
    在日常工作中,设计工程师经常会使用浩辰CAD、浩辰CAD建筑等二维制图软件来进行创意设计,因而企业内部可能累积了大量的DWG图纸。近年来,随着3D设计软件逐渐兴起,越来越多的企业......
  • CAD看图软件中如何将DWG文件转换成图片?
    DWG是CAD图纸的基本格式之一,在CAD看图过程中,如果需要将DWG文件转换成图片的话该怎么操作呢?本文小编就来给大家分享一下浩辰CAD看图王电脑版中将DWG文件转换成图片的相关操......
  • CAD看图软件中如何将DWG文件转换成图片?
    DWG是CAD图纸的基本格式之一,在CAD看图过程中,如果需要将DWG文件转换成图片的话该怎么操作呢?本文小编就来给大家分享一下浩辰CAD看图王电脑版中将DWG文件转换成图片的相关操......
  • DWG文件怎么转换成DXF格式?浩辰CAD看图王帮你一键解决!
    常见的CAD图纸格式有DWG格式和DXF格式这两种,在CAD制图过程中,当需要将DWG文件转换成DXF格式时该怎么办?你知道DWG文件怎么转换成DXF格式吗?本文小编就通过浩辰CAD看图王电脑来......