专业版解锁三档工具箱,共 228 条命令按 15 组讲解:AI 类 / 生产类 / 本插件独有功能。
每条都标注使用前提、操作步骤、参数默认值与范围、使用提示;源码覆盖 100%——100% 直接溯源到独立实现文件,其余命令亦附源码备注。插件内可用饼菜单 / 工具箱 / 命令大全搜索直达。
AI 功能(本地抠图 / 识字体 / 绘图 / 几何运算)已并入本页对应分组。
AddonManager.h 里也有同一条 inline 声明(第 763 行,供 开发者测试 用)。 这里再写一遍是为了让本头能**单独**过语法闸(不依赖 AddonManager.h 的包含顺序); 同一 inline 函数的重复声明只要签名一致就是合法的。
AI 批处理:把超分/抠图/OCR/去网点/二值化等单图命令批量套用到范围内全部位图,串行执行、逐项失败隔离、可重试,并落 JSON 报告(含每项判据来源)。;P0批次二~九 2026-09-17~18
AI 照片一键换底(本地)
照片一键换底(本地,F13,2026-09-20) 选中位图对象 → 导出 PNG → 本地抠图(默认 MODNet 人像档,可切 U²-Net 通用档) → 抠图结果导回原位 → 垫一个指定底色的矩形 → 与抠图成组 与 AI 人像抠图(MODNet 本地)(纯抠图导回透明背景)的差异: 本命令多"垫底色 + 成组"一步,面向证件照换底(蓝/红/白)与产品图换白底场景。 底色矩形独立成对象,用户后续可随意改色/删底/解散组。 参数(AddonParams,全部可省略;AI 参数定义见 CommandRegistry.csv AI_Params 列): mode : portrait(默认,MODNet 人像档,头发丝干净) | general(U²-Net 通用档,产品图/动物) color : blue(默认,证件照标准蓝 438EDB) | red(D9001B) | white(FFFFFF) rgb : 自定义底色 "R,G,B"(0-255),给了则覆盖 color 前置:对应档位模型已通过「设置 → 模型管理」下载(MODNet ~25MB / U²-Net ~168MB) python312_ocr 对应脚本已就位(首次使用会引导下载模型)
圆孔识别(66号对标清单 §3.3 P1,对标牛为 V2.9.3 圆孔识别模块) 选中一个位图(加工照片/图纸截图)→ OpenCV HoughCircles 识别圆 → 按位图物理尺寸标定 mm/px → 在 CDR 生成真圆对象(供排料/算孔数报价/切割)。 标定:默认自动 = 位图在页面上的实际宽度 / PNG 像素宽(位图按真实尺寸摆放时 即精确标定);mmPerPx 参数可强制覆盖(照片任意摆放时手工标定)。 管线:ExportShapeToPng(ExportEx 可靠管线,见 B5 坑记录)→ LocalImProc::Run("circles")(嵌入式 python + OpenCV,参数经 k=v 命令行)→ stdout JSON 的 circles=[[cx,cy,r]...](px,左上原点) → y 翻转生成 CDR 圆。 参数(AddonParams,AI/队列可传): minRadius / maxRadius : 圆半径筛选 px(maxRadius<=0=短边一半;默认 3 / 0) minDist : 圆心最小间距 px(默认 max(8, 短边2%)) dp : Hough 累加器分辨率比(默认 1.2) param1 / param2 : Canny 高阈 / 圆心累加阈(默认 100 / 20,param…
AI 通用抠图(U²-Net 本地)
本地通用抠图(U²-Net,CPU 推理;F14 换型 2026-09-20) 选中位图对象 → 导出 PNG → 调 python312_ocr/cutout_run.py → 得到原图分辨率的 RGBA PNG(前景 alpha=255,背景 alpha=0) → 删除原位图 → 导入带 alpha 通道的 PNG 用途:通用前景抠图(产品图/动物/杂物),物体类抠图最稳 与 AI 人像抠图(MODNet 本地)(人像专用 MODNet)独立: U²-Net(Apache-2.0,~168MB):通用显著目标分割,物体/动物/人都能抠 MODNet(MIT,~25MB):专为人像,头发丝更干净 ※ 原用的 RMBG-1.4 系 BRIA 非商用许可,2026-09-20 起停止分发(见 LocalCutout.h) 前置:ModelManager 已下载 cutout/u2net.onnx python312_ocr/cutout_run.py 已就位 (首次使用会通过 PieMenu 弹窗引导用户去"模型管理"下载) 与 AICommandDispatcher::ExecuteCutout 的关系: - ExecuteCutout 由 AI 智能体/自然语言命令调用 - 本 Addon 由用户在 PieMenu 面板上点击调用 两…
AI 去网点降噪(本地)
去网点降噪(印刷扫描件网点/纸张颗粒) 场景:印刷品扫描后有网点,直接描摹会炸出碎路径;先降噪再描摹。 后端:improc_run.py denoise(中值滤波,strong 档加非局部均值去噪) TODO:strength 参数(light/medium/strong)后续接 AddonParams 面板滑块
AI 文生图 调用通义万相 API 生成图片,导入到 CDR 文档 参数:prompt (string) — 图片描述 2026-09-17 异步化:云端生成(最坏 180s)在 AI 工作线程执行,主线程只做 完成后的导入 COM。UI 线程全程不再被云端等待占用。 2026-09-18 导入段加固:滤镜按文件魔数显式指定(防无人值守弹导入框卡队列)、 BoostGuard 包裹(关重绘/一步撤销)、导入后落点页面中心+连续生成对角错位防重叠。
prompt:必填 图片描述
几何相交(Clipper2)
几何级矢量布尔(Clipper2 BooleanPaths 挂接,2026-09-16) 与 CDR 原生 合并/修剪/相交 的分工: - 原生命令在曲线自相交(描摹结果/SVG 导入常见)时会产生错误结果甚至失败 - 本命令走 Clipper2:先 Union(NonZero) 清理自相交与重叠,再布尔, 任意朝向输入安全,孔洞由几何包含深度自动判定 流程(不修改原对象): 1. 再制 → 转换为曲线 → 自适应中点加点拉直(弦高 0.05mm, 复用 曲线转多段线(弦高误差0.05mm) 验证过的算法与节点上限) 2. 读子路径节点 → ContourPath(mm),射线法包含深度定孔洞 3. Trace::BooleanPaths → CreateCombinedCurveFromPaths 回写 4. 成功后删除原对象(先建后删,失败路径原图保留) 单选也可用(并集档):纯自相交/重叠清理。
几何级矢量布尔(Clipper2 BooleanPaths 挂接,2026-09-16) 与 CDR 原生 合并/修剪/相交 的分工: - 原生命令在曲线自相交(描摹结果/SVG 导入常见)时会产生错误结果甚至失败 - 本命令走 Clipper2:先 Union(NonZero) 清理自相交与重叠,再布尔, 任意朝向输入安全,孔洞由几何包含深度自动判定 流程(不修改原对象): 1. 再制 → 转换为曲线 → 自适应中点加点拉直(弦高 0.05mm, 复用 曲线转多段线(弦高误差0.05mm) 验证过的算法与节点上限) 2. 读子路径节点 → ContourPath(mm),射线法包含深度定孔洞 3. Trace::BooleanPaths → CreateCombinedCurveFromPaths 回写 4. 成功后删除原对象(先建后删,失败路径原图保留) 单选也可用(并集档):纯自相交/重叠清理。
几何合并(Clipper2 自相交修复)
几何级矢量布尔(Clipper2 BooleanPaths 挂接,2026-09-16) 与 CDR 原生 合并/修剪/相交 的分工: - 原生命令在曲线自相交(描摹结果/SVG 导入常见)时会产生错误结果甚至失败 - 本命令走 Clipper2:先 Union(NonZero) 清理自相交与重叠,再布尔, 任意朝向输入安全,孔洞由几何包含深度自动判定 流程(不修改原对象): 1. 再制 → 转换为曲线 → 自适应中点加点拉直(弦高 0.05mm, 复用 曲线转多段线(弦高误差0.05mm) 验证过的算法与节点上限) 2. 读子路径节点 → ContourPath(mm),射线法包含深度定孔洞 3. Trace::BooleanPaths → CreateCombinedCurveFromPaths 回写 4. 成功后删除原对象(先建后删,失败路径原图保留) 单选也可用(并集档):纯自相交/重叠清理。
几何异或(Clipper2)
几何级矢量布尔(Clipper2 BooleanPaths 挂接,2026-09-16) 与 CDR 原生 合并/修剪/相交 的分工: - 原生命令在曲线自相交(描摹结果/SVG 导入常见)时会产生错误结果甚至失败 - 本命令走 Clipper2:先 Union(NonZero) 清理自相交与重叠,再布尔, 任意朝向输入安全,孔洞由几何包含深度自动判定 流程(不修改原对象): 1. 再制 → 转换为曲线 → 自适应中点加点拉直(弦高 0.05mm, 复用 曲线转多段线(弦高误差0.05mm) 验证过的算法与节点上限) 2. 读子路径节点 → ContourPath(mm),射线法包含深度定孔洞 3. Trace::BooleanPaths → CreateCombinedCurveFromPaths 回写 4. 成功后删除原对象(先建后删,失败路径原图保留) 单选也可用(并集档):纯自相交/重叠清理。
AI 图片找不同(差异高亮)
图片找不同(两版稿差异红色高亮) 场景:印刷厂核对稿——新旧两版 LOGO/包装稿放一起,一键标出修改位置。 用法:按住 Shift 选中两个位图(第 1 个=旧版,第 2 个=新版/高亮底图), 差异结果作为新对象叠在第 2 个位图上,原图保留。 后端:improc_run.py diff(absdiff + 阈值 + 红色叠加,差异占比写回状态栏)
AI 图片 OCR(PaddleOCR 本地)
本地 OCR(PaddleOCR,CPU 推理) 选中位图对象 → 导出 PNG → 调 LocalOCR::Recognize(python312_ocr/ocr_run.py) → 把识别出的文字行作为可编辑 CDR 美术字对象,逐行放置在原图附近 用途:图片中的文字 → CDR 可编辑文字(印前常用:客户发来截图 → 改字) 与 AI 超分(4x 本地)(位图放大)/AI 通用抠图(U²-Net 本地)(前景抠图)/AI 人像抠图(MODNet 本地)(人像抠图)独立 复用 LocalOCR(已完整后端:常驻 server 模式 + 进程回退 + 大图缩放 + 模型缓存) 复用 python312_ocr/(嵌入式 Python 3.12 + paddleocr) 与 AICommandDispatcher 现有 OCR 路径的关系: - 内部 本地识字体/复刻流程 已用 LocalOCR(内部坐标叠加) - 本 Addon 是用户从 PieMenu 面板直接点的入口,结果以 CDR 文字对象形式落到画布 前置:python312_ocr/ 已就绪(python.exe + ocr_run.py + paddleocr 模型)
AI 透视矫正(斜拍拉正)
透视矫正(斜拍标牌/包装盒拉正) 后端:improc_run.py perspective(Canny + 最大四边形拟合 + warpPerspective) 检测不到占画面 10% 以上的四边形时后端报错并原样透传给用户。 TODO:手动四点模式(需交互 UI 取点),后续版本
AI 人像抠图(MODNet 本地)
本地人像抠图(MODNet,CPU 推理) 选中位图对象 → 导出 PNG → 调 python312_ocr/portrait_matting_run.py → 得到原图分辨率的 RGBA PNG(人像 alpha=255,背景 alpha=0) → 删除原位图 → 导入带 alpha 通道的 PNG 用途:人像抠图(证件照、产品人像、头像),头发丝比通用模型(U²-Net)更干净 与 AI 超分(4x 本地)(4x 超分)独立,调用同一嵌入式 python 环境。 未来 AI 通用抠图(U²-Net 本地)(通用抠图)会调用 LocalCutout,本命令独立走 LocalPortraitMatting。 前置:ModelManager 已下载 modnet.onnx python312_ocr/portrait_matting_run.py 已就位 (首次使用会通过 PieMenu 弹窗引导用户去"模型管理"下载)
AI 扫描件一键修复(纠偏·裁边·去黄·增强)
扫描件一键修复(纠偏 + 裁白边 + 去黄 + 对比度增强) 场景:客户手机拍 LOGO、扫描图纸手写稿拍歪/发黄/字淡,一键修复。 后端:improc_run.py scanfix(OpenCV OTSU 角度估计 + 底色增益去黄 + CLAHE)
AI 红色印章提取(本地)
红色印章提取(盖章扫描件 → 透明底印章) 场景:文件盖章扫描后把红章单独抠出做电子章/复用章。 后端:improc_run.py sealcut(HSV 双段红色分割 + 连通域面积过滤: 只保留大面积红色块,扫描件里的小面积红字/红线被过滤) 结果原位替换原位图(非红色区域 alpha=0)。
AI 智能二值化(OTSU 本地)
智能二值化(OTSU 自适应阈值 + 形态学去噪点) 与 位图转黑白(CDR 原生 1 位黑白转换,无参数)互补:本命令保留 8 位输出、 自动阈值适配明暗不均的扫描件,并顺手去掉孤立噪点。 后端:improc_run.py binarize
AI 超分(4x 本地)
本地 AI 超分(Real-ESRGAN 4x,CPU 推理) 选中位图对象 → 导出 PNG → 调 python312_ocr/upscale_run.py → 4x 大图 PNG → 删除原位图 → 导入 4x 图,保持原位置和原大小(位图分辨率提升,原视觉尺寸不变) 用途:低分辨率位图印前放大、模糊图增强、老照片精修 与 AI 通用抠图(U²-Net 本地)(云端优先 + 本地降级)不同,本命令纯本地、零网络。 前置:ModelManager 已下载 realesrgan_x4plus.onnx python312_ocr/upscale_run.py 已就位 (首次使用会通过 PieMenu 弹窗引导用户去"模型管理"下载)
AI 白底快速去底(本地)
白底快速去底(毫秒级,与 U²-Net AI 抠图形成"快/精"两档) 场景:干净白底 LOGO 一键转透明底;四角非白底时后端报错引导改用 AI 通用抠图。 后端:improc_run.py whitecut(四角 floodFill 近白区域 → alpha,边缘 1px 羽化)
本地识字体:用SSIM结构相似度对比CDR本地字库,精准识别选中文字的字体名(离线,秒出)。
本地识字体:识别图片中的字体
AI识字体:AI视觉分析字形特征(分类/粗细/末端/风格)→ 过滤CDR字库 → SSIM排名。比本地版更准,需要联网。
AI识字体:用AI识别图片中的字体
载图识字体(人工对话框版) 使用方法(人工): 1. 饼菜单/FilterBar 执行"载图识字体" 2. 打开图片文件 / 粘贴截图 / 导入文档选区导出图 3. 输入图上那行文字(WhatTheFont 同款约定:候选渲染必须知道字符) 4. 后台识别 → top-5 候选(字体名以候选字体自绘,所见即所得) → 复制字体名 / 应用到文档选中的文字对象 使用方法(AI 无人值守): execute_command("载图识字体", {auto:1, imagePath:"...", text:"奋楫者先"}) → 不弹任何窗口,结构化回执 top-5 + 置信度(AddonReportStatus → .result) 引擎复用(零新增算法): 本地识字体::SegmentCharsByInk / SplitLineIntoChars / IdentifyFontHybrid (v6.20 墨迹切字 + Hybrid 两阶段:NCC 全候选快筛 → 207D 特征 + 面积比精排) 工程红线(源自本仓库踩坑记录): - 图片解码一律 WIC(CoordinateRefiner::WicDecodeToRgb),GDI+ 不进解码路径 (v6.19 c0000374 根因面收敛,docs/55) …
载图识字体:从图片识别字体
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
---------- 全局注册表 ----------
纸盒刀模五合一合并面板(2026-08-24 用户决策) 一个面板选盒型 + 共用参数,分发到 5 个既有刀模生成器: 0=飞机盒(飞机盒刀模) 1=单支盒(单支盒刀模) 2=书型盒(书型盒刀模) 3=RSC纸箱(上下开口纸箱刀模) 4=手提袋(手提袋刀模) 共用参数:内尺寸 L/W/H + 出血 + E楞厚;注入各生成器的 Params() 后调用其 Execute 各单盒型命令保留独立入口,本面板只做收纳与分发,不复制生成逻辑
飞机盒/单支盒/书型盒/RSC纸箱/手提袋 五合一合并面板,分发既有生成器
书型盒刀模(E楞):输入长/宽/高内尺寸,一键生成书型盒(地盒+天盖)展开刀模线(切割线+压痕线+出血)。
书型盒刀模E楞
飞机盒刀模(E楞):输入长/宽/高内尺寸,一键生成飞机盒展开刀模线(切割线+压痕线+出血+插舌+粘口)。
飞机盒刀模E楞
上下开口纸箱刀模(E楞):输入长/宽/高内尺寸,一键生成0201型上下开口纸箱(RSC)展开刀模线(切割线+压痕线+出血+摇盖+粘口)。
上下开口纸箱刀模E楞
单支盒刀模(E楞):输入长/宽/高内尺寸,一键生成单支盒(插底管式盒)展开刀模线(切割线+压痕线+出血+粘口)。
单支盒刀模E楞
手提袋刀模(E楞):输入长/宽/高内尺寸,一键生成手提袋展开刀模线(切割线+压痕线+出血+提手孔+粘口)。
手提袋刀模E楞
模具切割:Z序最上层选中对象为模具切割其余对象。模式0只切重叠(保留剩余形状);模式1全部切割(与模具重叠的下层整件移除)。可选保留模具。
模具切割(面板版)— 最上层(Z序)对象作为模具,切割其余被选对象 竞品对标:Illustrator 形状 Builder (Alt+删除模式) v2 修复(2026-08-24 复审): - 修剪 方向修正:调用者是刀(cutter),参数是被切者;旧版写反导致"下层切模具" - 模具按 ZOrder 取最上层,不再依赖点选顺序 - 不保留模具时操作副本刀,循环内刀永不失效(旧版第一刀后引用即失效) - 模式0=只切重叠(保留下层剩余形状);模式1=全部切割(与模具有重叠的下层整件移除)
模具切割(v2方向修复)
选中对象一键生成精确外轮廓边界作为刀模线。
自研生产工具(Addons\橡皮章刀模.h):橡皮章刀模自动生成。
因此需前置声明才能在此使用,同 各种阵列:集成所有阵列命令.h 的处理)。
刀模中心聚合面板
四角压线(模切分)— 选中物件批量制作四角裁切角线 来源:corelvba/整版裁切线.bas → Batch_CutLines() 实现(2026-08-25,刀模中心方案 §5.4): 对每个选中对象取包围盒 → 外扩出血(默认3mm) → 四角各画 2 条角线 (水平沿顶/底边延长、垂直沿左/右边延长,各长 5mm,宽 0.2mm) 颜色 = CMYK 四色全 100(套准色,四版都出);失败兜底纯黑。 全部角线入一个 ShapeRange 群组并命名「四角压线: N件」。 原 TODO「CreateShapeRange API compatibility with CDR X8」已被推翻: 走刀路径优化 / 飞机盒刀模 在 X8 路径下正常使用同款 API。 v1 参数写死默认值(kDefault*);v2 升级为面板参数(见方案 §7)。
模切分离
圆刀走刀优化 — TSP 贪心走刀路径优化 来源:corelvba/TSP.bas(最近邻贪心算法) 选中多个物件 → 计算中心点 → 贪心最近邻排序 → 按优化路径画线 2026-08-25 激活修复(刀模中心方案 §5.4 勘误): - 原 doc->CreateShapeRange() 不存在(IVGDocument 无此成员), 改为应用级 a->CreateShapeRange()(与 飞机盒刀模 一致) - Outline->SetProperties 不支持单参调用,改走 DieLineUtils::SetOutline 完整签名(同刀模线族统一风格)
圆刀走刀
切割前处理三件套(2026-09-18,RUDTP 竞品缺口补齐) 1) 刀缝补偿 刀缝补偿:按刀缝宽度整体补偿,切出来零件 = 设计尺寸 (外轮廓向内、孔向外;NonZero 朝向自动区分,不用人工判内外) 2) 切割微连接 切割微连接:把闭合刀线在 N 处**真的断开**,零件切完仍连着料 (现有 激光连筋 只是"画连接矩形",激光/雕刻机只有断缝才有效) 3) 引刀出刀 引刀出刀:闭合刀线 → "废料侧进刀 → 绕一周 → 出刀"的开放路径, 起刀点自动取最长直线段中点(CAM 惯例,避免尖角处穿孔压边) 共用链路:原件 → 拉直取轮廓(含孔)→ Clipper2 定点几何 → 回写曲线; 新对象继承原样式;先建后删,失败保留原图。
智拼版 — 选中所有物件,导出四角坐标,计算裁切线路径 来源:corelvba/AutoCutLines.bas + python/Cut_Line_Algorithm.py 算法:取所有选中物件的四角坐标 → 排序去重 → 边界检测 → 移除临近点 → 生成裁切线
正规单页拼版(v3.4 MVP)
拼版工具聚合面板:规划框(生成/清除规划框)、可变数据、拼版(阵列拼版/自研超排/材料利用率/规划面板)、配套工具(裁切线/路径优化/批量导出)、印前检查(预检/字体报告/颜色统计)。
因此需前置声明才能在此使用)。
拼版工具聚合面板
拼版规划面板:Smart Panel 配置成品/纸张/叼口/出血/间隙等参数,生成规划框、计算纸费、导出报告。
拼版规划 Smart Panel 三区参数面板 成品尺寸 / 纸张尺寸 / 叼口出血 / 角线 / 间隙 / 安全框 / 纸张类型 按钮:生成规划框 / 计算纸费 / 生成报告
拼版规划框(最小版):验证 COM 调用(基准框+安全框+信息标签)。
拼版规划框最小版(已提取渲染器)
拼版规划框最小版
清除拼版规划框:删除当前页所有 Name 前缀为 PieMenu_PlanFrame_ 的形状。
清除拼版规划框 删除当前页所有 Name 前缀为 "PieMenu_PlanFrame_" 的形状
清除规划框
仅骑马订做爬移;胶装走导出单页PDF+pdfcpu链路留下轮;拼版
书籍拼版 M0 技术验证探针(一次性,验证后归档) 目的:书籍拼版唯一的空白点是"源页内容 → 拼版版面"的搬运通道。 本探针自建 12 页样稿(用户文档零接触),对两条通道实测取证: 通道 A(剪贴板跨文档):pg.Shapes.All() → CreateSelection+复制 → 新文档 ActiveLayer.粘贴 → Move 落位 通道 B(再制 副本内搬移):doc.再制() 整册内存复制 → ShapeRange.MoveToLayer(目标页图层) → Move/Rotate → DeletePages 删原页(全程无剪贴板、无跨文档) 类型库已确认的 API:IVGDocument::再制/DeletePages/AddPages、 IVGShapeRange::MoveToLayer/CopyToLayer/复制/Rotate/Move、IVGLayer::粘贴。 报告:C:\PieMenu_BookProbe_Report.txt(UTF-8 BOM) 结论回填《书籍拼版-开发方案》M0 章节后,此文件与登记一并归档。
报告落盘 C:\PieMenu_BookProbe_Report.txt;拼版M0探针
AI 复刻修复真机验证探针(一次性,验证后归档) ⚠️ 归档状态勘误(2026-09-19 第八轮落地):原注释称「已从 AddonManager.h 的 g_AllAddons[] 与 CommandRegistry.csv 移除,不再参与编译/注册」——与事实不符。 实况:本文件仍被 Addons/AddonManager.h include,g_Addon_ReplicateProbe 仍在 g_AllAddons[] 注册,CSV row771(319042000,AI复刻探针)仍存在(现已改 exe=no 移出 AI 面)。探针属一次性真机验证工具(2026-08-27 23:5x 渲染器电池 12/12 通过,全链路 4 图实测发现并修复 2 个真 bug),正式部署面不应暴露; 如需复测请临时恢复注册,勿在无人值守链路触发。 背景(2026-08-27):复刻链路 P0/P1/P2/P3 一批修复(按名清理/偏移显式标志/ 幂等 Build/描边 none/字号下限/多边形夹紧/孔洞节点守卫/诚实返回)已过代码 审查但缺真机实测。本探针两个动作直驱生产代码,不经过任何 AI/云端: case=render 渲染器单元级电池(临时文档内构造 ReplicationResult 直调 AIReplicator::Build…
阶段二完成后二次移除;复刻探针
PanelManager::RegisterCustomPanel(L"订制专排")
自研超排 面板布局(从上到下): [省料] [优先顺序] — 排料模式 板材方向 [横向] [纵向] — 板材方向 板材宽度 (mm) / 板材高度 (mm) — 双输入并排 工件间距 (mm) / 板材留边 (mm) — 双输入并排 [✓] 允许旋转 — 默认勾选(凸包边对齐任意角) [✓] 允许镜像 — 默认不勾选(水平翻转) [✓] 颜色分区 — 默认勾选(按填充色分组) 速度 [快] [中] [慢] — 2000/10000/50000 迭代 [开始排料] — 按钮 Phase 1(主线程):收集形状 → NormalizeBestPose → BuildMirrorProfile → BuildManualOrder(省料)/ 原始顺序(优先顺序) Phase 2(子线程):RunOptimized(省料)/ RunBLFWithOrder(优先顺序) Phase 3(主线程):统一 Move + RotateEx 应用 + 利用率报告
排料自检(2026-09-18) 排完料/拼完版后一键体检,回答三个问题: 1. 有没有零件互相重叠(交面积 > 容差) 2. 有没有零件间距小于工艺要求(激光/刀模通常要求 ≥1~3mm) 3. 有没有零件超出板材(可选:以当前页面为板材) 几何用 Clipper2 真实轮廓(不是包围盒):重叠面积精确到 mm², 间距用"外扩探测"二分命中,结果与人工卡尺一致。 性能:先用包围盒粗筛,只有靠近的零件对才走 Clipper 运算, 几百个零件的版也能秒级出结果。 参数:minGap(mm) / usePage(0|1 以页面为板材) / maxReport(报告条数上限)
拼版利用率 — 计算选中形状的拼版材料利用率 2026-09-18 修正(原实现用 CDR 的 Curve.Area,带孔零件会把孔的面积算进材料): - 面积改为 Clipper2 真实轮廓有符号面积:外轮廓相加、孔相减 → 环形件(100×100 带 60×60 孔)不再被高估; - 板材可选「选区包围盒」或「当前页面」,页面模式额外报告越界零件数; - 无闭合轮廓的对象(文本/位图)退回包围盒面积,并在报告里单独列出数量, 避免"利用率虚高"看不出是哪来的。 参数(AI/队列可直传):sheet:int 0=选区包围盒 1=当前页面
整版裁切线:对选中形状生成蛇形裁切走线(横线/竖线/横竖),支持线间距、延长量、目标图层。
整版裁切线生成(Smart Panel 面板版) 对选中形状(任意类型)生成蛇形整版裁切线。 算法:Trace/CutLineGenerator.h(纯计算子线程) 渲染:主线程 COM,结果画到"刀线层"(可改目标图层名)。 对标:eCut 巡边刻字 + 印刷厂整版裁切习惯
整版裁切线面板
切割前处理三件套(2026-09-18,RUDTP 竞品缺口补齐) 1) 刀缝补偿 刀缝补偿:按刀缝宽度整体补偿,切出来零件 = 设计尺寸 (外轮廓向内、孔向外;NonZero 朝向自动区分,不用人工判内外) 2) 切割微连接 切割微连接:把闭合刀线在 N 处**真的断开**,零件切完仍连着料 (现有 激光连筋 只是"画连接矩形",激光/雕刻机只有断缝才有效) 3) 引刀出刀 引刀出刀:闭合刀线 → "废料侧进刀 → 绕一周 → 出刀"的开放路径, 起刀点自动取最长直线段中点(CAM 惯例,避免尖角处穿孔压边) 共用链路:原件 → 拉直取轮廓(含孔)→ Clipper2 定点几何 → 回写曲线; 新对象继承原样式;先建后删,失败保留原图。
切割前处理三件套(2026-09-18,RUDTP 竞品缺口补齐) 1) 刀缝补偿 刀缝补偿:按刀缝宽度整体补偿,切出来零件 = 设计尺寸 (外轮廓向内、孔向外;NonZero 朝向自动区分,不用人工判内外) 2) 切割微连接 切割微连接:把闭合刀线在 N 处**真的断开**,零件切完仍连着料 (现有 激光连筋 只是"画连接矩形",激光/雕刻机只有断缝才有效) 3) 引刀出刀 引刀出刀:闭合刀线 → "废料侧进刀 → 绕一周 → 出刀"的开放路径, 起刀点自动取最长直线段中点(CAM 惯例,避免尖角处穿孔压边) 共用链路:原件 → 拉直取轮廓(含孔)→ Clipper2 定点几何 → 回写曲线; 新对象继承原样式;先建后删,失败保留原图。
路径优化排序(对标 eCut Route Optimizer) 四个排序规则: 0. 按颜色:相同填充色相邻排列(对应 eCut Separate by color) → 同色=同刀具/同参数,一次装刀切完,避免频繁换刀 1. 内部→外部:先切内部(几何嵌套深度大的),再切外部 → 防止外框先切导致内部件脱落移位 2. 父→子:先切外层(深度小的),再切内层 3. 最近(Nearest):贪心最近邻,从起点开始每次选最近的下一个 → 空走距离最小化,加工时间省 20~50% 4. 蛇形网格(Serpentine,2026-09-18 新增):按 Y 行聚类,行内按 X 排序, 奇数行反向(ёлочка / boustrophedon) → 走完一行正好落在下一行起点,阵列/网格/标签排版零空走 → 对标 RUDTP「ZigZag 网格切割」的走刀顺序要求 - 重排 Z 序(把排序结果反映到对象层级顺序) - 接缝收刀/过切(2026-09-18):排序后对每条闭合曲线做一次收刀, 一条命令同时完成"排序 + 过切",对应刻字机/切割机的工艺需求 输出:顺序报告(编号 + 对象信息) - 包含关系用包围盒判定(几何嵌套深度) - 深度 = 被多少个形状的包围盒完全包含
分件三件套(三角剖分 / 凸多边形分解 / 绳切开缝) 2026-09-18 新增(对标 RUDTP / fersat "Smart Depart" 的缺口功能: 三角剖分、凸分解、带孔多边形为"绳切/线切"做让刀准备)。 1) 三角剖分 三角剖分 闭合轮廓 → Clipper2 Delaunay 三角剖分(clipper.triangulation) → 每片独立三角形成组。用途:激光/CNC 分件、网格肌理、 3D/贴图工作流、把复杂件拆成可加工的小片。 2) 凸多边形分解 凸多边形分解 先三角剖分,再跑 Hertel–Mehlhorn(逐个删除"非必要对角线", 只要合并后仍是凸的就合并)→ 凸块数 ≤ 4×最优。 用途:避免内凹造成的刀具干涉、绳切/线切的直线段加工、 以及"每个凸块单独排料"。 3) 绳切开缝 绳切开缝 对带孔轮廓:从每个孔到外轮廓拉一条 width 宽的开缝并挖除 → 一根丝/刀可以从外面穿进去,直接加工内孔。 用途:泡沫/海绵/亚克力绳切、线切割、热丝切割。 注意:Clipper2 的 Triangulate 不接受自相交路径,故先 Union(NonZero) 清理; 所有坐标按 1/1000mm 定点,尺度无关。
异形出血·巡边转图框(66号对标清单 §3.5 P1) 对标牛为 V3.1.3"直接快速巡边位图并转入 PowerClip,实现批量异形出血"。 矩形出血(放大/镜像贴边)已由 出血批量生成(319028000) 覆盖,本命令补齐 异形路径:沿位图内容巡边 → 轮廓转 PowerClip 图框 → 位图放大 bleed 置入, 裁切沿轮廓走、图案越界 bleed——激光/刻字异形件无白边。 ⚠️ 导出走 ExportHelper::ExportSelectionAsPng(CreateStructExportOptions+ ExportEx+Finish 可靠管线),不走 TraceEngine::Run——其内部 BitmapExporter:: ExportFromShape 直调 ExportBitmap,属 X8 自动化上下文已知空转/失败路径 (项目 B5 坑,导出PNG.h 头注;2026-09-20 真机实测 E_FAIL)。 本命令导出后自填 ExportedBitmap,走 TraceEngine::RunFromBitmap 纯计算。 单个位图的处理: 1. 仅选中该位图 → ExportSelectionAsPng 透明 PNG(300dpi) 2. GDI+ 载入 → ExportedBit…
印前预检:扫描文档生成问题清单(RGB/未转曲文字/专色/四色黑/低分辨率位图等),支持右键一键修复。
自研生产工具(Addons\PreflightAddon.h):印前预检——逐对象检查输出风险并出问题清单(支持双击定位/右键修复,见功能索引)。
出血批量生成
叠印陷印
叠印陷印(叠印陷印)— 魔镜生产模块 #2,方案 §6.2 P5 功能(两种模式): 1. 批量设叠印:选中对象一键开/关叠印填充、叠印轮廓 2. 陷印(爆肥):选中对象轮廓外扩微小宽度 + 设置叠印,用于印刷补漏白 增强点(对齐魔镜 BUG,都是魔镜短板): - 过滤透明对象:检测 sh->GetTransparency(),透明对象跳过并提示 - 过滤 RGB 对象:检测填充/轮廓色模式(Type==cdrColorRGB),提示并可跳过 - 复合路径(多子路径)爆肥易出错 → 提示降级 参数(AddonParams,AI/队列可传): mode : 0=仅设叠印(默认) 1=爆肥陷印 fill : 1=叠印填充(默认1) outline : 1=叠印轮廓(默认0) cmykOnly : 1=仅处理CMYK对象(默认1),RGB跳过并报告 trap : 爆肥量 mm(默认0.15,仅 mode=1 生效) silent : AI 静默执行
安全线
安全线(出血框 + 裁切线框 + 安全边距框) 对标魔镜「安全线」,印前高频刚需,方案 §3.2 P1 功能:在当前页面输出 3 个矩形框(套合关系,不同线型区分): 1. 裁切线框 = 成品尺寸(页面尺寸) 2. 出血框 = 成品外扩出血(实线) 3. 安全边距框 = 成品内缩安全边距(虚线) 4. 出血框(点线) = 可选项,用出血框加粗/点线区分层次 输出到指定图层并群组命名「安全线: W×H mm」,便于整体删除/隐藏。 增强点(超越魔镜): - 自动读取当前页面尺寸作为成品基准,无需手动输入成品宽高。 - 面板 + AddonParams 双通道:交互弹面板,AI/队列可 silent 直执行。 参数(AddonParams,AI/队列可传,未传用面板默认值): bleed : 出血值 mm(默认 3.0) margin : 安全边距 mm(默认 5.0) guides : 1=放入辅助线图层(默认 0) printable : 1=图层可打印(默认 0,安全线一般不打印) color : 0黑 / 1红 / 2蓝 / 3品红(默认 0)
基准角线(基准角线)— 对标牛为"基准角线"模块(《66-牛为功能对标与缺口清单》§3.1,P0) 印刷/激光加工前,在版面(选区或页面的外接框)周围生成基准标记: corner — 四角 L 形角规线(角点外移 offset 间隙,两段直角边各 len) hline — 水平中线(超出外接框 ext) vline — 垂直中线(超出外接框 ext) cross — 十字中心线(hline + vline) well — 井字线(三等分线:2 竖 + 2 横,构图/分区基准) 基准区域:scope=sel 取当前选区外接框(默认);scope=page 取当前页面。 全部画在当前图层(激光切割场景标记必须随加工文件输出,不能落辅助线层)。 参数(AddonParams,AI/队列可传): mode : "corner"(默认)/"hline"/"vline"/"cross"/"well" scope : "sel"(默认)/"page" offset : corner 模式,角线与外接框的间隙 mm(默认 3) len : corner 模式,角线直角边长 mm(默认 5) ext : 中线类模式,超出外接框的延伸 mm(默认 3) group : 1(默认,全部标记群组为一个对象) | 0 几何全部为纯函数(BuildSegments),便于离线断言回归。
节点工艺小项(方案 #7 释放孔标记 / #18 检测重叠 / #20 巡边打点) 应力释放孔标记 :尖角拐角处插入一对标记节点(不改几何,供后续释放孔) 检测重叠节点(重合/过近对):检测重合/过近节点对并选中(相邻重合 + 开放端点重合) 巡边打点 :巡边等步长打点 + 拐角强制加节点(GetPeaks,走 #6 判定)
应力释放孔标记(节点方案补充登记)
专色匹配的执行类命令(面板替换按钮的延迟执行目标) 也可直接从饼菜单调用。 专色匹配拾取 拾取+匹配,弹窗报告 top3 替换为匹配结果1..3 替换选中对象填充为会话结果 #n 批量替换Top1专色 批量:全部选中对象填充替换为 Top1 文档修改均包 BeginCommandGroup;成功静默(撤销可回退), 失败/边界情况弹窗说明。
拾取颜色→ΔE2000匹配→弹窗报告前三;拾取+匹配报告;需先导入色库CSV
专色匹配的执行类命令(面板替换按钮的延迟执行目标) 也可直接从饼菜单调用。 专色匹配拾取 拾取+匹配,弹窗报告 top3 替换为匹配结果1..3 替换选中对象填充为会话结果 #n 批量替换Top1专色 批量:全部选中对象填充替换为 Top1 文档修改均包 BeginCommandGroup;成功静默(撤销可回退), 失败/边界情况弹窗说明。
替换填充为目标专色一次撤销可回退;依赖专色匹配拾取的会话结果
专色匹配的执行类命令(面板替换按钮的延迟执行目标) 也可直接从饼菜单调用。 专色匹配拾取 拾取+匹配,弹窗报告 top3 替换为匹配结果1..3 替换选中对象填充为会话结果 #n 批量替换Top1专色 批量:全部选中对象填充替换为 Top1 文档修改均包 BeginCommandGroup;成功静默(撤销可回退), 失败/边界情况弹窗说明。
替换填充为目标专色一次撤销可回退;依赖专色匹配拾取的会话结果
专色匹配的执行类命令(面板替换按钮的延迟执行目标) 也可直接从饼菜单调用。 专色匹配拾取 拾取+匹配,弹窗报告 top3 替换为匹配结果1..3 替换选中对象填充为会话结果 #n 批量替换Top1专色 批量:全部选中对象填充替换为 Top1 文档修改均包 BeginCommandGroup;成功静默(撤销可回退), 失败/边界情况弹窗说明。
替换填充为目标专色一次撤销可回退;依赖专色匹配拾取的会话结果
专色匹配的执行类命令(面板替换按钮的延迟执行目标) 也可直接从饼菜单调用。 专色匹配拾取 拾取+匹配,弹窗报告 top3 替换为匹配结果1..3 替换选中对象填充为会话结果 #n 批量替换Top1专色 批量:全部选中对象填充替换为 Top1 文档修改均包 BeginCommandGroup;成功静默(撤销可回退), 失败/边界情况弹窗说明。
批量把选中对象填充替换为最接近的专色;未拾取时自动先执行拾取
专色匹配面板(潘通/HKS/DIC 通用,色库用户导入) ① 拾取与匹配:拾取选中对象颜色并匹配 top3 三行结果 + 各自【替换填充】按钮(文档修改走 WM_PIE_LAZY_EXEC 延迟执行, 避免在 BN_CLICKED 栈内改文档——沿用 拼版工具 2026-08-15 修复结论) ② 批量与色库:批量替换 Top1 / 导入 CSV / 重载 版权姿态:本插件不携带任何色卡数据;"PANTONE"等名称仅作为 用户导入数据的内容出现。Pantone 为 Pantone LLC 商标。
打开专色匹配悬浮面板;PanelManager::RegisterCustomPanel(L""专色匹配面板"")
条码/二维码生成器 支持:QR Code、EAN-13/8、UPC-A/E、Code 128/39、Codabar、Data Matrix、 ITF-14、EAN-128/GS1-128、PDF-417 渲染:EAN 家族手工 GS1 标准渲染;其余由 zxing-cpp 生成位图矩阵后矢量化 统一:OCR-B 可读文本(转曲)、生成后自动群组并命名为“类型: 内容” 界面:Win32 模态对话框(参考 FilterBarDialogs.h)
生成条码;原ID 319003000 与 橡皮章刀模 冲突,已改
条码识别回读("编辑条码") 流程:选中条码对象 → ExportBitmap 导出高分辨率 PNG → GDI+ 读入内存 → ImageView(RGBA) → zxing ReadBarcode → 解码文本
2026-09-17 新增:选中条码对象解码内容
批量生成条码/二维码("批量生成条码") 数据源:CSV / TSV / TXT(逗号、分号、Tab 自动识别)或 XLSX/XLSM(OpenXLSX) 逐行读取某一列内容,按指定类型生成矢量条码,网格排布到活动图层。 2026-09-18 P1: 1. 数据源统一走 VDP 的 ExcelDataSource(xlsx/xls/csv 一个管道:自定义补零 格式、日期、GBK/UTF-8/UTF-16 编码与可变数据完全一致);读取失败才退回 本文件的旧读取器兜底。 2. verify=1 首件回读校验:第一个成品导出后重新解码,与原始数据比对, 拦截系统性错误(类型选错/编码坏档/中文乱码);不一致时整批报告失败。 参数(AI 无人值守用): src : string —— 数据源文件绝对路径(auto 必填;人类点击弹文件框) type : string —— QRCode|EAN13|EAN8|UPCA|UPCE|ITF14|EAN128|GS1128|Code128|Code39|Codabar|DataMatrix|PDF417|Aztec|DataBar(默认 QRCode) col : string —— 内容所在列,A/B/C… 或 1/2/3…(默认 A) skip : number —— 跳过的表头行数(默认 1) rows :…
2026-09-17 新增:CSV/XLSX 数据源批量生成
位图条码/二维码 → 矢量重绘("位图条码转矢量") 流程:选中位图条码 → zxing 解码(含格式)→ 按原码制矢量重绘 → 原尺寸还原 → 解码回读比对 → 默认保留原位图(replaceoriginal=1 才删除) 2026-09-18 P1 契约修订(登记说明的"部分一维码转 Code128 且不保证原尺寸"已解决): 1. 原码制保持:EAN-8/13、UPC-A/E、ITF-14、Code39、Codabar、DataBar、 Code128/GS1-128、QR/DataMatrix/Aztec/PDF417 全部按原码制重绘 (EAN-13 走 GS1 严格手工 pattern)。仅 DataBarExpanded 回退 GS1-128 (数据一致、码制不同,状态栏明确提示);MaxiCode 等不支持则拒绝重绘, 原图保留,绝不静默换码制。 2. 原尺寸还原:重绘后按原位图外框等比缩放并回中(矢量无损)。keepsize=0 关闭。 3. 默认保留原图:verify 回读一致且 replaceoriginal=1 时才删除原位图; 重绘失败/回读不一致时原图与矢量都保留并明确报告。 4. 回读校验(verify=1 默认开):重绘结果导出后再次 zxing 解码,与原始数据 规范化比对(剥离 ]C1/]e0 等码制标识、GS…
2026-09-17 新增:位图条码解码后重绘为矢量
条码转曲("条码转曲") 需求来源:功能市场普遍提供「条码/二维码转曲」能力(纯矢量、不可再编辑文字)。 实现:套壳复用超级转曲 v2(AddonSmartConvertToCurvesV2),它对群组/文本/特效 有完善的预处理与补偿策略,条码系纯矢量+OCR 文本,转曲安全。 用法:先选中条码/二维码对象(可多个),调用本命令。
2026-09-17 新增:套壳超级转曲 v2
可变数据:批量生成带变量内容的对象
可变数据长驻面板:导入Excel或生成序列号→生成蓝色占位框→批量生成一页一件;占位可移动/旋转/改字体。
可变数据
独立可变数据命令:导入Excel或内置序列号,生成占位框后批量生成一页一件的多页文档。
独立可变数据命令(正式版入口) 它是一个独立、专属的“可变数据”命令,命令名 可变数据(独立)(与 AI 参数测试 AI 参数测试、拼版 阵列拼版 完全无关),专门用来: 1. 选择数据源(Excel/CSV 导入 或 内置序列号生成器) 2. 在当前页面生成占位框(蓝色虚线框,作为批量模板) 3. 确认后批量生成“一页一件”的多页文档 相比 Addons/VariableDataAddon.h(保留为兼容/历史入口),本命令使用正式 交互文案,不再出现“Phase 3 测试入口”等调试字样,避免与测试命令混淆。 占位框生成后,如需逐项编辑占位框参数(文本/图片/条码),可使用配套命令 编辑占位框(选中占用框后触发)。
可变数据
统一批量输出中心(P0-3,2026-09-18) 一个入口覆盖生产导出的全部口径: 范围 scope selection(选区整份) / page(当前页) / all(每页一份) / group(选区按连通簇分文件,同 按组批量导出 规则) / layer(当前页逐图层分文件;隐藏图层不导出并如实记录) 预设 preset print_pdf(印刷PDF) / preview(客户预览PNG) / ecommerce(电商图片JPG) / cut(切割文件DXF+SVG) 命名 pattern {doc}/{page}/{name}/{index} 模板,各范围有默认值 控制 formats/dpi/transparent 覆盖预设值;overwrite=yes|no; retry=1 重跑时只补缺失/无效文件(失败项重试) 任务清单 <folder>\output_manifest.csv(逐项状态,逐项刷新可监视进度) 与 output_manifest.json(汇总+校验结果),AI/人工都可核对 交付校验 文件非空落盘(ExportAtomically)+ 位图头解析实际像素; PDF 只验 %PDF 头 —— PDF/X 等规范符合性【未检查】, 清单如实记 "unchecked",不得宣称支持 取消口…
P0批次九补登记 2026-09-18
交付流水线(P0-2,2026-09-18) 把已有的 预检/修复/转曲/导出 模块串成一条流程,不是新面板: 选择工艺规范 → 扫描 → 按规范定级 → 确认修复 → 复检 → 另存交付副本 → 导出 → JSON 报告 关键约定(对应用户 P0-2 的硬性要求): - 检测器只找问题;算不算错误由工艺规范(DeliverySpec)定级,不把 RGB/专色/ 未转曲文字一律判错。 - 人工面板与 AI 共用同一检查核心:ScanSync 写 m_issues,预检面板的问题列表 与流水线报告看到同一份数据。 - 修复后必须复检(再次 ScanSync),按"前后各类问题计数差"如实报告, 不是只报"执行成功"。 - 原稿默认保留:修复后的内容另存为 *_交付_时间戳.cdr 副本,导出从副本出; 磁盘上的原文件不动。 - 报告区分 错误/警告/不判(advisory)/未检查项(CollectStats 覆盖度)。 - 扫描覆盖 PowerClip 内部与群组递归;跳过/无法检查的对象数量进报告。 参数(AddonParams): spec : 工艺规范名,默认"胶印标准交付";可选见 DeliverySpec::NamesList() scope : page|all 默认 page mode : scan|fix|full 默认 sca…
P0批次九补登记 2026-09-18
五步工艺链面板(2026-08-25 工艺链方案一期落地) 固定串行工艺链:①矢量描边 → ②点阵打点 → ③裁切线生成 → ④应力孔标记 → ⑤路径优化 设计要点: - 单一 Smart Panel 内嵌全部工序参数,按【工艺步骤】下拉切换显示(无独立弹窗); - 强制串行:上游未完成(或跳过)时下游禁止执行; - 数据递进:每步输出固化到约定图层(见 ProcessChainState.h), 重跑某步自动级联清空下游全部数据; - 双模式:【执行本步】分步精调 + 【一键工艺生成】全链贯通; - 场景适配:激光切割全工序 / UV打印·激光雕刻自动跳过③④; - 底层算法零改动:描边复用 TraceEngine/矢量轮廓图,打点/应力孔复用 NodeCraftTools(经 AddonParams 栈传参),裁切线复用 CutLineGenerator, 排序复用 路径优化排序::CollectAndSort。
五步工艺链面板(串行联动)
自研超级转曲:智能识别特效/加粗/段落/PowerClip/透镜/专色,分类策略+位图兜底+专色保护+复盘校验,支持转曲和还原两种模式。
自研超级转曲 v2.0 — 解决CDR转曲六大畸形BUG + 边界问题 核心差异化:预处理扫描→快照备份→分类策略→补偿矫正→复盘校验 解决的痛点: 1. 特效文字(阴影/渐变/透明/透镜/艺术笔)转曲塌陷→位图兜底 2. 加粗模拟文字转曲后尺寸漂移→旋转矩阵感知的坐标补偿 3. PowerClip内部文字坐标系错乱→取出世界坐标处理 4. 段落文本转曲后行距错乱、字符丢失→行距校正+字符校验 5. 专色文字位图兜底风险→检测+弹窗确认 6. 异常对象无感知→一键跳转定位
超级巡边面板:透明PNG/白底图一键巡边,生成刀线轮廓。
超级巡边 Smart Panel 自定义面板 对选中位图执行 Alpha / 阈值巡边,生成刀线轮廓。
打开超级巡边面板
矢量巡边面板:对选中矢量对象生成偏移巡边线(刀线),支持向外/向内偏移、线宽/颜色、尖角处理、节点精简与路径清理。
矢量巡边 Smart Panel 自定义面板 对选中矢量对象生成偏移巡边线(刀线): - 巡边偏移(向外/向内,默认 0 = 沿原轮廓) - 巡边线颜色 / 线宽 - 尖角处理:尖角延伸 / 圆角 / 斜切 - 轮廓平滑:减少多余节点 - 保留内孔轮廓(默认开) - 路径清理:去除碎路径 / 自相交 / 开放曲线 / 零长段 核心:IVGCurve::轮廓图(offset, dir, cap, cornerType, miterLimit)
打开矢量巡边面板
节点工艺小项(方案 #7 释放孔标记 / #18 检测重叠 / #20 巡边打点) 应力释放孔标记 :尖角拐角处插入一对标记节点(不改几何,供后续释放孔) 检测重叠节点(重合/过近对):检测重合/过近节点对并选中(相邻重合 + 开放端点重合) 巡边打点 :巡边等步长打点 + 拐角强制加节点(GetPeaks,走 #6 判定)
巡边打点(节点方案补充登记)
Tier3_Prod
不锈钢发光字:选中字形一键生成面板外扩/围边开槽/底板内缩生产文件(切割线+折弯线+开槽线+防撕裂孔),输出到独立图层。
自研生产流水线(Addons\不锈钢发光字.h):发光字全套生产文件——面板外扩/围边开槽/底板内缩/切割线/折弯线/开槽线/防撕裂孔。
智能差集:第一个选中对象为基体被挖除,其余对象依次作为挖除工具;与智能修剪方向相反(那个是第一个当刀);可选保留工具/原对象。
智能差集 — 第一个选中对象为「被减数」,其余对象为「减去工具」依次挖除 ⚠ 与 智能修剪 方向相反:智能修剪 是第一个对象当刀剪别人; 本命令是第一个对象当基体被别人挖。 引擎:逐工具 修剪 基体取余量(刀配 LeaveSource 可常驻), bbox 预过滤跳过不相干工具;开放曲线工具无法参与布尔,自动跳过并汇报。 可选项:保留减去工具 / 保留原对象(副本方式,无中间产物堆积)。
智能差集(P0扩充)
智能分割:第一个选中对象为基体,其余为切割刀,把基体切成互不重叠碎片全部保留(对标AI路径查找器·分割);开放曲线刀自动跳过;可选保留切割物。
智能分割 — 对标 AI Pathfinder「分割」(Divide) 第一个选中对象为基体,其余对象为切割刀;把基体沿所有刀切成互不重叠的 碎片,全部保留,不删除任何部分。 引擎:迭代式碎片细分。每把刀对既有碎片逐个做 余量 = 刀.修剪(碎片) (碎片 − 刀) 切片 = 刀.相交(碎片副本) (碎片 ∩ 刀) 副本法保证刀在整轮运算中常驻(LeaveSource=TRUE)。 开放曲线刀无法参与布尔,自动跳过并汇报。
智能分割(P0扩充)
拓扑拆解三合一面板:提取外框(只留最大轮廓)/提取内孔(留全部孔洞)/完整拆解(全部独立);拆分保证闭合属性不丢失、z序稳定。
拓扑拆解面板(三合一)— 提取外框 / 提取内孔 / 完整拆解 复合路径(外框+孔洞)基于 BreakApartEx 拆成独立子路径形状, 按面积排序区分外框与孔洞,按模式决定保留哪部分。 与原生「拆分」的区别:闭合属性不丢失、z 序稳定、批量处理、结果回选。 模式0 = 提取外框(只留最大轮廓,其余删除)——对标 AI Pathfinder 轮廓外扩 模式1 = 提取内孔(删最大外框,保留全部孔洞为独立对象) 模式2 = 完整拆解(外框与孔洞全部独立保留)
拓扑拆解(P0扩充)
路径清理:删除重复节点、移除短碎段、合并直线共线节点、闭合微小开口;容差可调,批量多选;PDF/AI导入修复利器。
AI_Params: tolerance:double:0.01-10:mm 智能路径清理 — PDF/AI 导入路径修复 一键清理选中路径:删除重复节点、移除短碎段、合并直线共线节点、闭合微小开口。 支持批量多选;容差可调(mm)。 实现:逐子路径多轮「快照→标记→提交」扫描(删除节点后重新取快照, 规避集合索引失效);共线判定只作用于直线段夹角(贝塞尔邻角不动, 防止把曲线形状削直);微开口直接置 SubPath.Closed 连接。
路径清理(P0扩充)
智能自相交修复:检测并修复闭合曲线内部自交环。模式0裁剪自相交(焊接自体输出干净轮廓);模式1拆分自相交碎片(独立闭合环各自成对象)。借Corel布尔引擎消化交叉环,PDF/AI导入修复利器;引擎失败的极端病态曲线保留原对象并汇报。
智能自相交修复 — PDF/AI 导入重灾区工具 原理:借 Corel 布尔引擎消化自交环——对象与自己的一份副本做 合并, 引擎重建边界时按封闭区域解释,交叉环被消除,输出干净轮廓。 模式0 裁剪自相交:焊接自体得到单一修复形状(替换原对象) 模式1 拆分自相交碎片:修复后再 BreakApartEx,把独立闭合环拆为多个对象 说明:布尔引擎对极端病态曲线也可能失败(异常时保留原对象并计数); 开放路径无自交意义,自动跳过。
自交修复(P1扩充)
智能偏移面板:批量内外扩缩边(刀模扩边/模切补偿);借原生轮廓特效实现,尖角/圆角样式可选,距离可调;原始对象保持不动,结果自动回选。开放路径跳过,向内偏移无结果时汇报。
智能偏移面板 — 刀模扩缩边/模切补偿 借力 Corel 原生轮廓特效:对副本 CreateContour(1步, 距离D, 内/外向, 尖角/圆角) → Separate 分离 → 按面积识别保留偏移轮廓,其余清理。 原始对象保持不动;支持批量多选闭合曲线。 说明:偏移结果可能是群组(带孔洞复合形),保持原样返回; 向内偏移量过大导致无结果时跳过并汇报。开放路径自动跳过。
智能偏移(P1扩充)
尖角限幅修复:针对偏移/焊接产生的超长爆尖,转角小于角度阈值且邻边超过最小尖长即认定为尖刺,自动切平或圆角限幅;原始曲线保留;共边钳制防重叠。
AI_Params: angleDeg:double:1-45:deg; minLeg:double:0.5-999:mm 尖角限幅修复 — 偏移/焊接产生的超长尖刺(miter 爆尖) 判定:拐角转角极小(< 角度阈值,默认 15°)且两条邻边足够长 (≥ 最小尖长)→ 认定为尖刺。修复 = 在距尖点两侧各 min(两邻边)/2 处 切断连线(切平)或倒圆角(圆角半径按切点距离反推),原始曲线保留。 与全切角的区别:全切角跳过小角度;本工具只处理小角度尖刺, 切深自动按邻边比例计算,共边钳制引擎与单位时序同 v2。
尖角限幅(P1扩充)
共线合并:把同一条直线上分散的碎线段(平行+法向偏差在容差内+首尾可衔接)合并为一条全长直线,删除原碎段;PDF导入一条直线拆成几十段的修复利器;只处理开放单段直线候选。
AI_Params: tolerance:double:0.01-5:mm 共线合并 — PDF 导入一条直线被拆成几十段的修复工具 在选中对象中找出所有「开放单段直线」形状,把落在同一条直线上 (平行 + 偏移在容差内)且首尾可衔接(间隙 ≤ 容差)的段聚成一簇, 每簇合并为一条覆盖全长的单一直线,删除原碎段。 判定:方向平行(|sinθ| < 1e-4)且法向偏移 ≤ 容差;投影区间重叠或 间隙 ≤ 容差即并入同簇。只处理「开放+2节点+直线段」的候选, 其它对象原样保留。
共线合并(P1扩充)
全切角:遍历选区所有含曲线对象,对直线段夹角一次性等距斜切切角;短边共边钳制防重叠;原始曲线保留。与全圆角成对。
AI_Params: distance:double:0.1-999:mm;scope:int:1-2 全切角 — 与 全圆角 成对(一个圆角一个斜切) 对多段直线的所有锐角一次性做等距斜切切角,生成独立切角线段(原始曲线保留) 复用 全圆角 v2 引擎:拐角遍历 + 共边钳制 + 直线段过滤 + 单位时序(先切 mm 再读节点、结束复原)+ 多选遍历。 差异:切点连线为直线段(非圆弧),切点距离 = 给定距离本身(无 tanHalf 系数)。
全切角(P0扩充)
全圆角:遍历选区所有含曲线对象,对直线段夹角一次性倒圆角(R半径);共边钳制防弧线重叠,真圆弧三次逼近;原始曲线保留。
AI_Params: radius:double:0.1-999:mm;scope:int:1-2 全圆角 — Rhino FilletCorners 对标 对多段直线的所有锐角一次性倒同半径圆角,生成独立圆角弧(原始曲线保留) v2(2026-08-24 复审修复): 1. 单位时序:先把文档单位切 mm 再读节点坐标(旧版先读坐标后切单位, 文档单位非 mm 时圆角缩放/位置全错);结束后复原单位 2. 只处理直线段夹角:相邻段有贝塞尔段的节点跳过(旧版把曲线当弦算错几何) 3. 共边钳制:同一短边上相邻两角的切点总长不得超过边长(自动局部缩小半径) 4. 真圆弧三次逼近:控制点取两端切线方向 k=(4/3)·tan(θ/4)·R (旧版用中点二次近似,大角度偏差明显) 5. 支持多选:遍历选区内所有含曲线的对象(旧版只处理 ActiveShape)
全圆角(v2重构)
智能合并:将所有选中对象合并为一个整体。自动处理重叠部分。
智能焊接:第一个选中对象与其余对象焊接合并 v2(2026-08-24):ScopedCdrFreeze 提速 + 异常日志 + 结果自动回选
智能合并:自动焊接重叠对象
智能合并并提取孔洞:按连通性(相交或包围盒包含)分簇焊接,拆分后按面积与位置识别孔洞;不再预转曲未成簇对象,孔洞保持原z序。
智能焊接并提取孔洞:按连通性分簇焊接,再将焊接后内部的孔洞提取为独立对象 v2(2026-08-24 复审修复): - 不再对全部选中对象预转曲(旧版把未成簇的单件文字也永久转曲); 碰撞检测用 GetDisplayCurve,焊接由 合并 自行处理类型转换 - 聚簇条件 = 曲线相交 或 包围盒包含(双向)——悬空孔洞件(内圆不碰外框) 也能聚簇;bbox 预过滤后再做昂贵的曲线相交判定 - 曲线/包围盒全部一次性缓存,消除 O(n²) 循环内的重复 COM 读取 - 孔洞不再 OrderToFront(BreakApartEx 后已是独立形状,提层会盖住无关对象) - 文档单位临时切 mm 并复原;无成簇时静默不弹窗
智能合并并提取孔洞:焊接同时挖出洞;智能焊接提取孔洞(v2重构)
智能修剪:以第一个选中对象为边界,修剪其余选中对象。先选边界再选被修剪对象。
智能修剪:第一个选中对象为修剪边界,修剪其余选中对象 用法:先选边界对象,再选被修剪对象,点击执行 v2(2026-08-24):ScopedCdrFreeze 提速 + 异常日志 + 结果自动回选
智能修剪:自动修剪重叠部分
智能相交:取前两个选中对象的交集,保留重叠部分为新对象,不保留原始对象。
智能相交:取前两个选中对象的交集 v2(2026-08-24):ScopedCdrFreeze 提速 + 异常日志 + 结果自动回选
智能相交:自动求相交区域;两两取前两个对象交集
统一造形面板:焊接/修剪/相交/前减后/后减前/简化六合一。前后按Z序判定;保留原对象时先复制副本再运算,无中间产物堆积。
统一造形面板 — 一体化焊接/修剪/相交/前减后/后减前/简化 竞品对标:Illustrator 形状 Builder / Pathfinder 面板 一个面板替代 6 个独立按钮,选中重叠对象后一键操作 v2 修复(2026-08-24 复审): - 修剪方向修正:first->修剪(sh,...)(调用者是刀),旧版写反成"其余切第一个" - 前减后/后减前按 ZOrder 判定前后(旧版依赖点选顺序且两 case 逻辑互换) - 焊接/相交在"保留原对象"时不再链式 keep-both 堆积中间产物: 先复制全部原件作为保留副本,再对原件做不留副本的链式运算 v3(2026-09-11 弹框替代):造形逻辑抽为 RunShapeOp,auto=1 时读 AddonParams 的 op/keep 直接执行,不再弹参数浮窗等点击
统一造形(v2方向修复+z序判定)
线段加点(方案定稿 #1):对选中曲线的每条线段,在指定百分比位置插入节点。 默认 50% = 每段中点加密。用于雕刻刀路预加点、手工编辑补控制点。 AI_Params: posPct:double:0.5-99.9:%(默认50) 实现:Segment::AddNodeAt(len*pct, cdrAbsoluteSegmentOffset)——先快照全部 线段指针再统一插节点,避免边遍历边改集合导致索引失效。
线段加点(节点方案补充登记)
尖角工具三件套(方案定稿 #14 / #8 / #6+#7): 选锐角节点 选锐角节点——偏转角超阈值的节点全部选中(#14) 断开尖角 断开尖角——锐角节点处断开路径(钣金围边预处理,#8) 角标记点 角标记点——在尖角两侧各 distance 处插节点, 作折弯标注/应力释放孔锚点(UV巡边拐角有点、#6/#7) 判角算法:相邻节点弦向量偏转角 dev = atan2(|cross|, dot),dev ≥ 阈值即尖角。 (v1 弦向判定,鲁棒优先;手柄联合判定留待 v2。) AI_Params: angle:double:5-179:°(阈值);dist:double:0.1-50:mm(标记距离)
断开尖角(节点方案补充登记)
删除选中节点(方案定稿 #2):形状工具下选中节点后一键删除。 保护:若某曲线的全部节点都被选中则跳过该对象(不允许删光整条路径)。 实现:Curve::Selection() → NodeRange::删除()(tlh 已核验)。
删除选中节点(节点方案补充登记)
尖角工具三件套(方案定稿 #14 / #8 / #6+#7): 选锐角节点 选锐角节点——偏转角超阈值的节点全部选中(#14) 断开尖角 断开尖角——锐角节点处断开路径(钣金围边预处理,#8) 角标记点 角标记点——在尖角两侧各 distance 处插节点, 作折弯标注/应力释放孔锚点(UV巡边拐角有点、#6/#7) 判角算法:相邻节点弦向量偏转角 dev = atan2(|cross|, dot),dev ≥ 阈值即尖角。 (v1 弦向判定,鲁棒优先;手柄联合判定留待 v2。) AI_Params: angle:double:5-179:°(阈值);dist:double:0.1-50:mm(标记距离)
选锐角节点(节点方案补充登记)
尖角工具三件套(方案定稿 #14 / #8 / #6+#7): 选锐角节点 选锐角节点——偏转角超阈值的节点全部选中(#14) 断开尖角 断开尖角——锐角节点处断开路径(钣金围边预处理,#8) 角标记点 角标记点——在尖角两侧各 distance 处插节点, 作折弯标注/应力释放孔锚点(UV巡边拐角有点、#6/#7) 判角算法:相邻节点弦向量偏转角 dev = atan2(|cross|, dot),dev ≥ 阈值即尖角。 (v1 弦向判定,鲁棒优先;手柄联合判定留待 v2。) AI_Params: angle:double:5-179:°(阈值);dist:double:0.1-50:mm(标记距离)
角标记点(节点方案补充登记)
连接选中节点:Node::JoinWith 链式合并(每次合并后重取选区,防句柄失效) 方案 3.1 #5
连接选中节点(链式)
节点对齐三件套(方案定稿 #8): 节点水平对齐 水平对齐——选中节点统一到平均 Y 节点垂直对齐 垂直对齐——选中节点统一到平均 X 节点对齐到首点 对齐到首节点——以第一个选中节点为基准 注:定稿 §3.1#8 所写 NodeRange::AlignRangeToGrid 在 X8 tlh 中不存在 (tlh 核验:仅有 AlignRangeToShape/ShapeRange/Page/PageCenter,属 ShapeRange), 故按"批量读坐标→本地算→批量写回"自实现,符合万级节点性能铁律。
节点对齐到首点(节点方案补充登记)
节点对齐三件套(方案定稿 #8): 节点水平对齐 水平对齐——选中节点统一到平均 Y 节点垂直对齐 垂直对齐——选中节点统一到平均 X 节点对齐到首点 对齐到首节点——以第一个选中节点为基准 注:定稿 §3.1#8 所写 NodeRange::AlignRangeToGrid 在 X8 tlh 中不存在 (tlh 核验:仅有 AlignRangeToShape/ShapeRange/Page/PageCenter,属 ShapeRange), 故按"批量读坐标→本地算→批量写回"自实现,符合万级节点性能铁律。
节点水平对齐(节点方案补充登记)
节点对齐三件套(方案定稿 #8): 节点水平对齐 水平对齐——选中节点统一到平均 Y 节点垂直对齐 垂直对齐——选中节点统一到平均 X 节点对齐到首点 对齐到首节点——以第一个选中节点为基准 注:定稿 §3.1#8 所写 NodeRange::AlignRangeToGrid 在 X8 tlh 中不存在 (tlh 核验:仅有 AlignRangeToShape/ShapeRange/Page/PageCenter,属 ShapeRange), 故按"批量读坐标→本地算→批量写回"自实现,符合万级节点性能铁律。
节点垂直对齐(节点方案补充登记)
节点批量 XY 绝对偏移:选中节点整体移动 dx/dy(mm) 参数优先级:AI 传参(dx,dy) > 弹窗输入。方案 3.3 #25
节点批量XY偏移(绝对)
节点锁定 / 解锁(方案 #24) 锁定选中节点(批量命令跳过) :F10 选中节点 → 锁定(记录坐标) 解锁节点(无选中=全部解锁):解锁选中节点;无选中时解锁全部 锁定后,批量命令(等距打点/转多段线/删虚段/平滑/清手柄/归零)跳过锁定节点。
节点锁定 / 解锁(方案 #24) 锁定选中节点(批量命令跳过) :F10 选中节点 → 锁定(记录坐标) 解锁节点(无选中=全部解锁):解锁选中节点;无选中时解锁全部 锁定后,批量命令(等距打点/转多段线/删虚段/平滑/清手柄/归零)跳过锁定节点。
平滑所有节点:NodeRange::Smoothen(0-100);无选中时整路径 AI_Params: smoothness:int:0-100 方案 3.3 #11
平滑所有节点(选中优先,无选中整路径)
手柄归零:保留节点位置与类型,仅把相邻段两侧控制点长度归零 与 清除全部手柄(变硬拐角) 区别:不清节点类型。方案 3.3 #12
手柄归零(保留节点类型)
清除全部手柄:选中节点→尖突 + 相邻段控制点长度归零(全硬拐角) 无节点选中时兜底作用于整条路径。方案 3.3 #10
清除全部手柄:控制柄归零(变硬拐角)
从端点续画曲线 — Rhino 从选中曲线端点平滑延伸(Rhino ContinueCurve) 对标 在选中曲线的端点处以切线方向延伸一条平滑曲线 模式:直线延伸 / 圆弧延伸 / 平滑延伸
从选中曲线端点平滑延伸(Rhino 从选中曲线端点平滑延伸(Rhino ContinueCurve))
曲线转多段线(多边形化):自适应中点二分加点 + 全部句柄归零 弦高误差控制(默认0.05mm),雕刻机/巡边设备用。 AI_Params: tolerance:double:0.001-10:mm 方案 3.3 #5
曲线转多段线(弦高误差0.05mm)
检测断线缺口:开放子路径端点两两配对,距离≤阈值 → 选中两端点并报告 与 GapAnalyzer(分析工具) 区别:这里直接做"标记"动作,供修复管线衔接 AI_Params: tolerance:double:0.01-50:mm(默认0.5mm) 方案 3.3 #19
节点工艺小项(方案 #7 释放孔标记 / #18 检测重叠 / #20 巡边打点) 应力释放孔标记 :尖角拐角处插入一对标记节点(不改几何,供后续释放孔) 检测重叠节点(重合/过近对):检测重合/过近节点对并选中(相邻重合 + 开放端点重合) 巡边打点 :巡边等步长打点 + 拐角强制加节点(GetPeaks,走 #6 判定)
沿曲线等距打点(巡边用):Segment::AddNodeAt(offset, cdrAbsoluteSegmentOffset) 按固定步长在曲线上插入节点,完全保持形状。 AI_Params: spacing:double:0.1-100:mm(默认5mm) 方案 3.3 #2(重写 节点均匀 的直线插值为沿曲线)
沿曲线等距打点(巡边)
提取子路径:选中节点所在的子路径/片段 → 拆成独立新对象 原生组合:全选中→SubPath::Extract;部分选中→先 拆分 再按位置匹配提取 方案 3.1 #11
反转路径:反转选中对象的路径方向
反转全部子路径方向(逐子路径 SubPath::ReverseDirection) 与 反转选中路径的方向(整条曲线) 区别:可逐子路径控制,为后续内外轮廓统一方向打底 方案 3.3 #23
删除虚节点/零长度段:Length<ε 的段 → 合并两端重合节点(JoinWith), 不破坏有效轮廓。AI_Params: tolerance:double:0.0001-1:mm(默认0.001) 方案 3.3 #26
去断点 — 选中多条曲线→全部组合→曲线节点全部断开→拆分为独立子路径 来源:corelvba/Tools.bas → Split_Segment 用途:角线爬虫前处理,将合并线拆成独立线段
去除断点:清除曲线上多余断点
一键修复 CAD 烂图 · 参数面板版(方案定稿 §3.6 落地) 三步流水线:删虚段 → 就近合并重叠/缺口 → 智能精简。 每步独立开关 + 容差可配;单 BeginCommandGroup 撤销事务(Ctrl+Z 整体回滚); 结束弹前后统计。无参数直跑 = 打开本面板;带 AI 参数 = 直接执行: AI_Params: delDegenerate:0/1, segTol:mm, joinTouching:0/1, joinTol:mm, reduce:0/1, reducePct:%
一键修复CAD烂图(节点方案补充登记)
分件三件套(三角剖分 / 凸多边形分解 / 绳切开缝) 2026-09-18 新增(对标 RUDTP / fersat "Smart Depart" 的缺口功能: 三角剖分、凸分解、带孔多边形为"绳切/线切"做让刀准备)。 1) 三角剖分 三角剖分 闭合轮廓 → Clipper2 Delaunay 三角剖分(clipper.triangulation) → 每片独立三角形成组。用途:激光/CNC 分件、网格肌理、 3D/贴图工作流、把复杂件拆成可加工的小片。 2) 凸多边形分解 凸多边形分解 先三角剖分,再跑 Hertel–Mehlhorn(逐个删除"非必要对角线", 只要合并后仍是凸的就合并)→ 凸块数 ≤ 4×最优。 用途:避免内凹造成的刀具干涉、绳切/线切的直线段加工、 以及"每个凸块单独排料"。 3) 绳切开缝 绳切开缝 对带孔轮廓:从每个孔到外轮廓拉一条 width 宽的开缝并挖除 → 一根丝/刀可以从外面穿进去,直接加工内孔。 用途:泡沫/海绵/亚克力绳切、线切割、热丝切割。 注意:Clipper2 的 Triangulate 不接受自相交路径,故先 Union(NonZero) 清理; 所有坐标按 1/1000mm 定点,尺度无关。
分件三件套(三角剖分 / 凸多边形分解 / 绳切开缝) 2026-09-18 新增(对标 RUDTP / fersat "Smart Depart" 的缺口功能: 三角剖分、凸分解、带孔多边形为"绳切/线切"做让刀准备)。 1) 三角剖分 三角剖分 闭合轮廓 → Clipper2 Delaunay 三角剖分(clipper.triangulation) → 每片独立三角形成组。用途:激光/CNC 分件、网格肌理、 3D/贴图工作流、把复杂件拆成可加工的小片。 2) 凸多边形分解 凸多边形分解 先三角剖分,再跑 Hertel–Mehlhorn(逐个删除"非必要对角线", 只要合并后仍是凸的就合并)→ 凸块数 ≤ 4×最优。 用途:避免内凹造成的刀具干涉、绳切/线切的直线段加工、 以及"每个凸块单独排料"。 3) 绳切开缝 绳切开缝 对带孔轮廓:从每个孔到外轮廓拉一条 width 宽的开缝并挖除 → 一根丝/刀可以从外面穿进去,直接加工内孔。 用途:泡沫/海绵/亚克力绳切、线切割、热丝切割。 注意:Clipper2 的 Triangulate 不接受自相交路径,故先 Union(NonZero) 清理; 所有坐标按 1/1000mm 定点,尺度无关。
泰森多边形(Voronoi)生成 2026-09-18 新增(对标 RUDTP / fersat "Диаграммы Вороного" 的缺口功能)。 与竞品实现的差别(写在最前面,避免以后有人"照抄旧的慢算法"): - 竞品用 O(n³) 增量算法且"只在 200~3000mm 直径内稳定",点数上限 999; 本实现是**半平面裁剪 + Clipper2 定点布尔**,坐标全程按 1/1000mm 定点, 与图形绝对尺度无关(毫米级小件与米级大板同样成立)。 - 容器可以是任意凹多边形、可带孔;胞元与容器的求交交给 Clipper2, 不需要容器是凸的。 1. 站点(sites)来源三选一: 随机点 / 对象中心 / 曲线节点 2. 每个站点 i 的胞元 = 起始矩形 ⊗ 与所有其它站点 j 的中垂线半平面 (Sutherland–Hodgman,胞元恒为凸多边形) 3. 胞元 ∩ 容器(Clipper2 NonZero 求交)→ 得到被容器裁剪的泰森胞 4. 可选"间隙":胞元整体内缩 gap/2,生成后相邻单元之间留缝(刀线/拼花用) 用途:装饰肌理、灯箱/绗缝分格、按给定点位把板材分成若干块(配合排料/切割)、 按对象分布自动生成"势力范围"。 参数(AI/队列可直传): source 0=随机点 1=对象中心 2=曲线节点 count …
路径优化排序:按颜色/内部→外部/父→子/最近邻/蛇形网格优化加工顺序,可重排Z序,可选接缝收刀(过切)。
路径优化排序(对标 eCut Route Optimizer) 四个排序规则: 0. 按颜色:相同填充色相邻排列(对应 eCut Separate by color) → 同色=同刀具/同参数,一次装刀切完,避免频繁换刀 1. 内部→外部:先切内部(几何嵌套深度大的),再切外部 → 防止外框先切导致内部件脱落移位 2. 父→子:先切外层(深度小的),再切内层 3. 最近(Nearest):贪心最近邻,从起点开始每次选最近的下一个 → 空走距离最小化,加工时间省 20~50% 4. 蛇形网格(Serpentine,2026-09-18 新增):按 Y 行聚类,行内按 X 排序, 奇数行反向(ёлочка / boustrophedon) → 走完一行正好落在下一行起点,阵列/网格/标签排版零空走 → 对标 RUDTP「ZigZag 网格切割」的走刀顺序要求 - 重排 Z 序(把排序结果反映到对象层级顺序) - 接缝收刀/过切(2026-09-18):排序后对每条闭合曲线做一次收刀, 一条命令同时完成"排序 + 过切",对应刻字机/切割机的工艺需求 输出:顺序报告(编号 + 对象信息) - 包含关系用包围盒判定(几何嵌套深度) - 深度 = 被多少个形状的包围盒完全包含
交点画圆(66号对标清单 §3.4 P1,对标牛为 V4.2 交点画圆) 选中 ≥2 条曲线(排孔网格/横竖线),在它们的交点处生成等直径真圆—— 激光打孔、LED 冲孔板、广告字点阵的前置。用户的线本身可以是异形排布。 引擎:曲线按步长采样为折线(IVGSegment::GetPointAt 绝对偏移)→ 异曲线折线两两求交(纯几何,可离线断言)→ 交点按 tol 合并 → 生成真圆。 参数(AddonParams,AI/队列可传): d : 圆直径 mm,>0(默认 5) tol : 交点合并容差 mm(默认 0.5,重合/近交点去重) step : 采样步长 mm(0=默认自动:选区对角线/400,钳 0.25~5) limit : 最多生成圆数 1-5000(默认 2000) group : 1(默认,结果群组为"交点圆") | 0 采样点/交点均有硬上限(防病态曲线);未转曲对象自动转曲,位图跳过计数。
轴分割/大图分割拼接(66号对标清单 §3.8 P1,对标牛为左右/上下分割) 把选中图形沿水平/垂直方向参数化切成 N 片——大幅面图形输出给窄幅打印机/ 激光机幅面加工,现场拼接。与 智能分割(以其余对象为刀)互补:本命令 自动生成切分区域,无需手画刀。 单个目标的处理(2026-09-20 真机定谳后采用"区域 相交 平铺"): 初版用薄刀条 + 修剪 迭代,真机实测 Corel 修剪 对全贯穿刀不保证一分为二 (返回单形状,碎片计数恒 1)——修剪 分割语义不可靠,弃用。 1. 转曲(ShapeOpCommon::EnsureCurvesForBoolean,位图等无法转曲的跳过计数) 2. 按方向生成 parts 个互不重叠的"区域矩形"精确平铺目标外接盒 (dir=h 竖切左右 | v 横切上下 | grid 网格 parts²;区域间留 gap 拼缝) 3. 每区域:区域.相交(目标副本) → 该区碎片(副本被消耗,区域保留) 4. 完成后删原目标与区域矩形;碎片 ≥2 时群组 相交 平铺无 修剪 的"一分为二"歧义,结果确定。 参数(AddonParams,AI/队列可传): dir : "h"(默认,左右分割) | "v"(上下分割) | "grid"(网格) pa…
随机撒布(66号对标清单 §3.7 P1,对标牛为 V3.9 随机填充) 在目标闭合曲线内随机撒布对象(随机尺寸/角度/位置)——碎花图案、石纹地面、 随机点阵排孔、T 恤印花做旧。 ⚠️ 命名说明:CSV 旧命令 随机填充(随机填色)已 gone,与本命令无关; 本命令撒"对象",命名 随机撒布 避免歧义。 契约(与 超级替换 的 z 序定谳一致): 选区最上层对象(Item[1])= 撒布区域(须闭合曲线),其余选中对象 = 填充物 (轮转取用);若无填充物 → 按 fillerD 生成正圆。 放置算法:拒绝式采样。每件尝试 ≤300 次:候选中心在目标外接盒内随机 → 点在轮廓环内(**奇偶射线法**,不用 IsOnShape——无填充闭合曲线的 IsOnShape 对 内部点判"外",2026-09-20 真机定谳)→ 与已放件旋转后包围盒无重叠(含 margin) → 放置。总尝试硬上限 = count×300(防死循环,牛为 V4.3 同类教训)。 seed 参数可复现(回归/验收用),0=时间随机。 ⚠️ 几何读取一律在 DocUnitGuard(mm) 之后——bbox/环采样若按英寸文档读会产生 系统性 bbox 预检拒绝(2026-09-20 真机:单位序错误致 5700 次尝试仅放 1 …
Z轴时间轴:拖动节点可视化调整图层Z轴顺序。
Z 轴时间轴:弹出独立窗口,通过横向轴线节点拖拽调整 Z-order 节点等距分布代表 Z-order 排名(左=底,右=顶) 拖动节点松手时提交到 CDR, BeginCommandGroup 包裹
Z轴时间轴:管理对象的图层/顺序时间线;弹出独立窗口调整Z轴顺序
齿轮生成器(面板版)— 在画布上生成参数化齿轮形状 竞品对标:Inkscape Render → Gear 实现:CreateCurve + 循环 AppendLineSegment 绘制齿形
齿轮生成(参数化:齿数/模数/孔径)
法兰盘螺栓孔生成器(面板版)(2026-09-19 形状生成器二期) 参数:法兰外圆半径(0=不画) / 螺栓分布圆半径 / 孔径 / 数量 / 中心孔径 / 起始角 用途:法兰垫片、环形螺栓孔位、表盘孔位图。 亮点:有选区时以选区中心为法兰中心。 AI 直调:initFn 默认值走 ShapeGen::AINum(AddonParams/PresetStore 共享参数栈), 无头模式 RunCustomPanelHeadless 触发 Apply 即按 AI 参数生成。
圆孔网格生成器(面板版)— 穿孔板(2026-09-19 形状生成器批次) 参数:板宽高 / 孔径 / 行列间距 / 排布(矩形|蜂窝错排) / 画板框 用途:机柜、装饰穿孔板、广告钣金。蜂窝错排为本工具亮点排布。 实现:孔 = 原生 CreateEllipse2;自动按板宽高居中并裁掉出界孔; 蜂窝模式奇数行水平错开半个孔距。孔与板框整体群组。
铆钉点阵生成器(面板版)(2026-09-19 形状生成器批次) 参数:行数 / 列数 / 铆钉直径 / 水平间距 / 垂直间距 / 形状 / 方形圆角 用途:金属板材、机箱面板、复古标牌的铆钉排布。 实现:圆形用 CreateEllipse2 原生椭圆;方圆角用 ShapeGen::CreateRoundedRect; 全部落当前图层,最后收进一个群组。
腰形孔阵列生成器(面板版)(2026-09-19 形状生成器二期) 参数:孔长 / 孔宽 / 行列数 / 行列距 / 槽向(横|竖) / 画板框 用途:钣金机箱腰形孔、百叶通风槽、安装长圆孔。 实现:腰形孔 = 两端半圆的 stadium(CreateRoundedRect 圆角取孔宽/2 即得)。 有选区时以选区中心为阵列中心。AI 直调:AINum 系列默认值 + 无头执行。
环形刻度盘生成器(面板版)(2026-09-19 形状生成器批次) 参数:大刻度数 / 每格小刻度 / 半径 / 大小刻度长 / 起止角 / 数字标注 / 字号 用途:仪器面板、旋钮刻度、工控铭牌。 实现:主/次刻度 = 原生 CreateLineSegment(自外半径向内); 数字 = CreateArtisticText(Arial,居中对齐);完成后整体群组。 总角度 ≥359.9° 时按整圆盘处理(终点与起点重合不重复画)。
扇叶生成器(面板版)— 叶轮/风扇 LOGO 图形(2026-09-19 形状生成器批次) 参数:叶片数 / 轮毂半径 / 外半径 / 后弯角 / 叶片角宽 / 轴孔 / 填充 实现:每片叶 = 参数化弧形叶片闭合多边形(内外缘沿"半径线性增长 + 角度 线性偏转"的螺旋路径采样,角宽向叶尖收窄 60%),加轮毂圆与轴孔; 叶片各自独立闭合曲线(避免同曲线内重叠区被挖空),统一填充后群组。
圆点/十字矩阵生成器(面板版)(2026-09-19 形状生成器批次) 参数:类型(圆点|十字) / 行列数 / 中心距 / 大小(直径|臂长) / 对角错排 用途:定位标记、底纹、裁切参考标记阵列。 实现:圆点 = 原生 CreateEllipse2;十字 = 两条正交线段; 错排模式奇数行偏移半个间距。整体群组。
形状生成聚合面板(18 个生成器一键直达)
万花筒对称生成器(面板版)— 选区图形放射对称重复(2026-09-19 形状生成器二期) 参数:对称轴数 / 交替镜像 / 保留原件 用途:装饰 LOGO、花纹、雪花/花瓣图形打样——把画好的一瓣一键对称成环。 实现:以选区包围盒中心为轴心,其余 N-1 个扇区 = 选区逐形状 再制 → (交替扇区水平翻转后中心移到轴心对称位)→ RotationCenter 设轴心 → Rotate(360·i/N)(环形阵列 同法)。
边框雕花生成器(面板版)— 参数化连续花边条(2026-09-19 形状生成器批次) 参数:花边形状(半圆/三角/尖齿) / 总长度 / 周期长度 / 高度 / 画基线 用途:证书边框、标牌外框的重复纹样单元(轻量版,不做欧式雕花)。 实现:单条开放曲线;半圆=上半椭圆弧(rx=周期/2, ry=高), 三角=对称折线,尖齿=竖起+斜落折线。基线为可选直线段。
回纹边框生成器(面板版)(2026-09-19 形状生成器二期) 参数:总长 / 单元宽 / 线宽 / 起始角向 用途:中式标牌、锦旗、证书边框的回字纹连续花边。 实现:每单元 = 外"∩"框 + 内"回"钩两段开放折线(回字纹经典双钩), 单条曲线多子路径;线宽用 Outline->SetProperties 设置。 有选区时沿选区顶边居中绘制。AI 直调:AINum 系列默认值 + 无头执行。
锯齿边框生成器(面板版)— 四边向外尖齿的闭合框(2026-09-19 形状生成器批次) 参数:宽 / 高 / 齿宽 / 齿高 / 填充 用途:标牌、警示标、装饰边。与波浪(平滑曲线)互补:锯齿为折线尖齿。 实现:单闭合多边形;每边齿数 = round(边长/齿宽),实际齿宽均分余量, 齿尖沿四边外法线方向凸出,四角为原始直角顶点。
波浪边框生成器(面板版)— 四边正弦外凸闭合框(2026-09-19 形状生成器二期) 参数:宽 / 高 / 波长 / 波幅 / 填充 用途:贴纸刀线、装饰框、拼接券边。与锯齿边框(折线)互补的平滑版本。 实现:四边按正弦采样(角点相位 0,边角处波高归零,四角保持直角), G1 平滑过点曲线,单闭合路径。有选区时宽高直接取选区包围盒。
链条生成器(面板版)— 参数化连环(2026-09-19 形状生成器批次) 参数:环外宽 / 环厚度 / 数量 / 方向 / 交错扣合 / 填充 用途:广告门头、奖牌边框、装饰分割线。 实现:每环 = 椭圆外圈 + 椭圆内圈子路径(反向绕行挖洞); 交错扣合时奇数环旋转 90°(长短轴互换),圆心距 = 长半轴 × 0.9 视觉扣住; 平铺时圆心距 = 短径(环环相切)。
多向箭头生成器(面板版)— 单向 / 双向 / 环形循环箭头(2026-09-19 形状生成器批次) 参数:类型 / 长度(环形=平均直径) / 尾宽 / 头长 / 头宽 / 环形跨角 / 箭头数 / 填充 用途:流程图、标识、循环示意。 实现:直箭头 = 经典 7 点/10 点闭合多边形;环形 = 内弧 + 环带端头箭头 (头三角外凸 headExt = 头长/半径 弧度)+ 外弧回程,每支独立闭合路径。
螺旋生成器(面板版)— 阿基米德 / 对数螺旋(2026-09-19 形状生成器批次) 命令名 动态螺旋生成器:补齐 CSV 305112000 久悬的"动态螺旋生成器"登记。 参数:类型 / 起始半径 / 终止半径 / 圈数 / 方向 / 增长率(对数) / 每圈段数 实现:参数曲线采样 + 切线 G1 连续贝塞尔(每段控制柄长 = 弦长/3), 阿基米德 r 随转角线性增长,对数 r = r0·(rE/r0)^t 指数增长。
螺旋生成(参数化:起止半径/圈数/增长率);动态螺旋生成器 | 2026-09-20 修正:ToolState GUID 注册(main.cpp),非 Addon,Type 改为 Internal
螺旋生成器(面板版)— 阿基米德 / 对数螺旋(2026-09-19 形状生成器批次) 命令名 动态螺旋生成器:补齐 CSV 305112000 久悬的"动态螺旋生成器"登记。 参数:类型 / 起始半径 / 终止半径 / 圈数 / 方向 / 增长率(对数) / 每圈段数 实现:参数曲线采样 + 切线 G1 连续贝塞尔(每段控制柄长 = 弦长/3), 阿基米德 r 随转角线性增长,对数 r = r0·(rE/r0)^t 指数增长。
螺旋生成(参数化:起止半径/圈数/增长率)
| 行数 | 默认 5 | 范围 1 ~ 200 | 鱼鳞排列的行数 | ||
| 列数 | 默认 6 | 范围 1 ~ 200 | 鱼鳞排列的列数 | ||
| 水平重叠比例 | 默认 50 | 范围 0 ~ 90 | 单位 % | 相邻鳞片水平重叠比例,越大越重叠(50% 为典型鱼鳞) | |
| 垂直重叠比例 | 默认 60 | 范围 0 ~ 90 | 单位 % | 相邻行垂直重叠比例,越大越重叠 | |
鳞片阵列 — 副本像鱼鳞一样交错重叠排列(奇行偏移半格,重叠比例可调)
| 副本数量 | 默认 24 | 范围 2 ~ 1000 | 沿旋涡轨迹排列的副本数量 | ||
| 圈数 | 默认 2.0 | 范围 0.1 ~ 100.0 | 单位 圈 | 旋涡旋转的总圈数 | |
| 起始半径 | 默认 5.0 | 范围 0.0 ~ 9999.0 | 单位 mm | 旋涡最内侧副本到中心的距离 | |
| 终止半径 | 默认 80.0 | 范围 1.0 ~ 999999.0 | 单位 mm | 旋涡最外侧副本到中心的距离 | |
| 份数 / 起点 / 终点 | 默认 1 段,100.0 → 25.0 | 单位 % | 副本缩放比例从起始值渐变到结束值(等差,单位 %) | ||
旋涡阵列 — 副本沿螺旋排列,同时逐圈缩放并跟随旋转,形成旋涡效果
| 副本数量 | 默认 20 | 范围 2 ~ 1000 | 沿正弦波排列的副本数量 | ||
| 水平间距 | 默认 15.0 | 范围 0.01 ~ 9999.0 | 单位 mm | 相邻副本中心之间的水平距离 | |
| 振幅 | 默认 30.0 | 范围 0.0 ~ 99999.0 | 单位 mm | 正弦波上下起伏的幅度(峰值到中心线) | |
| 波长 | 默认 120.0 | 范围 1.0 ~ 999999.0 | 单位 mm | 正弦波一个完整周期的水平长度 | |
波浪阵列 — 副本沿正弦波曲线起伏排列(可选跟随切线旋转)
随机散布阵列 — 在指定矩形区域内随机散布副本 2026-08-29 改版(此前"缺少旋转和缩放的设置,另外弹窗次数过多"): - 原来是 5 个连续弹窗(数量 → 宽度 → 高度 → 旋转开关 → 缩放开关), 且旋转/缩放只有"开/关"两档、范围写死(-180~180° / 50%~150%)。 - 改为单个通用浮窗参数面板:旋转与缩放都给出 最小值/最大值, 最小值 = 最大值 即表示"不做该项随机";另加随机种子便于复现。
路径阵列(面板版)— 选中对象沿路径均匀分布,支持跟随旋转 竞品对标:Illustrator 重复 路径模式 / AutoCAD Path Array 用法:选中要排列的对象 + 一条曲线(最后一个作路径)
路径阵列(面板版):可调副本数/跟随旋转
必须在命名空间外声明,否则会生成 AddonTextMasterPanel::AddonFindByCommand 未定义符号)
文本大师:全能文本工具集合面板;文本大师:全能文本工具集合面板(共用浮窗)
一键智能文本修复(核心万能键) 调用 TextSmartFixEngine 执行 7 项静默修复,弹窗汇报结果
一键智能修复:自动找平/标点/空格/隐字清理;文本大师:一键智能文本修复(P0 引擎,7 项静默修复)
深度文本洁净(P2 ⑤) 调用 TextCleanEngine:清理不可见字符/软回车/乱码/首尾空格 + 删除空文本。 返回统一修复报告(TextFixReport::Format → PieMsgBox)。
文本大师:深度文本洁净(P2)
拆单字(自动找平)(P4 ③)
拆单字(自动找平);文本大师:拆单字(自动找平,P4)
拆成行(P4 ③)
文本大师:拆成行(P4)
拆笔画(雕刻)(P4 ③)
拆笔画(雕刻);文本大师:拆笔画(雕刻,P4)
竖排文本规整修复(P2 印前小工具) 复用 TextSmartFixEngine::FixVerticalText(引擎已实现:竖排文本含全角标点 时同文本重新赋值触发 CDR 重排标点方向/位置)。独立命令便于配置。
竖排文本规整修复;文本大师:竖排文本规整修复(印前小工具)
像素级精准居中(P2 印前小工具) 将选中文本对象(或整页所有文本)精确居中到页面中心: - 水平居中:对象包围盒中心 X 对齐页面中心 X - 垂直居中:对象包围盒中心 Y 对齐页面中心 Y - 像素级:直接按包围盒数学中心做位移,不依赖对齐命令的取整 (原生 居中页面 存在,本工具针对"文本"语义提供水平/垂直分别控制) 参数(AI/队列桥可选): scope : double, 0=仅选中(默认) 1=整页所有文本 h : double, 1=水平居中(默认 1) v : double, 1=垂直居中(默认 1)
文本大师:像素级精准居中(印前小工具)
小字安全预警(P2 印前小工具) 定位:印前只读巡检。扫描页内文本,找出字号小于安全阈值(默认 6pt)的 文本对象,列出对象数与最危险的若干条。不修改任何对象(只读,安全)。 参数(AI/队列桥可选): threshold : double, 安全字号下限 pt(默认 6) list : double, 1=报告明细(默认 1)
文本大师:小字安全预警(印前只读巡检)
一键复原文本(P4 ③,全网独家可逆)
文本大师:一键复原文本(P4 可逆)
字体保形替换(P3 ②) 共用浮窗面板: 扫描按钮 → 列出选中文本字体/缺失状态 目标字体下拉 → 从 CDR FontList 选择(缺字体推荐排最前) 全部替换按钮 → 保形替换 AI/队列桥参数:scan=1 仅扫描报告;font=目标字体名直接替换全部
文本大师:字体保形替换(P3)
重叠文字检测+修复(P2 印前小工具) 复用 TextSmartFixEngine::FixOverlapText(引擎已实现:包围盒判重叠、 仅轻度重叠 <50% 才水平错开,避免破坏有意堆叠)。独立命令便于 拖入饼菜单/工具箱/侧边栏。
文本大师:重叠文字检测+修复(印前小工具)
AI 层级排版规整(P5 ④) 共用浮窗面板: 扫描按钮 → 层级聚类报告 对齐下拉 → 不动/左/中/右 行距百分比 → 默认 120 溢框修复开关 → 默认关(估算模型待真机校准) 规整按钮 → 执行 AI/队列桥参数:scan=1 仅扫描;align=1/2/3;lineSpacing=120;fixOverflow=0/1
文本大师:AI 层级排版规整(P5)
智能群组:选中2个以上对象直接群组;只选1个时自动纳入最近对象再群组。
智能群组:选中1个对象时,自动找到最近邻对象一起编组
智能群组:自动把相近对象分成组;2026-08-24 用户决策弃用:由 智能群组(302199000) 取代(旧版只抓最近1个对象)
智能群组:面板多选判定方式——距离(中心点间距≤阈值)/重叠(包围盒相交,含交叉压线件)/包含(小件整体在大件内),满足任一即与选中对象一起群组;阈值默认1mm。
智能群组(阈值):Ghost 面板设定判定方式(距离/重叠/包含,可多选)与间距阈值(默认1mm), 点"开始群组"将选中 + 满足任一勾选判定的邻近对象一起群组。 2026-08-24 用户需求:新增 重叠(包围盒相交) 与 包含(小件在大件内) 判定,面板多选框带文字说明。 O(n²) 距离/几何计算搬到 PieMenuWorker.exe,避免 CDR 主线程被阻塞;Worker 失败回退主线程。 注意:本协议与 PieMenuWorker.exe 成对部署(Deploy.ps1 同目录同时复制),旧 Worker 不兼容新请求格式。
智能群组:按距离阈值自动分组;Ghost面板:判定方式多选(距离/重叠/包含)/间距阈值
预览对象之间的调和效果。
交互预览工具(Addons\ToolStates\调和预览.h):预览对象间的调和过渡效果。
交互式工具面板大全(教学式聚合面板,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) 派发(必然找…
激活书法笔刷绘制工具。
交互笔刷工具(Addons\ToolStates\书法笔刷.h):书法笔刷样式沿路径描画。
交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…
激活镜像笔刷绘制工具。
交互笔刷工具(Addons\ToolStates\镜像笔刷.h):镜像对称笔刷绘制。
交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…
分形树生成器:生成分形树状曲线。
自研交互工具(Addons\ToolStates\分形树生成器.h):在画布上参数化生成分形树形线条。
交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…
粒子喷洒:在画布上喷洒粒子形状。
交互工具(Addons\ToolStates\粒子喷洒.h):粒子喷洒式散布图形。
交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…
光影投射器:沿方向投射对象阴影轮廓。
交互工具(Addons\ToolStates\光影投射器.h):按方向生成投影/光影参考。
交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…
橡皮筋多边形:通过拖拽创建多边形。
交互绘制工具(Addons\ToolStates\橡皮筋多边形.h):橡皮筋式绘制多边形。
交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…
黄金比例叠加:在页面上叠加黄金比例参考线。
辅助工具(Addons\ToolStates\黄金比例叠加.h):按黄金分割比生成参考矩形与辅助线。
交互式工具面板大全(教学式聚合面板,2026-09-22) 定位:与「阵列面板大全」各种阵列:集成所有阵列命令 /「节点工具面板」节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) / 「测量面板大全」测量面板大全 同构的第四个聚合面板。 本面板专收 **交互式工具(ToolStates)** —— 点了之后接管鼠标、可连续操作、 Esc/右键退出的那类工具(仿 Rhino 的鼠标交互范式)。 与另三个聚合面板的分工(避免入口重复): 各种阵列:集成所有阵列命令 = 参数化阵列(弹窗填行列数,一次性出结果) 测量面板大全 = 测量/标注/报价(出读数或标注,不改对象) 节点工具面板(按钮式:类型/选中/手柄/工艺/角样式/修复) = 节点编辑辅助 工具面板大全(本) = 交互式工具总台:构造 / 阵列 / 笔刷 / 诊断 / 预览 / 导航 ⚠️ 派发路径与其它面板**不同**(这是本面板最容易踩的坑): ToolStates 工具 **不在** `Addons/AddonManager.h` 的 g_AllAddons[] 里, 它们是 main.cpp 里用 `ToolStateRegistry::Instance().Register(...)` 单独注册的。 所以 **不能** 用 AddonFindByCommand(cmd)->execute(a) 派发(必然找…
激活颜色饼菜单工具:按住左键拖拽实时调色(角度=H,半径=S/B),松开自动切回挑选工具。
交互取色工具(Addons\ToolStates\ColorPieMenuTool.h):环形取色面板(颜色饼菜单)。
说明:本页为专业版解锁的三档工具箱命令详解(AI 类:本地抠图 / 识字体 / 绘图 / 几何运算;生产类:智能造形 / 刀模箱型 / 拼版排料 / 切割工艺 / 印前专色条码 / 可变数据 / 巡边转曲 / 广告制作;本插件独有功能:算法构造 / 智能群组 / 交互绘制与效果工具等)。「参数(源码)」与「源码讲解」直接提取自 CdrPei 实现源码(CDR_PieMenu_CPG/Addons),与插件行为一致。专业版还包含免费版与标准版全部功能。
本页由 docs/tools/gen-pro-tutorial.ps1 生成 · 更新于 2026-09-24 · 收录 228 条