Standard Edition · 标准版教程

标准版 · 二档工具箱
命令逐条详解(对照源码)

标准版解锁二档工具箱全部命令:共 92 条命令按 12 组讲解。
每条都标注使用前提、操作步骤、参数默认值与范围、使用提示;源码覆盖 100%——99% 直接溯源到独立实现文件,其余命令亦附源码备注。插件内可用饼菜单 / 工具箱 / 命令大全搜索直达。

使用约定 · 先看这一块

  • 选中使用前需要先选中对象
  • 节点需用形状工具(F10)选中曲线及其节点后再执行
  • 面板点击后弹出参数面板/对话框,设好参数再生成
  • 一键点击立即生效,通常无需前提
  • 危险⚠️会大面积改动文档且不易撤销,操作前建议备份

测量与标注

11 条
选中面积测量
测面积:测量闭合曲线的面积。
操作:测量选中闭合对象的面积。
源码讲解 / 提示 / 备注
源码讲解

面积测量:测量选中封闭对象的面积

提示 / 备注

测量选中对象的面积并显示;测面积

选中曲线长度
测曲线长度:测量选中曲线的长度。
操作:测量选中曲线的长度。
源码讲解 / 提示 / 备注
源码讲解

曲线长度:测量选中曲线的总长度

提示 / 备注

测量选中曲线的长度并显示;测曲线长

两点测距
两点测距:测量两点之间的直线距离。
源码讲解 / 提示 / 备注
源码讲解

两测距 — 测量两个选中对象之间的中心距离 纯几何计算,弹出对话框报告水平和垂直距离

提示 / 备注

测量两点之间的距离并显示

测量M0探针
测量M0探针:一次性实测测量标注5大疑点(面积语义/含轮廓包围盒/原生尺寸线/UserData持久性/点选API)并落盘报告。
操作:一次性实证测量API行为并输出报告文件。
源码讲解 / 提示 / 备注
源码讲解

智能测量标注面板 M0 探针 对应《51-智能测量标注面板-方案研究报告》§5 M0: 一次性实证 5 大疑点,全部结论落盘 C:\PieMenu_Measure_M0_Report.txt [1] Curve.Area 语义:矩形基准 / 甜甜圈复合路径(孔洞是否扣减、子路径符号) / 自交八字形 / 开放折线(开放曲线返回值);附带 Curve.Length 核对 [2] 形状.GetBoundingBox 第5参 UseOutline:矩形+10mm 轮廓、直线+10mm 轮廓, 记录 FALSE/TRUE 两套 bbox 差值与原点偏移 [3] X8 原生尺寸线:纯 COM 调 Layer.CreateLinearDimension/CreateAngularDimension, 失败则降级 VBA Evaluate 验证兜底通道;成功则做属性读写小矩阵 [4] UserData 持久性(M0-P2 修正流程):Properties.PutItem 写入 → 即时回读 → 带标记形状直接 SaveAs(**P2 修正:M0 版在保存前 SafeDel 了标记形状, 导致重开的文档里根本没有该形状,4c 误判"Name 丢失"**) → Close → OpenDocument → 依 Name 找回 → UserData 再回读 + St…

提示 / 备注

报告落盘 C:\PieMenu_Measure_M0_Report.txt;M0探针

面板测量标注面板
测量标注面板:显示/隐藏神西派·智能测量标注常驻侧边面板。
操作:切换显示或隐藏智能测量标注侧边面板。
源码讲解 / 提示 / 备注
源码讲解

显示/隐藏「智能测量标注」公共浮窗(M1-修正) 形态:RegisterCustomPanel + FloatParamsWindow(公用浮窗,用户拍板)。 首次调用注册面板;再次调用若浮窗已打开则折叠关闭(切换)。

提示 / 备注

实时读数+含轮廓笔开关+复制读数;测量面板

面板一键测量面板大全
测量面板大全:八区教学式聚合面板,把测量/标注/统计/报价能力按用户意图分区收拢(即时测量/一键标注/标注样式/统计报表/报价用料/辅助换算/清理维护/面板预设)。
操作:按意图分组查找并使用全部测量与标注功能。
提示 / 备注
提示 / 备注

八区聚合+报价用料+同行缺口功能

角度测量
测量角度
源码讲解 / 提示 / 备注
源码讲解

交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…

提示 / 备注

测量角度:测量两条线的夹角

选中生成测量标注
生成测量标注:为选中对象批量生成包围盒尺寸线、圆直径D=、周长面积备注(参数化,MCP可用)。
操作:为选中对象批量生成测量标注;原生尺寸线优先,圆标直径,周长面积备注贴图。
源码讲解 / 提示 / 备注
源码讲解

参数化生成测量标注(MCP/AI 可用,队列桥穿透) 参数(AddonParams::Current()): mode : 1=包围盒批量(默认) / 5=角度 / 6=周长面积备注 useOutline : 0/1,尺寸含轮廓笔(与面板开关一致) fontSizePt : 字号(pt),默认 3.5 decimals : 小数位,默认 2 showUnits : 0/1 layerName : 目标图层(空=活动层) angCx/angCy/angX1/angY1/angX2/angY2 : 模式5 角度三点(mm) 报告:C:\PieMenuCmd\dimgenerate_last.json

提示 / 备注

原生H/V尺寸线+圆直径D=+周长面积备注,含轮廓口径与面板一致;测量标注

清理测量标注
清理测量标注:只删除本插件生成的标注(Tag双保险),原始图形零损伤;action=selectMarks 反向选中关联标注。
操作:只删带Tag的标注组件,原图纹丝不动;支持选中原始对象反向选中其标注。
源码讲解 / 提示 / 备注
源码讲解

测量标注 安全清理 + 反向选中(方案 §一.3 / §二) 参数(AddonParams::Current()): action : "clean" 清理:只删本插件生成的标注(Tag 双保险),原图零损伤 "selectMarks" 反向选中:选中原始对象 → 追加选中其关联的全部标注 报告:C:\PieMenuCmd\dimclean_last.json

提示 / 备注

只删Tag标注,原图零损伤;清理标注

选中导出测量报表
导出测量报表:输出选中对象测量统计CSV(序号/W/H/曲线总长/净面积/包围盒面积),Excel直开报价。
操作:把选中全部零件输出测量统计CSV,直接导入Excel做报价。
源码讲解 / 提示 / 备注
源码讲解

导出测量统计报表(CSV,UTF-8 BOM,Excel 直开报价) 参数(AddonParams::Current()): path : 输出文件路径(默认 C:\PieMenuCmd\measure_report.csv) useOutline : 0/1 含轮廓笔口径(与面板开关一致) recurseGroups: 0/1 递归群组 report : 结果 JSON 路径

提示 / 备注

六列报价表:序号/W/H/曲线总长/净面积/包围盒面积;导出报表

选中批量智能标注
批量智能标注:为每个选中对象生成尺寸文字,圆标直径,其他标 W×H。
操作:框选对象一键生成尺寸标注文字。
源码讲解 / 提示 / 备注
源码讲解

批量智能标注 — 为每个选中对象生成尺寸文字 椭圆/圆标注直径 D;其他标注 W×H

提示 / 备注

批量智能标注:自动给对象添加尺寸标注

批量输出与页面

10 条
快速导出当前页 PNG
导出当前页面为PNG(300dpi、RGB、透明背景)
操作:人工选择文件夹;自动路径须提供folder。仅导出当前页PNG,先临时写入并验证非空,成功才替换同名文件,失败保留旧文件。
源码讲解 / 提示 / 备注
源码讲解

导出当前页面为 PNG(多格式请用 多格式批量导出) 参考来源: CorelDRAW X6 FileConverter.vba (ExportEx + StructExportOptions) 实现策略: ExportHelper(Document.ExportEx + StructExportOptions,X8 实测可靠) —— 原 Evaluate VBA ExportBitmap 表达式易静默失败(2026-08-31 整改) - 弹出文件夹选择对话框 - 导出当前活动页面为 PNG(300dpi,RGB,透明背景) - 文件名格式: <文档名>_Page<页码>.png 后续扩展(Ghost 属性面板): - 格式切换: PNG / JPG / TIF - DPI 调节: 72 / 150 / 300 / 600 - 颜色模式: RGB / CMYK - 透明背景: 开/关(2026-09-18 PNG 已默认开) - 导出范围: 当前页 / 全部页 / 仅选中

提示 / 备注

仅当前页PNG;按组请用按重叠组导出图片,多格式请用多格式批量导出;批量导出

选中按重叠组导出图片
按组批量导出:将选中对象按连通性分簇,每簇单独导出为一张图片。
操作:选中对象按相邻关系自动分组,每组导出为独立图片文件。
源码讲解 / 提示 / 备注
源码讲解

按不相邻分组批量导出:将选中对象按连通性分簇,每簇单独导出为一张图片

提示 / 备注

按组批量导出

面板页面批量导出(格式/DPI)
打开批量导出面板。
操作:Smart Panel 配置格式/DPI/颜色模式等,批量导出选中对象。
源码讲解 / 提示 / 备注
源码讲解

批量导出面板:Ghost 面板配置格式/DPI/颜色模式,点"导出"选择文件夹后执行

提示 / 备注

批量导出面板

每页转位图
每页转位图:多页文档逐页导出整页位图(cdrCurrentPage)并回插原页铺满居中置顶——发预览/电子画册/防改稿交付。replace=1 时删除页面上原有对象(防改稿 flattening,默认 0 保留);export 参数可同时把 PNG 归档到指定文件夹;空页跳过、活动页最后还原。
操作:逐页导出PNG回插原页铺满(dpi/range/cmyk/replace/export 可调),空页跳过,活动页还原
源码讲解
源码讲解

每页转位图(66号对标清单 §3.10 P1) 对标牛为 V3.6"每页转位图"(高频到菜单改双排)。多页文档逐页整页导出为 位图并回插到原页覆盖原位置——发预览、电子画册、交"防改稿"版的标配。 单页处理: 1. 激活页 → ExportBitmap(cdrCurrentPage) 导出 PNG 到临时文件 2. layer->Import 进程内导回(零对话框)→ 尺寸铺满页面、居中置顶 3. replace=1 时删除页面上原有对象(防改稿 flattening;默认 0 保留,用户核对后手删) 4. export 参数可同时把 PNG 归档到指定文件夹 参数(AddonParams,AI/队列可传): dpi : 72-2400(默认 150) range : "all"(默认,全部页面) | "page"(仅当前页) cmyk : 0(默认 RGB) | 1(CMYK) replace: 0(默认,原对象保留在位图下方) | 1(删除原对象——不可轻用) export : 可选,PNG 同时另存的文件夹绝对路径(空=不落盘) transparent : 0(默认,页面白底) | 1(透明背景 PNG) 空页跳过如实计数;任一页导出/导入失败计 fail 并继续(活动页最后还原)。

批量新建页面
批量新建页面:批量创建新页面。
操作:批量新建多个页面。
源码讲解 / 提示 / 备注
源码讲解

批量新建页面:在文档末尾添加新页面(count 参数,默认 5,钳制 1~100)

提示 / 备注

批量插入多个新页面(可设数量)

选中分页

分页

操作:每个选中对象各占一个新页面。
源码讲解
源码讲解

分页(分页)— 魔镜生产模块 #3,方案 §6.3 P4 功能:选中 N 个群组/对象 → 每个对象分配到独立新建页面,对象原位放置。 例:选 10 个标签 → 一键生成 10 页,每页一个标签。 实现要点: - doc->AddPages(1) 逐对象新建页面(返回新页 IVGPagePtr,参照 书籍拼版) - 对象 MoveToLayer(新页活动层),坐标稳定(_ProbeBookCopy 已验证跨页坐标不变) - PowerClip 容器整体移动(内容跟随容器);位图大对象逐对象 Activate + 消息泵防假死

拆分对页

拆分对页

操作:按页面中线拆分跨页对象到各自页面。
源码讲解
源码讲解

拆分对页(拆分对页)— 魔镜生产模块 #1,方案 §6.1 P4 功能:把横跨左右两页(对页)的对象按页面中线布尔裁剪,左右各保留本页可见部分。 - 识别选中对象的跨页区域 → 左半到左页、右半到右页(MoveToLayer 原位) - 矢量对象:用左页/右页矩形做布尔刀(相交,复用 VisualUnblock 刀路) - 位图对象:不能布尔 → 降级复制到左/右页并提示(AddToPowerClip 待扩展) - 群组/PowerClip 嵌套:第一版先整体处理,嵌套递归后续增强 增强点(对齐魔镜 BUG): - 布尔失败捕获异常 + 弹窗告警 + 统计报告(不静默跳过) - 位图降级提示

页面清单

页面清单

操作:只读输出页面顶层对象清单(JSON)。
源码讲解
源码讲解

页面清单探针(AI Agent "看页面" 用,只读,不依赖 pythoncom) 参数 limit:double —— 顶层对象上报上限,默认 40(防消息膨胀) 参数 detail:double —— 1=带填充/轮廓摘要(默认),0=只报几何 输出(经 m_lastExecMessage 回执):JSON {count:顶层总数, unit:"文档显示单位", geomUnit:"mm", page:{w,h}, shapes:[{i,type,typeName,name?,left,top,w,h,rot,fill?,outline?}]} 【单位铁律 2026-09-04】读任何几何前先 doc->Unit = mm(RAII 还原)。 英寸文档实测坑:CenterX 在 inch 文档读出 2.6(英寸),被当 mm 用 → 全错位。 本探针所有 left/top/w/h 一律 mm。

页码标注增强

页码标注增强

操作:按奇偶页规则生成页码标注,艺术字自动转曲。
选中移至主页图层

移至主页图层

操作:选中对象移到主页图层,跨页面共享显示。
源码讲解
源码讲解

移至主页图层(移至主页图层)— 方案 §3.4 P2 对标魔镜「移至主页」:把选中对象移动到主页(Master Page)图层, 使其在所有页面可见(页眉/页脚/固定水印/角线等场景)。 实现要点: - doc->MasterPage 返回主页(IVGPage) - MasterPage->ActiveLayer 取主页的活动图层(若无则取 Layers.Item[1]) - ActiveSelectionRange->MoveToLayer(layer) 批量搬移,坐标保持不变 (参考 _ProbeBookCopy 已验证 MoveToLayer 跨页坐标稳定) - 前置:有选中对象且当前页不是主页

颜色与填充处理

11 条
选中一键快捷:位图转 CMYK
位图转CMYK:将位图转换为CMYK色彩模式。
操作:将位图转换为CMYK色彩模式,用于印刷。
源码讲解 / 提示 / 备注
源码讲解

位图转CMYK:纯 COM 模式转换(2026-09-11 由 InvokeItem 透传改为 API 直转)

提示 / 备注

位图转CMYK:把位图转成印刷四色;InvokeItem 6ec34929

选中一键快捷:位图转灰度
位图转灰度:将彩色位图转换为灰度位图。
操作:将彩色位图转换为灰度(8位)位图。
源码讲解 / 提示 / 备注
源码讲解

位图转灰度:纯 COM 模式转换(2026-09-11 由 InvokeItem 透传改为 API 直转, 消除对原生命令 GUID 的依赖——模式转换在部分版本会带出确认 UI)

提示 / 备注

位图转灰度:把位图转成灰度图;InvokeItem e27f34c1

选中一键快捷:位图转 LAB
位图转LAB:将位图转换为LAB色彩模式。
操作:将位图转换为LAB色彩模式。
源码讲解 / 提示 / 备注
源码讲解

位图转LAB:纯 COM 模式转换(2026-09-11 由 InvokeItem 透传改为 API 直转)

提示 / 备注

位图转LAB:把位图转成LAB色彩模式;InvokeItem e540b312

选中一键快捷:位图转调色板
位图转调色板:将位图转换为调色板模式。
操作:将位图转换为调色板(索引色)模式。 colors 默认256。需选中位图。
源码讲解 / 提示 / 备注
源码讲解

位图转调色板色:纯 COM 模式转换(替代 2026-09-11 前的 InvokeItem 透传—— 原生命令弹"转换为调色板色"参数对话框,无人值守被卡死) 参数:colors=调色板色数(默认 256)

提示 / 备注

位图转调色板:把位图转成调色板模式;InvokeItem 1c3e5c32

选中一键快捷:位图转 RGB
位图转RGB:将位图转换为RGB色彩模式。
操作:将位图转换为RGB色彩模式。
源码讲解 / 提示 / 备注
源码讲解

位图转RGB:纯 COM 模式转换(2026-09-11 由 InvokeItem 透传改为 API 直转)

提示 / 备注

InvokeItem b2394c63

RGB检查
RGB检查:检查页面中使用RGB颜色的对象。
操作:遍历页面所有形状,高亮选中使用RGB颜色的对象。印刷前需确保CMYK。
源码讲解
源码讲解

RGB检查:遍历当前页所有形状(含群组内部),高亮选中使用 RGB 颜色(非 CMYK)的对象

颜色统计
统计选中对象的颜色使用情况
操作:统计当前页面的颜色使用情况。
源码讲解 / 提示 / 备注
源码讲解

颜色统计:遍历当前页面所有形状(含群组内部),收集已使用的填充色和轮廓色

提示 / 备注

统计选中对象用了哪些颜色、各有多少个

选中CMYK色值标注
CMYK色值标注:为选中的均匀填充对象在右侧自动标注C/M/Y/K色值文本。
操作:UniformColor取CMYK→CreateArtisticText多行→右锚定放置。
色彩调和
打开色彩调和工具。
源码讲解
源码讲解

交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…

选中按首项统一填充色
批量替换选中对象的颜色
操作:批量替换选中对象的颜色。
源码讲解 / 提示 / 备注
源码讲解

批量改色:将所有选中对象的填充色统一为第一个对象的填充色

提示 / 备注

批量把选中对象的颜色替换成指定颜色

选中按源色替换为目标色

按源色替换为目标色

操作:按源色/目标色全局替换,支持填充/轮廓/递归。
源码讲解
源码讲解

颜色替换(按源色替换为目标色)— 魔镜 #18,方案 §10.3 P8 功能:拾取源颜色 + 目标颜色 → 批量替换文档填充/轮廓色。 对齐魔镜 BUG 的增强点: - 递归开关:PowerClip 内部(FindShapes 跨层级,FilterBar 已验证) - 专色保护:检测 cdrColorSpot/cdrColorPantone,默认跳过并报告(魔镜专色出错) - 透明混合限制提示:透明混合出的视觉色无法替换,仅替换原始对象颜色 - 填充/轮廓可分别勾选 取色双通道: - AI 参数:from/to(颜色名或 #RRGGBB,ColorNames::Resolve) - 交互:ShowColorPicker 两次弹窗(源色 + 目标色,记忆上次选择) 参数(AddonParams): from/to : 颜色名或 #RRGGBB(如 red / #FF0000) scope : 0=选中 1=当前页 2=全部页(默认0) fill : 1=替换填充(默认1) outline : 1=替换轮廓(默认0) recursive: 1=递归PowerClip内部(默认1) protectSpot: 1=保护专色(默认1) silent : AI 静默

轮廓与填充转换

6 条
选中填充色应用到轮廓

填充色应用到轮廓

操作:填充色替换为轮廓色,保留轮廓粗细。
源码讲解
源码讲解

填充⇄轮廓互换三件套(填充色应用到轮廓 / 轮廓色应用到填充 / 交换填充色与轮廓色) 魔镜超级模块 #5/6/7,方案 §8.5-8.7 P6 功能(用户先选择 → 本命令对选中对象(含群组/PowerClip 内部)批量处理): 填充色应用到轮廓 :填充色 → 轮廓色(轮廓粗细不变) 轮廓色应用到填充 :轮廓色 → 填充色(轮廓属性不变) 交换填充色与轮廓色 :填充色 ⇄ 轮廓色互换 对齐魔镜 BUG 的增强点: - 递归群组/PowerClip 内部(FindShapes 跨所有层级,FilterBar 已验证) - 专色/RGB/CMYK 正确传递(CopyAssign 复制 IVGColorPtr,保留色彩模式/专色ID) - 无填充/无轮廓对象跳过;渐变/图案等非均匀填充只读填充色时按无填充跳过

选中轮廓色应用到填充

轮廓色应用到填充

操作:轮廓色替换为填充色,保留轮廓属性。
源码讲解
源码讲解

填充⇄轮廓互换三件套(填充色应用到轮廓 / 轮廓色应用到填充 / 交换填充色与轮廓色) 魔镜超级模块 #5/6/7,方案 §8.5-8.7 P6 功能(用户先选择 → 本命令对选中对象(含群组/PowerClip 内部)批量处理): 填充色应用到轮廓 :填充色 → 轮廓色(轮廓粗细不变) 轮廓色应用到填充 :轮廓色 → 填充色(轮廓属性不变) 交换填充色与轮廓色 :填充色 ⇄ 轮廓色互换 对齐魔镜 BUG 的增强点: - 递归群组/PowerClip 内部(FindShapes 跨所有层级,FilterBar 已验证) - 专色/RGB/CMYK 正确传递(CopyAssign 复制 IVGColorPtr,保留色彩模式/专色ID) - 无填充/无轮廓对象跳过;渐变/图案等非均匀填充只读填充色时按无填充跳过

选中交换填充色与轮廓色

交换填充色与轮廓色

操作:填充与轮廓颜色互换。
源码讲解
源码讲解

填充⇄轮廓互换三件套(填充色应用到轮廓 / 轮廓色应用到填充 / 交换填充色与轮廓色) 魔镜超级模块 #5/6/7,方案 §8.5-8.7 P6 功能(用户先选择 → 本命令对选中对象(含群组/PowerClip 内部)批量处理): 填充色应用到轮廓 :填充色 → 轮廓色(轮廓粗细不变) 轮廓色应用到填充 :轮廓色 → 填充色(轮廓属性不变) 交换填充色与轮廓色 :填充色 ⇄ 轮廓色互换 对齐魔镜 BUG 的增强点: - 递归群组/PowerClip 内部(FindShapes 跨所有层级,FilterBar 已验证) - 专色/RGB/CMYK 正确传递(CopyAssign 复制 IVGColorPtr,保留色彩模式/专色ID) - 无填充/无轮廓对象跳过;渐变/图案等非均匀填充只读填充色时按无填充跳过

选中轮廓转曲增强

轮廓转曲增强

操作:轮廓转曲并标准化方向,可选拆分与过滤0宽线。
源码讲解
源码讲解

轮廓转曲增强(轮廓转曲增强)— 方案 §3.1 P0 对标魔镜「轮廓转曲」,碾压原生 & 魔镜的增强点: 1. 路径方向标准化:外轮廓统一顺时针(CW)、内孔统一逆时针(CCW) 原生 ConvertOutlineToObject 输出的复合路径内外方向由 CDR 自动生成, 与原始对象方向不一定一致 → 切割/巡边/激光镂空判断出错。 本增强用子路径包含关系 + IsClockwise 自动标准化,解决镂空里外颠倒。 2. 过滤 0 宽度轮廓:跳过 cdrNoOutline 与宽度<=0.001 的对象,不报错空转。 3. 选项:拆分复合路径(转完后 拆分 拆成独立对象),由参数 split 控制。 参数(AddonParams,AI/队列可传): normalize : 1(默认) 方向标准化 ; 0 关闭(仅过滤+转换) split : 1 拆分复合路径 ; 0(默认) 不拆分

选中轮廓抠图

轮廓抠图

操作:上层对象作刀口裁剪下层对象,位图转为图框剪裁。
源码讲解
源码讲解

轮廓抠图(轮廓抠图)— 方案 §3.7.1 P3 对标魔镜「轮廓抠图」:上层选中对象作为裁剪轮廓(刀),裁剪下层对象。 - 下层矢量对象 → 布尔相交(沿用 前面对象相交 逻辑) - 下层位图对象 → 不能布尔 → 放进轮廓 PowerClip 容器(AddToPowerClip) - 复杂自相交轮廓布尔失败 → 捕获并统计报告(不中断其余对象) 与 前面对象相交 的区别:它是"纯矢量布尔";本命令增加位图分支, 混合选择(轮廓+位图+矢量)一次处理。

虚线轮廓
设置虚线轮廓。
提示 / 备注 / 源码备注
源码备注

实现于 PieMenuCore.cpp 命令分发表(CMD_ENTRY → COM 调用):为选中对象设置虚线轮廓。

提示 / 备注

CMD_ENTRY4 虚线轮廓

形状与尺寸工具

9 条
转正圆
转正圆:把椭圆转为正圆
源码讲解
源码讲解

FloatingToolbar 专属命令集 为每种形状类型提供专属操作按钮 --- 胶囊:矩形变胶囊(设置圆角类型为Round + 四角最大化)---

正方

正方

源码讲解
源码讲解

FloatingToolbar 专属命令集 为每种形状类型提供专属操作按钮 --- 胶囊:矩形变胶囊(设置圆角类型为Round + 四角最大化)---

转正方形
转正方形
源码讲解 / 提示 / 备注
源码讲解

矩形角原语共享后端:胶囊形 / 圆角归零 / 统一圆角。 胶囊形、圆角归零、统一圆角 和 矩形角处理(模式原语)(mode) 都只调用这里的 Apply;面板不承担几何算法。

提示 / 备注

转正方形:矩形变正方形

三点圆
点击三点确定一个过三点的圆
源码讲解 / 提示 / 备注
源码讲解

交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…

提示 / 备注

三点圆:用三个点画圆;P3: three-point circle

定直径圆
定直径圆:绘制定直径的圆形。
源码讲解 / 提示 / 备注
源码讲解

定直径圆:在页面中心绘制指定直径的圆

提示 / 备注

定直径圆:按指定直径画圆;Addon registered in AddonManager.h

垂直线
在页面中心绘制指定长度的垂直线,通过Smart Panel设置长度参数。
源码讲解 / 提示 / 备注
源码讲解

垂直线:在页面中心绘制指定长度的垂直线

提示 / 备注

垂直线:画一条垂直直线;绘图工具扩展,Addon registered in AddonManager.h

选中精确尺寸
以中心为基准将选中对象设置为指定绝对宽高。
操作:弹出宽高输入框,按中心设置每个选中对象的绝对尺寸。
参数(源码) / 提示 / 备注
参数(源码)
宽×高默认 defaultW × defaultH范围 0.01 ~ 99999.0单位 mm
提示 / 备注

精确尺寸:按输入数值设置对象尺寸

选中规整外框矩形
矩形规整:统一外框(内部物件大小不变)
操作:以内部物件合并Bbox为基准左右/上下扩边生成新外框,可统一尺寸、居中内部物件、自动群组。内部物件大小永不改变。
提示 / 备注
提示 / 备注

矩形规整:统一外框(内部物件不变)

等分曲线
等分曲线:按数量等分曲线
源码讲解
源码讲解

按长度等分曲线 / 按数量等分 — Rhino Divide 对标 按长度:在曲线上每隔 L mm 放置一个标记 按数量:将曲线等分为 N 段,段端点放标记 标记可选:点 / 小圆 / 竖线

形状生成器

6 条
面板多边形生成
多边形生成(参数化面板)
源码讲解
源码讲解

多边形生成器(面板版)— 参数化正 N 边形(2026-09-19 形状生成器批次) 参数:边数 / 外接圆半径 / 圆角半径 / 旋转角度 / 填充 用途:六边形、八边形标牌、底座。圆角半径>0 时四角圆角(证书/标签常用)。 实现:ShapeGen::CreatePolygon(二次贝塞尔升阶法做圆角)

面板圆环生成
圆环/弧环/扇形生成(参数化面板)
源码讲解
源码讲解

圆环生成器(面板版)— 圆环 / 弧环 / 扇形(2026-09-19 形状生成器批次) 参数:类型 / 外半径 / 内半径 / 起始角 / 结束角 / 弧环端头圆角 / 填充 用途:环形刻度底、仪表盘、装饰环、进度环、实心饼块。 圆环 → 外圆(逆时针) + 内圆(顺时针) 双子路径,反向绕行保证挖洞 弧环 → 外弧 + 端头(直线或半圆帽) + 内弧回程,单闭合路径 扇形 → 圆心 + 外弧闭合(内半径不参与)

面板圆角矩形生成
圆角矩形生成(参数化面板)
源码讲解
源码讲解

圆角矩形生成器(面板版)— 四角独立圆角(2026-09-19 形状生成器批次) 参数:宽 / 高 / 统一圆角(优先)/ 左上 / 右上 / 右下 / 左下 / 填充 用途:按钮、面板外框、图文底板;左上/右下不同圆角的异形卡板。 实现:ShapeGen::CreateRoundedRect(90° 圆弧 kappa 逼近)

面板星形生成
星形生成(参数化)
源码讲解 / 提示 / 备注
源码讲解

星形变体生成器(面板版)— 生成远超CDR内置的复杂星形 竞品对标:Inkscape 星形 Tool 扩展 / 多边形 扩展 支持:圆角星/尖锐星/随机扰动/内外半径精细控制 实现:CreateCurve + 循环 AppendLineSegment

提示 / 备注

星形生成(参数化:角数/内外径)

面板正弦波生成
打开波浪生成(参数化)
源码讲解 / 提示 / 备注
源码讲解

波浪线生成器(面板版)— 参数化正弦波曲线 竞品对标:Inkscape Extensions → Render → Function Plotter 是对 波浪线.h 的面板版升级 实现:CreateCurve + AppendCurveSegment2 贝塞尔曲线近似正弦波

提示 / 备注

波浪生成器(参数化:波长/振幅)

面板折线波形生成
波形生成(参数化面板)
源码讲解
源码讲解

波形生成器(面板版)— 三角波 / 方波 / 锯齿波(2026-09-19 形状生成器批次) 与 正弦波生成(正弦波)互补:本命令补齐电信号类折线波形。 参数:类型 / 周期数 / 振幅 / 波长 / 方向 / 闭合填充 实现:折线 AppendLineSegment;闭合填充时沿基线封底成带状面。

曲线与路径编辑

5 条
选中简化曲线
简化(布尔运算):移除选中对象间的重叠区域,顶层作刀修剪底层。
操作:移除选中对象之间的重叠区域(类似对象>修整>简化),整个操作一次撤销。
源码讲解
源码讲解

简化(布尔运算):移除选中对象间的重叠区域,支持 3+ 对象

选中曲线拉直
曲线拉直:将弯曲的曲线段转换为直线段。
操作:将曲线段拉直为直线段。
源码讲解 / 提示 / 备注
源码讲解

曲线拉直:将曲线转换为直线段

提示 / 备注

曲线拉直:把曲线拉直成直线;拉直曲线

选中一键一键摆正
一键摆正:三种模式。mode=snap90(默认)将选中的位图、矩形、椭圆旋转归正到最近的90°倍数(仅旋转归正,不改变倾斜);mode=byAngle 按角度任意摆正(每个对象旋转-angle度);mode=byTwoPoint 按两点参考线扶正(p1/p2 为参考线两端mm,to=horizontal 转平或 to=vertical 转直)。byAngle/byTwoPoint 作用于任意类型选中对象(含群组)。
操作:snap90 吸附最近90°归正(位图/矩形/椭圆);byAngle 按angle任意旋正;byTwoPoint 按p1/p2参考线转平/转直(任意类型对象)
源码讲解 / 提示 / 备注
源码讲解

一键摆正(一键摆正)— 三种模式(2026-09-20 扩参,对标牛为"自动摆正", 见《66-牛为功能对标与缺口清单》§3.2,P0) mode=snap90(默认,原有行为) 将选中的 位图 / 矩形 / 椭圆 一键归正为横平竖直: · 旋转角度吸附到最近的 90° 倍数(0/90/180/270),保持对象位置与最接近的朝向 (仅旋转归正,不改变倾斜:VGCore 的 IVGShape 没有 SkewAngle 属性——该属性 只存在于 TextureFill/PatternFill 等填充接口(见 VGCoreAuto.tlh),"清除倾斜" 需矩阵变换路线另做,本命令不承诺。十二轮 1.3 降级订正,CSV 已同步。) · 每个对象绕自身中心旋转,多个对象逐个摆正,整体相对布局保持不变。 · 说明:与"清除变换(清除变换,强制归零)"不同,本功能吸附到最近的 90° 倍数,例如 30° → 0°、100° → 90°,不会把本应竖直的对象横过来。 mode=byAngle 任意角摆正(按角度) 把选中的每个对象旋转 -angle 度(对象自身再叠加自身原角度)。 作用于**任意类型**选中对象(含群组/曲线/文本)。 典型场景:扫描稿歪 7°,传 angle=7 全部转回水平。 mode=byTwoPoint 任意角…

提示 / 备注

一键摆正:自动对齐选中对象的朝向

在两曲线间生成N条中间过渡曲线
源码讲解
源码讲解

中间曲线 — Rhino 在两曲线间生成N条中间过渡曲线 对标 选中两条曲线 → 利用 CDR 调和 调和效果取中间 N 条过渡曲线 实现:CreateBlend(target, steps, ...) → 拆分 群组 → 删除首尾

线条转页面裁切线
线条裁切:仅处理曲线件,横线(宽>高)按中心Y就近吸到上/下边缘、竖线(高≥宽)按中心X就近吸到左/右边缘,裁切线跨全页面两侧外扩3mm出血,宽0.2mm套准色,成组命名「裁切线: N条」,原线删除。
源码讲解 / 提示 / 备注
源码讲解

线裁切 — 选中线条拖到页面四边变裁切线 来源:corelvba/整版裁切线.bas → SelectLine_to_Cropline() 判断横线(宽度>高度)→放到页面上下边缘, 竖线(高度>=宽度)→放到页面左右边缘 实现(2026-09-20,F4 技术验证定谳后补全): 仅处理曲线件(cdrCurveShape),按中心点就近吸附: 横线 → 上/下边缘,裁切线跨全页面宽、两侧各外扩出血 竖线 → 左/右边缘,裁切线跨全页面高、上下各外扩出血 宽 0.2mm 套准色 CMYK100(兜底纯黑);原线删除;结果成组命名「裁切线: N条」。 原 TODO「CreateShapeRange API compatibility with CDR X8」已于 2026-09-20 真机定谳推翻:X8 仅应用级 a->CreateShapeRange()(IVGDocument 无此方法, tlb 与运行时一致;ShapeRange 亦无 合并,见 碎块合并),探针 _sr_probe27a/27b 全链路通过。

提示 / 备注

线条裁切:选中线条贴页面四边变裁切线

文本与字体工具

4 条
文本溢出检查
文本溢出检查:用CorelDRAW原生Overflow属性找出超出文本框的段落文本,可自动选中并标记。
操作:遍历文本对象读Overflow并报告
选中一键弧形文字
弧形文字:选中文字后一键沿椭圆路径弯曲。Shift+执行更大弧度。
操作:选中文字后一键沿椭圆路径弯曲。Shift+执行更大弧度弯曲。
源码讲解 / 提示 / 备注
源码讲解

快速曲线文字:选中文字后一键沿椭圆路径弯曲 灵感来源:GDG John Johnson 的 roundTextSimple 宏 Shift+执行 → 更大幅度弯曲

提示 / 备注

弧形文字:让文字沿弧线排列

字体预览
预览字体效果
源码讲解 / 提示 / 备注
源码讲解

交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…

提示 / 备注

预览字体效果:查看字体渲染效果

字体报告
字体报告:扫描当前文档所有页面,列出使用的字体、字号和文本对象数量。
操作:遍历所有页面中的文本对象,统计每种字体的使用次数和字号分布,以弹窗形式展示报告。
提示 / 备注
提示 / 备注

[待重写] 现版仅弹窗统计(字体/次数/字号),功能弱。重写方向:可导出报告(HTML/CSV)+混排字体统计+按页面/图层维度(2026-08-24 用户评审标记)

查找与选择工具

6 条
高级搜索
高级搜索:按尺寸/节点数/路径数/填充/轮廓/类型参数化筛选,可隐藏非匹配。
操作:AI无人值守无头执行:auto由队列桥注入,按参数直接搜索不弹面板。fill_mode/outline_mode 0任意1有2无;type_mode 0全部1曲线2文本3位图4群组5矩形6椭圆7多边形;scope_mode 0整页1仅活动层;尺寸/节点/路径阈值0=不限。结果经AddonReportStatus上报。
源码讲解 / 提示 / 备注
源码讲解

高级搜索(参数化条件筛选,对标 eCut Advanced Search) 条件(面板可填,0 = 不限): 尺寸区间:宽度/高度 Min~Max 曲线特征:节点数 Min~Max、路径数 Min~Max 填充/轮廓:任意 / 有 / 无 对象类型:全部/曲线/文本/位图/群组/矩形/椭圆/多边形 搜索范围:整页(跨层级)/ 仅活动层 结果:选中命中对象;可选项"隐藏非匹配" 实现:FindShapes 遍历 + 谓词匹配 + sh->Selected 累加选中

提示 / 备注

高级搜索:按多条件(类型/颜色/尺寸/属性)查找对象

选中查找相似对象
按类型+尺寸+填充色+轮廓色综合比对,找出外观相近的对象。
操作:需要选中一个对象作为参考
另解:按类型+尺寸+填充色+轮廓色综合比对,找出外观相近的对象。
源码讲解 / 提示 / 备注
源码讲解

查找相似对象:以当前对象为基准,按「类型 + 尺寸比例 + 填充色 + 轮廓色」综合比对。 参数:scope=page|doc|sel(默认 page);recurse=1|0(默认 1) sizeTol=尺寸相对容差(%)默认 5;colorTol=颜色通道容差(0-100) 默认 2 strict=1 时要求类型完全相同(默认 1);add=1 追加 说明:比单纯的「选同尺寸/选同色」更宽松,用于找外观接近的重复元素。

提示 / 备注

查找相似对象:按类型+尺寸+填充色+轮廓色综合比对,找出外观相近的对象。;P0批次一 2026-09-17

选中超级替换
超级替换·对象级:选中 ≥2 个对象,选区最上层者(z 序第 1,后创建/置顶者)为替换源(新对象),其余逐个被其替换——副本移到旧对象中心(fit=box 等比适配旧外接盒),OrderFrontOf 紧贴旧对象前方占位、删除旧对象后精确顶替其堆叠层位;deleteSource=0 保留旧对象。注意:COM 选区枚举序=z 序而非点击顺序,故契约锚定 z 序。
操作:替换源按 sourceName 前缀唯一命中(推荐)或取最上层,其余逐个原位替换(中心对齐、堆叠顶替、可选删除旧对象)
源码讲解
源码讲解

语义(2026-09-20 真机定谳后的确定契约): 选中 N≥2 个对象 → 替换源(新对象)按以下优先级解析: 1. sourceName 非空:名字以 sourceName 开头且**唯一命中**的选中对象为替换源, 命中 0 个或多个 → 如实报错(最稳,AI/队列路径推荐) 2. sourceName 缺省:选区最上层对象(ShapeRange Item[1],z 序最前)为替换源。 ⚠️ COM 的 ActiveSelectionRange 枚举序 = z 序,不是点击/框选顺序,且 智能导入 落层受上下文影响——真机实测两轮方向相反,故默认契约仅作 回退,确定性场景务必传 sourceName(见 tests/live_niuwei_p1.py H2 复盘)。 其余 N-1 个 = 被替换对象(旧)。对每个旧对象: 1. 复制新对象 → 移到旧对象中心(fit=box 时等比缩放适配旧对象外接盒) 2. OrderFrontOf(旧) 紧贴旧对象前方占位 → 删除旧对象后新副本精确顶替其层位 3. deleteSource=0 时旧对象保留(副本仍紧贴其前方) 参数(AddonParams,AI/队列可传): sourceName : 替换源名字前缀(按选中对象 Name 前缀唯一匹配;最稳) fit : "none"(默认,只搬位置不改尺寸) | "b…

过滤条命令
过滤条命令
提示 / 备注
提示 / 备注

过滤条内部命令(从过滤条面板触发)

超大工具箱
超大工具箱:以标签页形式汇总显示所有工具箱分类命令。
操作:一键打开超大工具箱:所有分类命令汇总在一个弹窗中,标签页切换。即使隐藏工具箱也能通过此命令呼出全部命令。
源码讲解 / 提示 / 备注
源码讲解

超大工具箱(独立命令) 背景:工具箱里的"合体"分类弹窗(标签页形式汇总所有分类命令)非常实用, 但它只能从工具箱进入。本命令把该功能提升为独立命令(command=超大工具箱), 绑定到饼菜单/RhoBar/智能面板后,即使设置中隐藏了工具箱,也能随时呼出 "超大工具箱",所有命令一个弹窗全部可用。 标签页内容/列数由配置编辑器在 PieMenuCPG.json 的 "_supertoolbox" 段独立配置; 未配置时自动汇总工具箱全部分类(去掉"最近/合体"特殊分类)。

提示 / 备注

超大工具箱:切换超大图标工具箱

内容收集器
内容收集器:收集文档中的位图、字体、颜色资源并生成 HTML 清单。
操作:一键收集文档资源到指定文件夹。
源码讲解 / 提示 / 备注
源码讲解

内容收集器 — 收集文档中的位图、字体、颜色资源并生成 HTML 清单

提示 / 备注

收集文档里的位图/字体/颜色资源,生成清单

文档整理与优化

10 条
选中危险深层解组
深层解组:彻底解散所有嵌套群组。
操作:递归解组所有嵌套群组,直到没有群组为止。
源码讲解 / 提示 / 备注
源码讲解

深层解组:递归解组所有嵌套群组 1. 主线程一次性 DFS 遍历选中对象树,收集所有群组 (StaticID, depth, ptr) 2. 将纯数据发送给 PieMenuWorker.exe 按 depth 从大到小排序 3. 主线程按排序结果,用之前保存的指针逐个解组(不依赖 ActiveSelectionRange 缓存)

提示 / 备注

深层解组:递归解开所有层级的群组;彻底解组

强力打开
诊断并修复打不开/卡死的 CDR 文件(ZIP 重建+缓存剔除+备份找回)。
操作:选择打不开的 .cdr,先找备份,再尝试 ZIP 结构重建和缓存剔除,输出 _fixed.cdr 副本后打开。
源码讲解 / 提示 / 备注
源码讲解

强力打开:CDR 文件打开前的诊断与修复 L4 备份找回:扫描同目录 Backup_of_*、FileRecovery、插件备份目录 L1 ZIP 修复:EOCD 缺失/损坏时从 local headers 重建 ZIP L2 缓存剔除:删除预览/缩略图缓存 + 清理颜色样式(同文件瘦身) L5 版本降级:V1 不做(只提示版本信息)

提示 / 备注

强力打开:跳过损坏内容强制打开文件;P1: force-open diagnose & repair

一键内存整理
一键内存整理:清空剪贴板+刷新界面+工作集释放,立即腾出可用物理内存。
操作:打开内存整理窗口:点击开始整理,观察整理前后可用物理内存对比;工作集释放后物理内存立即增加。
文件瘦身
清理 CDR 文件内部垃圾数据(视图/颜色样式/预览缓存),缩小文件体积。
操作:多选 .cdr 文件,清理 docPalette.xml 颜色样式与 previews/缩略图缓存,输出 xxx_瘦身.cdr 不覆盖原文件。
源码讲解 / 提示 / 备注
源码讲解

文件瘦身:清理 CDR 文件内部垃圾数据 S2 颜色样式清理(docPalette.xml,实验已验证安全) S3 预览缓存清理(previews/、metadata/thumbnails/,白名单) S1 视图样式(root.dat RIFF 修边 + 分析;块剔除 V1 保守不做)

提示 / 备注

清理文档冗余数据,减小文件体积(好命令);P1: reduce file size

一键系统诊断
系统诊断:打印机子系统/缓存配置/GDI句柄/中文输入法一键体检与预警。
操作:打开系统诊断面板:一键扫描打印机子系统/缓存配置/GDI句柄/中文输入法,生成报告与处置建议。
对象统计
统计选中对象的数量/类型等数据
操作:统计当前页面的对象数量和类型分布。
源码讲解 / 提示 / 备注
源码讲解

对象统计:遍历当前页面所有形状,按类型统计数量,结果用 MessageBox 输出 参考:自动统计文本.gms 和 FileConverter VBA 遍历模式

提示 / 备注

统计选中对象的数量、类型、尺寸等数据

选中优排序

优排序

操作:按位置规则排序并重排Z序(可选)。
源码讲解
源码讲解

优排序(优排序)— 魔镜 #7,方案 §10.2 P8 功能:按对象位置重排 Z 序,控制切割顺序避免碰料移位。 0 = 从上到下(Y 降序) 1 = 从左到右(X 升序) 2 = 蛇形(按行从上到下扫描,奇数行反向) 对齐魔镜 BUG 的增强点: - 群组对象:按群组包围盒中心参与排序(魔镜群组逻辑混乱 → 我们按组中心) - PowerClip 内部不处理(顶层排序即可,切割以顶层为准) - 重排 Z 序:逆序 OrderToBack(复用 路径优化排序 已验证手法) 参数(AddonParams): mode : 0=从上到下 1=从左到右 2=蛇形(默认0) reorder: 1=重排Z序(默认1) 0=仅报告顺序

选中特殊镜像

特殊镜像

操作:按轴镜像选中对象,可保留原件复制镜像。
源码讲解
源码讲解

特殊镜像(特殊镜像)— 魔镜超级模块 #2,方案 §8.2 P7 功能(用户先选择对象): - 多轴镜像:水平(X) / 垂直(Y) / 水平+垂直同时(XY) - 双模式:原地镜像(不复制)/ 复制-镜像(保留原对象) 相比现有 水平镜像复制(保留原对象)(仅水平复制)、垂直镜像复制(保留原对象)(仅垂直复制): - 新增 XY 同时镜像(cdrFlipBoth) - 新增原地镜像(不复制,直接翻转选中对象) - 面板 + AI 参数统一控制 参数(AddonParams): axis : 0=水平(X) 1=垂直(Y) 2=XY同时(默认0) copy : 1=复制-镜像(保留原对象) 0=原地镜像(默认1) silent : AI 静默

选中中心标记
中心标记:标记对象的中心点。
操作:在选中对象中心添加标记。
源码讲解 / 提示 / 备注
源码讲解

中心标记:在选中对象中心创建十字标记

提示 / 备注

给对象添加中心标记(十字线)

选中符号还原

符号还原

操作:符号转普通对象,嵌套符号按递归开关处理。
源码讲解
源码讲解

符号还原递归(符号还原)— 方案 §3.7.2 P3 对标魔镜「符号还原」,增强点:递归处理嵌套符号(符号里套符号)。 原生 符号还原为对象(CMD_ENTRY4)对嵌套符号还原不彻底; 本命令用官方 COM API:IVGSymbol::RevertToShapes() 逐实例还原, 还原后检查结果是否仍含符号实例(sh->Symbol != null)→ 递归, 深度上限 10 防死循环。保留文档符号库不删除(对齐魔镜行为)。 参数(AddonParams):recursive = 1(默认) 递归嵌套 ; 0 仅还原一层

辅助线与网格

5 条
清除辅助线
清除辅助线:清除页面上所有辅助线。
操作:清除页面上所有辅助线。
源码讲解
源码讲解

清空辅助线:删除当前页面所有辅助线

间距辅助线
切换间距辅助线显示。
源码讲解 / 提示 / 备注
源码讲解

交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…

提示 / 备注

间距辅助线:显示间距参考线

等角辅助线
切换等角辅助线显示。
源码讲解 / 提示 / 备注
源码讲解

交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…

提示 / 备注

等角辅助线:显示等角投影辅助线

显示/隐藏网格
切换网格的显示/隐藏
源码讲解 / 提示 / 备注
源码讲解

网格切换:显示/隐藏网格

提示 / 备注

CMD_ENTRY4 显示/隐藏网格

等距排线
等距排线(生成等间距平行线)
源码讲解 / 提示 / 备注
源码讲解

等距排线 — 在选中对象包围盒内按固定间距画等距平行线 间距通过简单输入框获取,默认 5mm,记住上次输入值

提示 / 备注

生成一组等间距的平行线

特效与位图处理

9 条
选中效果字管理
效果字管理
操作:需要选中文字
源码讲解
源码讲解

效果字管理窗口(命令:效果字管理 / ID 316112000 / 16 文本) 布局:左 = 效果列表(ListView 表格:名称 / 目标 / 步数),右 = 按钮列。 双击列表项 = 直接应用;按钮:应用 / 录制(停止并保存) / 删除 / 重命名 / 上移 / 下移 / 导出选中 / 导入 / 全部导出 / 刷新。 窗口为 WS_POPUP 独立浮窗(owner = CDR 主窗口),可拖动、可调大小; 命令再次触发 = 显示/隐藏切换。内置效果仅是示例,可删除/重排/改名。

面板危险一键拆解特效
拆解特效:一键将效果组转为独立对象
源码讲解 / 提示 / 备注
源码讲解

拆解特效(面板版)— 将 CDR 特效(轮廓/调和/立体化)结果拆解为独立对象 竞品对标:Inkscape Object to Path / Illustrator Expand Appearance 实现:检测 shape->GetEffects() → 拆分

提示 / 备注

拆解特效:效果转独立对象

面板路径弯曲
路径弯曲:封套变形,可调方向/模式
源码讲解 / 提示 / 备注
源码讲解

路径弯曲(面板版)— 对选中对象应用封套变形 竞品对标:Inkscape Bend Path LPE / Illustrator Envelope Distort 实现:CreateEnvelope 对每个选中对象创建封套

提示 / 备注

路径弯曲:封套变形曲线

高级吸管
激活高级吸管取色工具。
源码讲解
源码讲解

交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…

渐变预览
预览并调整渐变填充效果。
源码讲解
源码讲解

交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…

裁剪位图透明
裁剪位图四周透明区域(默认0.3mm)
提示 / 备注
提示 / 备注

Addon registered in AddonManager.h

选中导出PNG
将选中导出为PNG图片
操作:将选中对象导出为PNG图片(300dpi,RGB,临时目录)。
源码讲解
源码讲解

导出选中为PNG(2026-08-26 v6:诊断版) 已知事实链: - 直调 ExportBitmap(cdrSelection/cdrCurrentPage):自动化上下文静默空转(B5) - Evaluate(生产验证8参表达式):本插件内抛异常(v5 实测 errorCode40) 本版在关键步骤埋点,把 _com_error 描述写进报告 msg 字段,定位真实死因。 报告:C:\PieMenuCmd\export_last.json {"errorCode":N,"path":"...","bytes":N,"msg":"..."} 0=成功 40=异常 41=无文档 42=无选中 43=执行完但文件未产出

过滤选中曲线中长度小于阈值的短线
过滤选中曲线中长度小于阈值的短线
源码讲解 / 提示 / 备注
源码讲解

最小线长过滤 — 删除选中曲线中长度小于阈值的曲线 场景:Rhino/DXF 导入后,激光切割需过滤极短线(< 0.5mm 激光无法识别)

提示 / 备注

筛选出长度小于设定值的曲线段;;用户反馈:好像无效,待查;用户反馈:filter 中命令但打不开

选中危险删除重叠线
删除重叠线(请先选中物件)
操作:Smart Panel 设容差,删除完全重叠或高度重合的线条。
源码讲解 / 提示 / 备注
源码讲解

删重线 — 删除选中区域中重叠的线条(位置+尺寸接近判定为重复) 来源:corelvba/整版裁切线.bas → RemoveDuplicates + Check_duplicate 算法:排序(先 Top 再 Left)→ 遍历比较相邻物件位置/尺寸差 < 0.3mm

提示 / 备注

删除重叠线:删掉完全重叠的线段(需先选中)

说明:本页为标准版解锁的二档工具箱命令详解;「参数(源码)」与「源码讲解」直接提取自 CdrPei 实现源码(CDR_PieMenu_CPG/Addons),与插件行为一致;标准版还包含全部免费版功能与命令大全、专项命令面板、配置编辑器等。专业版三档命令见专业版教程(tutorial-pro.html)。
本页由 docs/tools/gen-standard-tutorial.ps1 生成 · 更新于 2026-09-24 · 收录 92 条