Skip to content

Repository files navigation

MJArea —— AutoCAD for Mac 面积 / 周长标注插件

下载安装包 → MJArea-v6.1-macOS.zip (解压后双击 安装插件.command,需要先完全退出 AutoCAD)

在封闭区域里点一下 → 自动生成区域边界 → 在区域中心写出面积 + 周长文字, 并把该区域复制成一条红色加粗轮廓线。

一次安装,之后每次打开 AutoCAD 自动加载,换图纸、重开机都不用再管。

命令: MJ
在区域内部点一下 → 面积 12.34 ㎡ / 周长 15.60 m  →  红线 0.70mm 描出这个区域

功能

1. 面积 / 周长标注(面积周长)

  • 点内部点:在封闭区域里点一下,插件自动 BO(-BOUNDARY)搜索出这个区域的边界, 再在区域中心写面积、周长;可以连着点多个区域,回车结束。
  • 选已有线框:输入 S(或直接回车)后选择你画好的闭合线框, 支持多选、框选。线框可以是:
    • 若干段直线 / 圆弧端点相接拼成的闭合框(最常用)
    • 闭合多段线(轻量 / 经典)、圆、椭圆、闭合样条、面域、图案填充
  • 文字在区域中心:取面积形心;C 形、U 形房间形心跑到区域外面时, 会自动改到区域内部的合适位置。
  • 红线加粗:每个区域都会复制出一条红色轮廓(图层 MJ-面积红线,0.70 mm), 自动打开线宽显示,打印出来就是加粗红线,原图形不动。
  • 多个区域:逐个标注,并在结尾汇总「合计 N 个区域」,可一键写进图里。
  • 面积 / 周长按图纸单位自动换算:画的是毫米 → 面积显示 ㎡、周长显示 m。
  • 字体大小统一(默认字高 100),可在 MJSET 里改。

2. 批量打印(批量打印)

  • 框选图框打印:自己画好矩形图框(矩形、闭合多段线、或四段直线围成的矩形), 框选它们 → 自动识别 → 按从左到右(或先上排再从左到右)排序 → 逐张出图。
  • 按布局打印:把图纸里的布局批量导出。
  • 两种输出:导出 PDF(自动建 PDF 子文件夹,文件名可用「图纸名-序号」 或「取图框里最大的文字」)或直接送到打印机。
  • 默认 A3 横版、布满图纸(居中、极窄边距)、纯黑白输出, 不需要在打印对话框里点任何东西。

3. 工具栏「我的工具」

安装后 AutoCAD 工具栏多出一组 「我的工具」:

位置 按钮 命令 作用
工具栏 面积周长 MJA 点区域内部一点 → 面积 / 周长 + 红色加粗轮廓
工具栏 批量打印 MJPLOTQ 用上次设置,框选图框直接出图
菜单栏 卸载插件 MJUNINSTALL 卸载(有二次确认,放菜单里避免误点)

系统要求

  • macOS(实测:macOS 26 / 27,Apple Silicon)
  • AutoCAD for Mac 2026(实测环境 MacOS AutoLISP 2026 (zh)); 其他版本的 AutoCAD for Mac 也适用,安装脚本会自动识别版本号。
  • 不需要装任何其他软件,不需要管理员密码。

插件是纯 AutoLISP 写的,所以在 Windows 版 AutoCAD 上也能用 (Windows 上把 MJArea.lsp 用 APPLOAD 加载即可,.command 安装脚本只适用于 Mac)。


安装(三步)

  1. 把整个文件夹下载下来(GitHub 上点 Code → Download ZIP,解压)。
  2. 完全退出 AutoCAD(Cmd+Q),然后双击 安装插件.command, 看到「安装完成」后按回车。
  3. 重新打开 AutoCAD,就装好了。

第一次双击 .command 如果提示「无法打开,来自身份不明的开发者」: 在 系统设置 → 隐私与安全性 里点「仍要打开」,或右键 → 打开。

如果双击没反应 / 提示 permission denied(从 ZIP 解压出来的文件常常丢掉执行权限): 打开「终端」App,把 安装插件.command 拖进终端窗口,前面加个 bash , 回车即可,例如:

bash ~/Downloads/MJArea-main/安装插件.command

安装脚本做了什么

步骤 位置 作用
1 ~/Library/Application Support/Autodesk/ApplicationAddins/MJArea.bundle Autodesk 官方插件包机制,随 AutoCAD 启动自动加载
2 用户 Support 目录下的 MJArea.lsp + acad.lsp / acad<版本>.lsp / acaddoc.lsp 双保险自动加载(原文件已存在时只在末尾追加一段带标记的代码,不动你原来的内容)
3 用户 Support 目录下的 acadUser.pgp 加上快捷键 MJ(LI 保持 AutoCAD 自带的 LIST,不会被占用)
4 MJArea.ini 写入默认设置:单位毫米、文字高度 100、红线 0.70 mm
5 roaming/CUI/Toolbar.cui、MainMenu.cui、MenuGroup.cui 加入「我的工具」工具栏 / 菜单

所有被改动的文件都会先备份(.before-mjarea / .bak),卸载时逐一还原。

⚠️ 第 5 步必须在 AutoCAD 完全退出(Cmd+Q)时执行: AutoCAD 退出时会用自己的内存状态重写界面文件,所以安装脚本会检测 AutoCAD 是否在运行;如果在运行,会跳过工具栏并提示你退出后再运行一次。


使用

面积 / 周长:MJ

命令: MJ
取区域内部一点 (可连续点多个) 或 [选择已有线框(S)]:
  • 在区域里点一下 → 自动 BO → 出面积周长 + 红线。可连续点多个区域,回车结束。
  • 想用自己画好的线框:输入 S 回车,然后框选线框(可多选)。
  • 想单独设快捷键:MJP 是「点内部点」入口,MJA 与 MJ 完全相同。

提示:如果在 CAD 里执行过 REINIT 选 PGP,快捷键写完不用重启也能生效; 否则改完 PGP 需要重开 AutoCAD。

批量打印

第一次:MJPLOT(完整设置向导,命令行问答)—— 选好「框选图框 / 按布局」「PDF / 打印机」、打印比例、纸张、输出文件夹、命名规则。

以后:MJPLOTQ(或点工具栏「批量打印」)—— 用上次的设置,框选图框直接出图。

输出 PDF 会放在图纸所在目录的 PDF 子文件夹里,文件名默认 图纸名-序号。

其它命令

命令 作用
MJ / MJA 面积周长标注(主命令)
MJP 同 MJ(点取内部点入口)
MJPLOT 批量打印设置向导
MJPLOTQ 快速批量打印(用上次设置)
MJSET 修改设置(13 项,见下)
MJCLR 清除本插件生成的标注文字 / 红线
MJINFO 显示运行信息 + 内置自检
MJHELP 帮助
MJTRUST 把插件目录加入「受信任位置」,消除启动时的加载询问
MJUNINSTALL 卸载(二次确认)

设置 MJSET

编号 项目 默认值
1 图纸单位 毫米(面积→㎡、周长→m)
2 小数位数 2
3 文字高度 100(0 = 自动,按区域对角线 ÷ 22)
4 标注文字样式 . = 用当前样式
5 标注格式 面积 {A}{n}周长 {P}
6 标注图层 / 颜色 MJ-面积标注 / 随层
7 红线图层 / 颜色 / 线宽 MJ-面积红线 / 红 / 0.70 mm
8 加粗方式 按线宽(也可改成「多段线带宽」)
9 是否画红色轮廓 是
10 文字位置 自动(区域中心),可改成每次手动点位置
11 多区域时是否标注合计 是
12 自动打开线宽显示 是
13 查看设置文件位置 ——

标注格式的通配符:{A} 面积+单位、{P} 周长+单位、{a} 面积数值、 {p} 周长数值、{n} 换行。 例如要一行显示就改成 S={A} L={P};只要面积就写 面积 {A}。

设置存在 MJArea.ini(位置用 MJSET 第 13 项查看),下次开图依然有效。


常见问题

1. 输入 MJ 提示「未知命令」 插件没加载。检查 ~/Library/Application Support/Autodesk/ApplicationAddins/MJArea.bundle 是否存在 → 重新运行 安装插件.command → 完全退出 AutoCAD 再打开。 命令行输入 MJINFO 可以看到插件路径、SECURELOAD、TRUSTEDPATHS。

2. 每次启动都弹「文件加载 - 安全问题」 运行一次 MJTRUST,它会把插件目录写进「受信任位置」(TRUSTEDPATHS)。 (也可以在「选项 → 文件 → 受信任的位置」里手动加,或把 SECURELOAD 设为 0。)

3. 工具栏里没有「我的工具」 写界面文件时 AutoCAD 必须完全退出。Cmd+Q 退出 CAD,再运行一次 安装插件.command,然后打开 AutoCAD。工具栏太窄看不到时, 在工具栏空白处右键 → 自定义,把「我的工具」拖到顺手的位置。

4. 标注文字是问号 / 方框 当前文字样式用的是不含中文的 SHX 单线字体(如 txt.shx)。 用 STYLE 把样式字体改成中文字体(宋体 / Songti,或大字体 gbenor.shx + gbcbig.shx), 或在 MJSET 第 4 项直接指定一个中文字样式名。

5. 没看到红色加粗线 MJSET 第 9 项要是「是」→ 图层 MJ-面积红线 没被关闭 / 冻结 → 线宽显示要打开(状态栏 LWT 按钮,或 LWDISPLAY = 1,插件默认会开)。

6. 面积数字不对 MJSET 第 1 项要选对图纸单位。室内图通常画的是毫米,保持「毫米」, 这样 12340000(mm²)会显示成 12.34 ㎡。

7. 提示「没有拼成闭合的框」 线框端点之间有缺口。放大检查角点是否真的接上(用 FILLET / EXTEND 或直接重画);拼合容差约是图形对角线的 1/20000,端点差一点点是可以接上的。

8. 批量打印出来是空白 / 位置不对 确认图框是矩形 / 闭合多段线 / 四段直线围成的矩形, 并且和要打印的图形在同一个空间(模型空间或同一个布局)。 打印范围选「图框画在哪个空间」时选错空间会打出空白。

9. 打印不是黑白 插件固定按 monochrome.ctb(命名打印样式图纸用 monochrome.stb)输出, 不需要设置。若打印机是彩色设备且图纸用了彩色线,属正常现象。


卸载

双击 卸载插件.command:删除插件包、Support 目录里的副本和设置文件, 从启动文件里移除加载代码,从 acadUser.pgp 里移除 MJ 别名, 并移除「我的工具」工具栏 / 菜单(每一步都先备份)。

图纸里已经生成的标注文字和红线属于图纸内容,不会被删除; 要清理就用 MJCLR 命令。


为什么 Mac 版要这么做(技术说明)

  • AutoCAD for Mac 不支持 .NET / ObjectARX / DCL 对话框 / VLIDE, 可用的二次开发接口是 AutoLISP。本插件是纯 AutoLISP, 只用 entmake / entmod / 原生命令,不依赖 ActiveX(ActiveX 仅作几何计算备用)。
  • Mac 版官方支持的部署方式是 .bundle 插件包, 放在 /Applications/Autodesk/ApplicationAddins(所有用户)或 ~/Library/Application Support/Autodesk/ApplicationAddins(当前用户)。
  • Mac 版 AutoCAD 的界面就是一组 XML(roaming/CUI/*.cui), 工具栏 / 菜单通过合并这些 XML 实现,且只能在 AutoCAD 退出时写入。
  • Mac 的 LISP 引擎读 UTF-8,且不接受字符串里的反斜杠转义 (用 (chr 92) 代替)。因此 MJArea.lsp 里中文字符串全部写成 \U+xxxx 转义,是纯 ASCII 文件,不会因代码页不同而乱码。
  • 几何计算不是简单调命令:多段线的**圆弧段(bulge)**用弓形公式单独修正, 椭圆周长用 Ramanujan 近似,形心用面积加权公式,并带独立测试用例。

源码与构建

源码/ 目录:

文件 说明
MJArea.src.lsp 源码(改这个)
build.py 生成最终 ASCII 版 MJArea.lsp,并检查括号配对 / 行宽
lisp_test.py 内置迷你 AutoLISP 解释器,在 AutoCAD 之外跑几何算法测试
lint.py 静态检查:调用不存在的函数、参数个数、未定义变量
cd 源码
python3 build.py MJArea.src.lsp MJArea.lsp utf8
python3 lisp_test.py MJArea.lsp     # 30+ 项测试,应全部 PASS
python3 lint.py MJArea.lsp          # 应输出 unknown calls: none

然后把生成的 MJArea.lsp 复制到 MJArea.bundle/Contents/Resources/, 再运行一次 安装插件.command。

许可

MIT License,见 LICENSE。

AutoCAD / Autodesk 是 Autodesk, Inc. 的商标;本插件为非官方第三方工具, 与 Autodesk 无隶属关系。使用前请自行在测试图纸上验证;因使用本插件造成的 图纸损失,作者不承担责任。

About

AutoCAD 面积/周长标注 + 批量打印插件:点区域内部一点自动 BO,在区域中心写出面积周长并画红色加粗轮廓;框选图框批量导出 PDF / 直接打印。纯 AutoLISP,macOS 一键安装(Windows 也可用)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages