网易首页 > 网易号 > 正文 申请入驻

Web cad(私有云CAD SDK)中实现插入图块的方法

0
分享至

前言

CAD制图的过程中会有很多重复的图元需要绘制,为了节约绘制时间,我们会把部分图元保存成图块,下次就可以快速和多次的插入到相应的图纸位置中,提高绘图效率。

网页版CAD页面中要实现插入图块功能,首先需要将这个图块dwg文件转换成mxweb文件,我们需要下载MxDraw云图开发包:https://www.mxdraw.com/download.html,根据入门文档:https://help.mxdraw.com/?pid=32的操作, 实现dwg文件到mxweb文件的转换, 让它支持在页面中显示。

下载试用包之后,我们按下图所示将dwg文件转成mxweb文件:

更多关于图纸转换程序的使用说明可以参考入门文档:https://help.mxdraw.com/?pid=32或者mxcad文档-图纸转换:

https://mxcadx.gitee.io/mxcad_docs/zh/1.%E6%8C%87%E5%8D%97/2.%E5%9B%BE%E5%BD%A2%E8%BD%AC%E6%8D%A2.html

有了mxweb文件,就可以通过mxcad(https://mxcadx.gitee.io/mxcad_docs/zh/)npm包实现插入图块功能。

注意:无论是图纸还是图块 最终转换后都是mxweb文件。

在阅读了mxcad文档-快速入门后, 你可以自己按照步骤去实现页面加载mxweb文件显示图纸,也可以直接下载或者参考我们提供的示例源码:

https://gitee.com/mxcadx/mxcad_docs/tree/master/examples

实现插入图块功能

我们就基于示例源码中vite目录这个由vite打包工具使用mxcad的初始化示例项目为例 来开始实现一个插入图纸的功能,代码如下:

import { createMxCad } from "mxcad"
(async ()=> {
const mxcad = await createMxCad({
canvas: "#myCanvas",
locateFile: (fileName) => {
return new URL(`/node_modules/mxcad/dist/wasm/${mode}/${fileName}`, import.meta.url).href
},
fileUrl: new URL("../public/test2.mxweb", import.meta.url).href,
fontspath: new URL("../node_modules/mxcad/dist/fonts", import.meta.url).href,
// 这里用定时器是保证稳定的测试, 正常来说是在需要的时候调用就好
setTimeout(async () => {
// 加载图块转换的mxweb文件
let blkrecId = await mxcad.insertBlock(new URL("../public/tree.mxweb", import.meta.url).href, "tree");
// id是否有效
if (!blkrecId.isValid()) {
return;
// 实例化一个块
let blkRef = new McDbBlockReference();
// 将加载的图块ID赋值给它
blkRef.blockTableRecordId = blkrecId;
// 然后计算一下这个块的包围盒
let box = blkRef.getBoundingBox();
if (box.ret) {
let dLen = box.maxPt.distanceTo(box.minPt);
// 如果图块包围盒特别小
if (dLen > 0.00001) {
// 则需要放大
blkRef.setScale(mxcad.getMxDrawObject().screenCoordLong2Doc(100) / dLen);

// 这里开始做用户交互
let getPoint = new MxCADUiPrPoint();
getPoint.setMessage("\指定插入基点");
// 动态绘制这个图块
getPoint.setUserDraw((v, worldDraw) => {
blkRef.position = v;
worldDraw.drawMcDbEntity(blkRef);
// 用户鼠标点击时得到位置
let pt = await getPoint.go();
if (!pt) return;
blkRef.position = pt;
// 绘制这个图块
mxcad.drawEntity(blkRef);
}, 1000)

效果如下图:

这样我们就完成了图块的插入。

DEMO源码:

https://gitee.com/mxcadx/mxdraw-article/blob/master/%E6%8F%92%E5%85%A5%E5%9B%BE%E5%9D%97%E5%8A%9F%E8%83%BD/demo.zip

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
复盘意大利2-1逆转:卫冕冠军功过皆在主帅,中场大将稳定是关键

复盘意大利2-1逆转:卫冕冠军功过皆在主帅,中场大将稳定是关键

里芃芃体育
2024-06-16 07:33:59
取款超5万元需预约并说明用途!深圳:取钱转账办理时间超2小时

取款超5万元需预约并说明用途!深圳:取钱转账办理时间超2小时

大风文字
2024-06-15 08:47:47
新规大限已过,仙宾礁上更嚣张!菲总长喊话:鱼照捕,撞他海警船

新规大限已过,仙宾礁上更嚣张!菲总长喊话:鱼照捕,撞他海警船

大风文字
2024-06-15 19:56:42
江宏杰秀刺青,将儿女纹在胸口,发文不怕刺激到福原爱?

江宏杰秀刺青,将儿女纹在胸口,发文不怕刺激到福原爱?

素素娱乐
2024-06-14 07:48:51
唉!又有一家大企业成功“结业”了!

唉!又有一家大企业成功“结业”了!

翻开历史和现实
2024-06-10 18:54:33
G7发表联合声明,不许中国武力收台,台军方称必须联合美吓阻大陆

G7发表联合声明,不许中国武力收台,台军方称必须联合美吓阻大陆

说天说地说实事
2024-06-15 20:09:05
死神镰刀!3年前的今天:杜兰特天王山打满全场 狂轰49+17+10+3+2

死神镰刀!3年前的今天:杜兰特天王山打满全场 狂轰49+17+10+3+2

直播吧
2024-06-16 08:55:15
中国女排3-2土耳其!谁是赢球最大功臣,数据一目了然,2人获高分

中国女排3-2土耳其!谁是赢球最大功臣,数据一目了然,2人获高分

侃球熊弟
2024-06-15 23:32:40
欧洲杯动人1幕:1-3落败,全队站直,抚胸高歌!球迷起立对唱

欧洲杯动人1幕:1-3落败,全队站直,抚胸高歌!球迷起立对唱

叶青足球世界
2024-06-15 23:50:43
42岁凯特王妃灿烂笑容重现!瘦成“纸片人”,比9岁夏洛特还要薄

42岁凯特王妃灿烂笑容重现!瘦成“纸片人”,比9岁夏洛特还要薄

译言
2024-06-15 18:51:40
真相大白!原来离婚是大S设好的局,现在事态不受控,官方提醒大S

真相大白!原来离婚是大S设好的局,现在事态不受控,官方提醒大S

八卦王者
2024-06-15 21:20:26
好惨!黑龙江一轿车与货车相撞致:5死,死者身份曝出 评论区沦陷

好惨!黑龙江一轿车与货车相撞致:5死,死者身份曝出 评论区沦陷

小淇言说
2024-06-15 19:12:11
大陆打到台痛处,沉默10天后,一架专机直飞北京,要求手下留情

大陆打到台痛处,沉默10天后,一架专机直飞北京,要求手下留情

影孖看世界
2024-06-15 18:38:50
第一次性生活有多痛?进不去怎么办

第一次性生活有多痛?进不去怎么办

喜马拉雅主播暮霭
2024-06-12 09:53:49
事态升级!央视工作人员硬刚周也,周也翻白眼视频也曝光了!

事态升级!央视工作人员硬刚周也,周也翻白眼视频也曝光了!

古希腊掌管月桂的神
2024-06-15 11:34:15
当女人羞羞时,“咪咪”会发生什么变化?全看男人怎么操作

当女人羞羞时,“咪咪”会发生什么变化?全看男人怎么操作

水白头
2024-06-16 00:30:02
拷问计划生育:50年前7亿人口担心增长;50年后14亿人口担忧下降

拷问计划生育:50年前7亿人口担心增长;50年后14亿人口担忧下降

雪中风车
2024-06-15 08:28:33
昆明一电动汽车自燃致人死?印度事、日本车、“台毒”分子造的谣

昆明一电动汽车自燃致人死?印度事、日本车、“台毒”分子造的谣

不掉线电波
2024-06-15 09:13:41
美国顶级预言家再出手!直言2024美日中命运!这个岛最先出事!

美国顶级预言家再出手!直言2024美日中命运!这个岛最先出事!

飞云如水
2024-06-09 21:53:34
马蓉刚走又来了冯清,倒霉的王宝强,终究还是绕不过“女人坑”

马蓉刚走又来了冯清,倒霉的王宝强,终究还是绕不过“女人坑”

娱乐白名单
2024-06-13 10:25:31
2024-06-16 09:34:44
CAD梦想画图
CAD梦想画图
是一款极速轻量级的CAD软件
574文章数 121关注度
往期回顾 全部

科技要闻

TikTok开始找退路了?

头条要闻

牛弹琴:梅洛尼和马克龙吵了一架 晚宴上眼神可"杀人"

头条要闻

牛弹琴:梅洛尼和马克龙吵了一架 晚宴上眼神可"杀人"

体育要闻

莱夫利,让困难为我让路

娱乐要闻

江宏杰秀儿女刺青,不怕刺激福原爱?

财经要闻

新情况!高层对人民币的态度180°转弯

汽车要闻

东风奕派eπ008售21.66万元 冰箱彩电都配齐

态度原创

房产
手机
本地
亲子
家居

房产要闻

万华对面!海口今年首宗超百亩宅地,重磅挂出!

手机要闻

非洲手机市场Q1数据:小米逆袭,三星面临挑战,第一名出乎意料!

本地新闻

粽情一夏|海河龙舟赛,竟然成了外国人的大party!

亲子要闻

巨婴社会的特征

家居要闻

空谷来音 朴素留白的侘寂之美

无障碍浏览 进入关怀版