Maker.js 完整指南:用 JavaScript 矢量绘图驱动激光切割

发布时间:2026/10/30 12:37:15

Maker.js 完整指南:用 JavaScript 矢量绘图驱动激光切割 Maker.js 完整指南用 JavaScript 矢量绘图驱动激光切割【免费下载链接】maker.js⚙ 2D vector line drawing and shape modeling for CNC and laser cutters.项目地址: https://gitcode.com/gh_mirrors/ma/maker.jsMaker.js 是一个面向 CNC 与激光切割的 JavaScript 库把 2D 矢量绘图和形状建模写进代码。读完本文你能在浏览器或 Node.js 里用十几行代码生成参数化图形并导出 DXF、SVG、PDF 交给切割机。核心卖点是纯代码建模改一个参数整张图纸跟着变不用重画。Maker.js 生成的名片设计导出后直接可切浏览器与 Node 双端安装浏览器引入三步跑通一行脚本即可加载全局拿到makerjs对象script srchttps://cdn.jsdelivr.net/npm/makerjs0/target/js/browser.maker.js/script适合在网页里边调边看改参数立即刷新 SVG 预览。npm 集成三步走npm install makerjsconst makerjs require(makerjs); const fs require(fs); const svg makerjs.exporter.toSVG(new makerjs.models.Ring(50, 46)); fs.writeFileSync(ring.svg, svg);参数化、批量出图、接入 CI 这类任务都放 Node 侧更顺手。四个核心概念一张表说清概念一句话说明路径 Path一段直线、圆弧或圆是绘图的最小几何单元模型 Model一组路径加嵌套子模型组成完整图形的树状结构图层 Layer按刀具或颜色给路径分组决定切割机的执行顺序链 Chain首尾相接的路径序列闭合链才是一条可执行的切割轮廓实战生成一张激光切割通风网格第一步建立外框用 120×80 的圆角矩形作底板轮廓const frame new makerjs.models.RoundRectangle(120, 80, 10);第二步循环铺孔5 列 3 行、等间距的圆孔全部由循环生成const holes {}; for (let col 0; col 5; col) { for (let row 0; row 3; row) { holes[h col _ row] makerjs.model.moveRelative( new makerjs.models.Ring(6, 6), [20 col * 20, 20 row * 20]); } }第三步按图层组装外框和孔洞分进两个图层切割机可分刀执行const grid { layers: { cut_outer: { models: { frame } }, cut_inner: { models: holes } } };四种格式一次导出const dxf makerjs.exporter.toDXF(grid); // 交给切割软件 const svg makerjs.exporter.toSVG(grid); // 网页预览与归档 const { PDFDocument } require(pdfkit); const doc new PDFDocument(); // PDF 需 PDFKit 文档实例 makerjs.exporter.toPDF(doc, grid); doc.pipe(require(fs).createWriteStream(grid.pdf)).end();DXF 与 SVG 同步返回字符串PDF 走 PDFKit 的文档流Node 里落盘最方便。三个常见问题与对应解法两个形状重叠了怎么办用布尔运算合并// 会改动两个入参需要保留原图就传克隆 const merged makerjs.combine.union(box, tab); const overlapped makerjs.combine.intersection(box, tab); const pierced makerjs.combine.subtract(box, tab);union 取并集、intersection 取交集、subtract 用前者减掉后者。尖角在切割处炸边怎么办给路径转角批量加圆角或直接用带圆角的模型makerjs.model.fillet(model, 3); // 转角圆角 const plate new makerjs.models.RoundRectangle(100, 60, 8);上机前怎么确认实际尺寸用测量接口取包围盒const box makerjs.measure.modelExtents(model); // 返回 low 与 high const width box.high[0] - box.low[0];内置模型速查名称用途适用场景Rectangle直角矩形轮廓底板、框体Ring同心圆环孔洞、垫圈Polygon正多边形六角螺母、支架Star星形轮廓装饰件、吊饰BoltCircle按角度均布的孔阵列法兰、安装座Text字体转轮廓路径铭牌、标签避坑清单全图统一按毫米输入units设为makerjs.unitType.Millimeter别混用英寸激光切割的刀缝会吃掉 0.10.3mm配合件尺寸提前加补偿量圆角半径不超过短边长度的一半超过会被自动截断图纸变形布尔运算会改动入参模型想保留原图请先克隆再运算Text 依赖 opentype.js 解析字体Node 下需单独安装并传入字体文件上机前用 SVG 预览确认所有轮廓闭合开环路径无法执行切割SVG 预览与链检查// 调样式快速排查描边加粗、换色开环路径一眼可见 const view makerjs.exporter.toSVG(model, { strokeWidth: 0.3, stroke: blue });// 统计闭合链数量应与预期刀数一致 const chains makerjs.model.findChains(model); console.log(轮廓数量, chains.length);链的数量对不上通常意味着有路径重叠或断开先修模型再谈优化。延伸阅读官方文档docs/参数化网格示例源码ventgrid.ts建议先把上面的通风网格改出一组自己的参数再照着 ventgrid 的例子把模型抽成带默认参数的可复用函数。文档里的 working-with-chains 与 exporting 两节能在你开始做复杂装配体之前省下不少排错时间。【免费下载链接】maker.js⚙ 2D vector line drawing and shape modeling for CNC and laser cutters.项目地址: https://gitcode.com/gh_mirrors/ma/maker.js创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/26 8:23:00

SAP ABAP ALV交互式报表开发:用户事件与单元格可编辑实战

1. 项目概述:从“表格展示”到“交互式应用”的跨越如果你在SAP ABAP开发领域摸爬滚打过一段时间,那么对ALV(ABAP List Viewer)报表一定不会陌生。它几乎是每个ABAP开发者入门后接触的第一个“重量级”输出控件,用来把…

2026/10/26 19:52:12

Kibana白金版Webhook告警配置指南:合规打通钉钉机器人

1. 这不是“破解”,而是白金版功能的合规启用与告警链路打通Kibana 8.5 白金版(Platinum)本身是 Elastic 官方正式发布的商业许可版本,其核心能力——包括高级安全控制、跨集群复制、机器学习异常检测、以及本文聚焦的Webhook 告警…

2026/10/25 17:45:51

Pragmos:流程智能体建模系统如何重塑企业自动化

1. 项目概述:当流程遇上智能体,Pragmos如何重塑自动化最近几年,AI领域最火的概念莫过于“智能体”了。从能帮你写代码的Devin,到能自主完成复杂任务的AutoGPT,大家都在畅想一个由AI自主决策和执行的世界。但说实话&…

2026/10/30 12:33:52

Ani 动漫资源聚合拆解:多数据源检索的完整管线

Ani 动漫资源聚合拆解:多数据源检索的完整管线 【免费下载链接】animation-garden 集找番、追番、看番的一站式弹幕追番平台,云收藏同步 (Bangumi),离线缓存,BitTorrent,弹幕云过滤。100% Kotlin/Compose Multiplatfor…

2026/10/30 12:33:52

《AI Agent原理与实战》2026版 第28课 计算机操作 Agent(CUA)

> 本文收录于专栏 《AI Agent原理与实战》2026版 —— 专栏系统覆盖 AI Agent 的记忆、工具、插件与实战,点击订阅可跟踪后续更新。 本课定位:API 之外的最后一块交互疆土:让 Agent 直接操作计算机。屏幕观察-决策-行动循环、与 API 工具调…

2026/10/30 12:33:52

STM32(F429)启动模式与两种烧录方式

前言STM32 所有启动逻辑、烧录逻辑的核心根源只有一个:芯片每次上电、硬件复位瞬间,会采样 BOOT0、BOOT1 硬件引脚电平,决定本次开机从哪个内存区域执行代码。 新手最容易混淆的三个问题:为什么有三种启动模式?分别干什…

2026/10/30 12:33:52

路灯杆灯箱标识牌哪家靠谱

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/30 12:33:51

《AI Agent原理与实战》2026版 第29课 Agent 安全

本文收录于专栏 《AI Agent原理与实战》2026版 —— 专栏系统覆盖 AI Agent 的记忆、工具、插件与实战,点击订阅可跟踪后续更新。 本课定位:阶段 5 收官:Agent 安全。攻击面总览、提示词注入为何无银弹、最小权限模型、密码学回执审计&#x…

2026/10/30 12:28:51

网络质量监控选型:CentOS 7安装Smokeping全记录

简介:这是一份面向网络运维工程师、系统管理员及开发者的 CentOS 7 下 Smokeping 快速部署手册。资源以 yum 安装方式为主线,先说明需要启用 EPEL 源,再依次讲解 /etc/smokeping/config 中监控主机、探测器与图表等配置,以及通过 …

2026/10/29 17:05:52

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/29 17:06:02

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/29 17:06:13

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/30 0:00:46

NCP1342高频准谐振反激控制器:从设计约束到验收的完整方案

简介:NCP1342 高频准谐振反激控制器应用介绍译文文档,面向电源设计工程师、硬件研发人员及开关电源学习者,帮助读者跨越英文原版资料的语言门槛,系统理解这款高集成度 QR Flyback 控制器的设计要点。文档围绕芯片核心特性展开&…

2026/10/30 0:00:46

NCP1342准谐振反激电源设计:从选型到验收的全流程解析

简介:这份文档面向电源设计工程师与开关电源学习者,系统梳理NCP1342高频准谐振反激控制器的应用要点,帮助读者快速理解这款高集成度离线电源变换器控制芯片的工作机制与设计方法。内容涵盖芯片核心特性、引脚功能定义、电气特性参数表、最大额…

2026/10/30 0:00:46

Web系统自动登出机制设计与实现全解析

1. 系统自动登出机制的设计初衷在各类Web应用和后台管理系统中,自动登出功能早已成为标配。这个看似简单的功能背后,实际上涉及用户安全、资源管理和体验优化的多重考量。作为从业十多年的老开发,我见过太多因为登出逻辑设计不当导致的安全事…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑