c# solidworks 自动标注折弯7 图可视化,清晰定义,画点改画线
https://wwamf.lanzouu.com/iJywN3r2gc1chttps://www.bilibili.com/video/BV1Kd7Q6BEnK折弯标注规则与 benddim 源码一致2026-06画线替代画点cursor写的算法用点距离一直算不对清晰了一些定义邻接非共用外一级玩异环到10点就满足了写代码到10点没啥感觉要不是突然跑通了真的是浪费时间cursor写的c#代码又不能热重载【折弯角约 90°±10°】节点内- 禁止本折弯内弧侧二级面参与一级—二级 - 仅本折弯外圆柱侧一级面 ↔ 另一侧二级/三级台阶面一级侧优先图邻接「共享外一级」 - 约 90° 一级—二级优先草图线—线两面平行棱面距仅作候选排序末端小面约 60 mm² 等可走 ⊥ 棱线—线 - 约 90° 一级—三级外圆柱一级 ↔ 本折弯另一侧来源的三级面三级作二级入库须由与当前外一级不同侧的一级面引出 - 三级面内外由路径上二级圆柱/圆弧判定经内圆柱传出时不以内侧台阶平面为三级面改以对侧外一级面为三级面配对 - 三级台阶面距仅设下限约 0.75×板厚最小 0.8 mm无上限采用 BREP 面距分解 Pick 值不假定固定台阶深 - 禁止内圆柱侧一级面参与一级—二级 - 禁止内弧一级面之间标注 - 禁止内弧中心 ↔ 二级面 - 已参与节点间外一级—外一级标注时仅「本折弯节点」上的该外一级面不再做本节点内一级—二级/三级对面折弯占用不阻塞本折弯其它外一级面 - 节点内草图线—线skipGlobalMeasureDedup允许与节点间同数值不同位置各标一次但与节点间已标面距/面积对重复则跳过 - 边—边 / 线—线仅用各面上非公共棱公共棱不参与标注 - 视图中可见边Select4 绑定工程图边禁止对可见边中点盲目 SelectByRay - 视图中不可见棱限定在所属面上拾取优先可见边 Select4边线棱用端点/中点 SelectByRay - AddDimension2 后SystemValue 与期望面距、锚点距偏差须 ≤ 容差否则 EditUndo2 撤销 - 同一次命令相同测量值0.5 mm 分桶不重复建尺混合边内弧点—本折弯二级 / 邻接外一级 除外registerUniqueMeasurefalse - 禁止一级—二级两面不平行时走边—边90° 改走线—线或面点节点间双侧均约 90° 的图边- 仅两节点外圆柱来源一级面中「非连接面」且法向平行的边—边 - 面距BREP 分解后优先大跨距 ⊥ 棱 SelectByRay如法向 15 mm 且顶点距 ≥80 mm 时取顶点跨距否则台阶带/沿折弯/面内分量 Pick - 禁止两节点内弧中心点距标注 - 禁止含内弧一级的节点间面—面候选优先于外一级非连接配对双 pass先外一级再内弧一级兜底【折弯角非 90°】节点内- 内弧侧两一级面之间标「角度」各面一条与折弯轴非平行的直棱棱中点 SelectByRay不用 Select4配对为图邻接大面 内法兰小面如 2823 ↔ 1996 - 一级—二级仅内弧草图点—二级面点—面斜棱拾取优先禁止边—边、禁止二级棱 - 内弧草图点—外三级面台阶带法向距与节点间已尝试同距/面积对则跳过 - 禁止外圆柱一级面—二级、约 90° 一级—三级面路径 - 若本节点与约 90° 折弯图邻接混合边节点内不再做「内弧点—二级面」「内弧点—外三级面」留给节点间混合边路径节点间- 双侧均非约 90°图边相连时两节点内圆弧中心草图双点标距 - 一侧约 90°、一侧非约 90°混合图边不走外圆柱非连接一级面边—边改走「内弧草图点」两条独立路径同一图边可各成功一项 (1) 本折弯二级种类节点间·混合边内弧点—本折弯二级 · 非约 90° 侧内弧草图点 → 本折弯真实二级面点—面斜棱拾取 preferSlantEdgePick · 候选来源本折弯 SecondaryFaces且剔除与约 90° 邻接节点任意一级面共面的面如 9451 实为邻接 90° 外一级不得当作 #3 二级 · 另从内弧一级面沿 ∥ 折弯轴棱传播补全本地二级内弧一级引出二级 · 末端小面约 60 mm²可参与不假定固定 mm 台阶深 · 校验拒绝板厚/弧半径量级拒绝实测 ≈ 法向面距斜棱拾取失败 (2) 邻接非共用外一级种类节点间·混合边内弧点—邻接非共用外一级 · 非约 90° 侧内弧草图点 → 约 90° 侧外圆柱一级面排除图边连接共用面如 2823 内弧一级 · 先斜棱拾取失败再法向距拾取与 (1) 独立去重可同时落尺如 ~33.5 mm ~49 mm · 成功后占用约 90° 侧该外一级面仅阻塞本节点内跨折弯一级—二级 - 禁止约 90° 与非约 90° 之间外圆柱非连接一级面边—边该策略仅用于双侧约 90°【面层级构建折弯图】圆柱面与折弯轴平行的直线棱 → 邻面为一级面内外圆柱均扫90° 标注仅用外圆柱来源一级面一级面外圆柱侧一级面用于引出二级面∥ 轴棱 → 邻面内圆弧一级不引二级须平面邻面为圆柱/圆弧面时沿 ∥ 折弯轴棱继续传递到下一平面将该平面当作二级面三级作二级记录路径上二级圆弧面二级面列表按平面去重若传播路径经内圆柱三级面改用以配对的外一级面代替内侧台阶平面须与当前外一级面平行约 90° 一级—三级外圆柱一级 ↔ 本折弯另一侧来源的三级面图边共用外一级面同样参与且优先不受节点间占用阻塞圆柱轴垂直于工程图视图时∥ 轴棱在图纸上常表现为轮廓边线【命令执行顺序】构建折弯图节点 图边 ConnectedFirstFaceProcessGraphEdges先节点间约 90° 外一级—外一级混合边走内弧点双路径逐节点 ProcessBendNode约 90° 一级—二级/三级非 90° 角度 内弧点路径ProcessGraphEdgesInnerArcMidpointDimensions双侧非 90° 内弧中点约 90° 图边跳过输出 benddim_reason_stats.log 原因统计【公共】工程图引用零件直接读 ReferencedDocument引用装配体从视图可见组件中取含边线折弯最多的零件圆柱轴须垂直于工程图视图平面否则该折弯/图边跳过标注在视图引用配置下取 BREP与展开图一致不可见棱所属面法向偏移后 SelectByRay或可见时 Select4可见棱仅 Select4两面配对标注候选棱排除两面的公共直线棱只用轮廓侧非交界棱节点间外一级占用按折弯节点记账仅阻塞该节点上同一外一级参与本节点内跨折弯一级—二级