资讯动态

lab-hardware-cad 预制造验证清单深度指南:从源码到出厂的 8 道质检关卡

发布时间:2026/9/11 20:51:04 来源:尧图企业网站定制
lab-hardware-cad 预制造验证清单深度指南从源码到出厂的 8 道质检关卡【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills在 lab-hardware-cad 技能中设计实验室硬件的难点几乎从来不在几何造型本身而在于零件必须与由公开标准或厂商图纸固定的设备精确配合——微孔板槽位宽了 0.5 mm 就装不进读板机螺栓孔距按 25.4 mm 而非 25.0 mm 打就拧不上光学平台。为了让可以拿去制造了这句话在交付前经得起推敲该技能在 references/validation.md 中沉淀了一份预制造验证清单Pre-fabrication validation checklist。这份清单不是泛泛的流程提醒而是与技能内gen.py、check.py、snapshot.py三个脚本深度绑定的可执行检查协议每一项都点名了它要拦截的失败模式因为没有后果的清单会被跳过。读完本文你将掌握完整的 8 道验证关卡、每道关卡背后的源码实现原理以及如何用可复现的命令把零件准备好了从口头承诺变成可审计的结论。验证清单在整个工作流中的位置先明确这张清单的定位它是 lab-hardware-cad 技能标准工作流见 SKILL.md中第 5、6、7 步——生成与检查、快照目检、通过源码修复——的收口环节在第 8 步制造前报告之前强制执行。工作流的顺序是路由到设备族参考文档微流控 / 光机 / 实验室耗材适配 / 行为实验装置在任何几何建模之前确立接口尺寸来源、标称值与公差、间隙或过盈意图先选工艺再定几何读取 fabrication-limits.md编写参数化模型*_model.py运行gen.py生成产物并执行数值检查渲染快照并真正看图任何检查失败都通过修改源码修复绝不修补 STEP走完 validation.md 清单后向用户报告清单的每一项背后都有可运行的命令多数检查失败会通过非零退出码直接卡住构建。例如gen.py在生成时就会评估模型声明的checks()量规gen.py任一失败即退出非零check.py的检查子命令同样退出非零以作为构建闸门见 check.py 的文件头注释。验证不是事后诸葛亮而是构建流水线的一部分。1. Provenance溯源STEP 必须可复现第一关检查的是你要交付的那个 STEP 到底从哪来的。清单要求三项STEP 必须由gen.py从当前模型源码生成。拦截的失败模式是你刚改完代码但手里拿的是与代码不一致的过期产物。同目录下必须存在*.manifest.json且其中source.sha256与模型文件一致。这拦截静默手工编辑导出 STEP那会让设计失去可复现性。manifest 的interfaces块必须覆盖捆绑标准涵盖的每一个尺寸且数值必须是模型在--param覆盖之后计算的结果。空列表只有在零件没有任何部分与捆绑标准配合时才是正确的——此时报告里要把每个接口尺寸明确命名为未检查。清单给出的标准命令python scripts/gen.py part_model.py --outdir out/从源码看这条命令的可复现性保证体现在多个层面gen.py源文件哈希gen.py调用_common.py中的sha256_of()scripts/_common.py以 64 KiB 分块流式计算模型文件 SHA-256写入 manifest 的source.sha256字段。验证清单第 1.2 条正是让你把这个哈希与当前模型文件比对——哈希不一致就说明 STEP 与源码脱节了。解析后的参数快照manifest 记录parameters模型公开的标量参数与overrides命令行--param注入的覆盖值两者分离覆盖历史可审计。接口声明的解析后数值interfaces在build()之后读取确保记录的是覆盖后解析出的真实数字。源码对此有专门防护——若模型声明的是模块级静态INTERFACES列表在--param应用之前就被求值gen.py会打印警告任何由被覆盖参数导出的接口现在都被记录为错误并提示把静态列表改写成interfaces()函数gen.py。这正是清单第 1.3 条要拦截的冻结在导入时的静态列表陷阱。环境快照build123d 版本、Python 版本、平台信息一并入档为跨机复现提供依据。清单第 1.4 条要求模型中每个参数都以带单位的名称命名。这在技能中有硬性编码约定所有用户可能修改的尺寸都是带单位的模块级具名常量如bore_d_mm、wall_t_mm、post_h_mm且除 0、1、2 外不允许裸数字出现在模型正文见 SKILL.md 第 4 步与 build123d-patterns.md。拦截的失败模式是那个没人能认出是半英寸的裸12.7。2. Geometry is sound几何健全数字不会撒谎但会漏报第二关从几何内核层面确认实体不是坏的。命令python scripts/check.py facts out/part.step python scripts/check.py geometry out/part.step --model part_model.pycheck.py facts输出is_valid、包围盒mm、体积、表面积、质心、实体数量check.py这些数据由_common.py的shape_facts()统一计算scripts/_common.py。清单用它拦截三类问题is_valid为假——自相交或非流形实体切片器和 CAM 会静默把它弄坏solid_count不符合预期通常为 1——布尔减失败留下两个不相连的块或某个特征悬浮在主体之外体积与零件尺寸和壁厚不符——空腔被当实体建模了或减法根本没生效。check.py geometry则执行模型checks()声明的 go/no-go 量规实测而非声明。量规有三种形态schema 见 scripts/_common.pyclear区域——必须无材料通过的空间螺丝轴、光束通道、最大材料条件下的配合件落入凹槽默认每个位置允许侵入体积tol_mm3 0.01 mm³material区域——必须保留材料的地方脊、台阶、螺丝座默认要求至少min_mm3 0.01 mm³bbox_*边界——用户给出的每个尺寸上限bbox_x/y/z、bbox_min/mid/max都映射为一条检查。实现上每个量规被物化为一个实体盒子或圆柱与零件求布尔交集intersection_volume()scripts/_common.py逐位置比较体积evaluate_checks。gen.py在生成时也会运行同一套量规并逐个打印 PASS/FAIL、记录进 manifest失败即非零退出——所以违反自身声明几何的零件永远不会悄悄变成产物check.py geometry则对导出的 STEP权威产物重跑同一套量规check.py。清单特别强调这些量规捕捉的是is_valid、包围盒和声明数字看不见的错误——一个吃掉了螺丝座的凹槽、配合件进不去的口袋、中间立着一堵墙的光束通道、被圆角静默吞噬的特征。量规尺寸应从需求本身的数字板的最大材料条件、用户的高度上限出发而不是从参数出发否则错误的参数会把量规缩到和错误几何一样小——这一设计意图在 SKILL.md 的 carrier 示例注释中写得很清楚。3. Interfaces接口最昂贵失败模式的防线清单明确指出每一个接口尺寸都有书面来源标准 ID、厂商图纸或用户测量值没有一个来自记忆——这是本技能中最昂贵的失败模式。因为来自记忆的接口尺寸是单一最贵失败模式SKILL.md 第 2 步。命令python scripts/check.py interfaces out/part.manifest.json # 当某个尺寸未在模型中声明时用手动方式逐项检查 python scripts/check.py fit --standard id --intent envelope --clearance mm --value dimmmcheck.py interfaces读取 manifest 中模型声明的每一条接口对照标准数据库assets/standards.json校验数值check.py。校验的核心算术在_evaluate()中check.py它实现了两种意图intent两者回答的是不同问题match对称带本零件自身必须符合标准。接受带 标称 ± 公差 ± 间隙间隙只会加宽、不会平移带。适用于零件自身轮廓就是接口的场景例如垫圈按板轮廓切割。envelope单向下限本特征必须接纳任何合格零件——凹槽、孔、槽。检查下限 标称 正公差 间隙单向通过。按标称设计这类特征只装得下合格零件中较小的那一半。一个关键约束clearance必须 ≥ 0。源码会直接拒绝负间隙并给出可操作提示——间隙只能加宽接受带不能平移它如果特征是有意做小的请在报告中说明而不是把它编码为负间隙check.py。这防止了声明的接口移动自己的接受带从而认证一个不合格数值。清单还要求接收标准化组件的特征使用intent: envelope。测试用例test_envelope_intent_requires_maximum_material_condition实证了这一语义127.76 标称的板公差 0.25间隙 0.8按标称做槽128.56必须失败按最大材料条件做128.81才通过tests/lab-hardware-cad/test_scripts.py。任何verified: false的标准条目都必须对照一手文档确认或明确告知用户未确认。标准数据库中每个条目都有verified布尔字段和来源文档check.py interfaces对未核实条目输出WARNING: standard entry is not verified against the documentstandards --show同样会打印警告。测试test_unverified_entries_say_so_in_their_notes还强制数据库本身把未核实条目在注释中标明。公制 vs 英制必须确认。1 英寸严格等于 25.4 mm而 25 mm 公制光学网格与 1 英寸英制网格不可互换——四孔误差累计 1.6 mmSKILL.md 单位一节。数据库中optical-breadboard-metric与optical-breadboard-imperial是两条独立记录测试test_metric_and_imperial_grids_are_distinct断言两者网格间距标称值不同。不在任何捆绑标准内的接口厂商图纸、测量值必须在报告中向用户说明为未检查并给出数值与来源。源码对此的立场很强硬空声明列表通过检查零件没有任何部分与捆绑标准配合是正确状态不是错误但check.py interfaces会输出提示——不要虚构声明来填补空白把每个接口尺寸及其来源用户规格、厂商图纸、测量在报告中命名为未检查check.py。check.py interfaces有一条重要边界源码注释明确它校验的是声明的数字——能抓住抄写错误、选错标准、按标称而非 MMC 定尺寸——但永不测量构建出的几何且由与检查所用相同常量计算出的数值按构造必然零裕量通过。所以它不能作为几何正确的证据几何正确性由facts和快照负责check.py。4. Fits and assembly配合与装配标称尺寸不是配合清单第 4 关处理零件之间的相对关系每个配合尺寸都为工艺选择了刻意的间隙。拦截标称对标称的配合装不上。技能给出了每侧的常见起点值完整表格见 SKILL.md 公差与配合一节与 fabrication-limits.md配合类型FDMSLACNC自由滑动板落入凹槽0.40 mm0.20 mm0.10 mm定位但可手拆0.25 mm0.10 mm0.05 mm压配 / 过盈-0.05 mm-0.03 mm-0.02 mm这些是首件起点而非保证值报告时须如实说明并建议关键接口先打印测试样块。多零件装配检查干涉python scripts/check.py clearance out/a.step out/b.step --min 0.3check.py clearance的实现check.py先求两个实体的布尔交集体积超过 1e-6 mm³ 即判定干涉零件在 CAD 中重叠因此不可能同时存在无干涉时再计算最小间距并与--min默认 0.2 mm比较。刚性多孔安装模式至少有一个槽。拦截四孔螺栓阵列因公差累积而卡死——这正与公制/英制网格 1.6 mm 的累积误差同源。5. Manufacturability可制造性几何能画出来不等于能造出来第 5 关把设计放回工艺现实依据 references/fabrication-limits.md最小壁厚与特征尺寸落在所选工艺范围内。工艺规划表都是起点值须用测试样块验证FDM 典型公差 ±0.3 mm超过 100 mm 常常更差、最小壁厚 1.2 mm3×0.4 mm 喷嘴、最小特征约 0.8 mm各向异性且多孔SLA/DLP ±0.1 mm、壁厚 0.8 mm、特征约 0.3 mmSLS ±0.2 mm、各向同性、无需支撑CNC ±0.05 mm 或更好内角携带刀具半径——铣削不出尖锐内角激光切割 ±0.1 mm、切缝约 0.1–0.3 mm、仅 2D。打印/加工方向必须声明且载荷沿层向而非横跨层向。FDM 零件横跨层向明显更弱方向是设计决策而非打印细节水平孔会垂顶需泪滴或倒角保持圆整每个封闭腔在树脂打印中都需要排液路径。螺纹用嵌件或包螺母而非打印螺纹除非粗牙。打印螺纹通常是个错误——层分辨率与螺距相当强度差、尺寸不可靠、掉屑。优先级热熔螺纹嵌件 清孔六角槽包螺母 直接攻丝打印材料仅限轻载、少拆装 打印螺纹仅限约 M6 以上的粗牙绝不用于 SM1 这类 0.635 mm 细牙。封闭腔留树脂排液路径尽可能无支撑通道。铣削内角留刀具半径的让位。如果铣削口袋要容纳方件必须加角部让位切割。6. Material材料被清洁剂打败的完美几何第 6 关强调一个反直觉的事实材料必须与清洁剂兼容而不仅仅是与样品兼容。这正是制造中最常翻车的地方之一亚克力PMMA接触醇类包括 70% 乙醇会开裂——在一个用乙醇消毒一切实验室里这是严重问题PLA 在 121 °C 高压灭菌中严重变形远低于其使用上限PLA 还会水解在湿热或反复清洗服务中劣化聚碳酸酯被许多溶剂和碱性清洁剂侵蚀PP、PTFE、PEEK 化学耐受面广是溶剂接触的安全选择。清单据此要求材料与清洁剂兼容70% 乙醇使亚克力龟裂、高压灭菌使 PLA 变形灭菌方法明确陈述且材料确实能扛住假设打印件不可高压灭菌除非是验证过的高温材料替代方案是化学或气体灭菌并须对照溶剂注意事项核查接触细胞、组织或动物的任何东西都有正当的材料理由或把接触设计掉——未固化的 SLA 树脂有细胞毒性生物相容标签指特定认证工艺与用途不随你的打印机、固化安排或实验迁移零件靠近光束或探测器时须回应光学要求——打印/铣削表面会散射多数打印树脂显著自发荧光黑色不自动低反射。材料维度的完整数据热学使用上限表、化学耐受性、生物相容性、光学注意事项、成本与交期现实见 references/fabrication-limits.md。7. Visual review目检不可豁免的强制关卡第 7 关是全清单中最强硬的条款快照渲染了不算必须真正读图。python scripts/snapshot.py out/part.step --out out/part.png确认项包括特征在预期的面上模具/芯片极性正确每个口、孔、凸台都存在、在体内、并贯通没有特征被圆角吞噬净孔无遮挡。源码揭示了这张图是怎么画的snapshot.py通过 matplotlib 的 Agg 后端离屏渲染无需显示器、GPU 或查看器六个默认视图iso/front/right/top/left/bottom为真正的正交投影axes.set_proj_type(ortho)避免透视把方形件扭成楔形——那正是这张渲染图要排除的东西面来自 OpenCascade 的曲面细分轮廓线是模型真实的 BREP 边、不做隐藏线消除地绘出——所以透过材料看到的圆是远侧孔不是窗口零件并不透明读图时别把不存在的孔报成孔每张子图标注该视图的平面尺寸mm底座按法线与相机角度做平面着色让凹槽、台阶、凸台可读。清单在此处的不可豁免声明值得逐字强调数字检查通过绝不豁免这一步。is_valid: true加正确包围盒与凹槽切错了面或模具反转完全兼容——这些错误在图上显而易见在数字里隐形。还要知道渲染的极限远小于画面尺度的特征40 mm 零件上 0.3 mm 的模具脊、板上的沉头台阶从视图里可能根本无法判定不要报告图像分辨率撑不起的东西。此时技能提供了两款测量仪器check.py bores step普查每个圆柱面直径、轴、位置、跨度、扫掠角用于把钻孔与模型意图对账——完整 360° 扫掠是孔/凸台约 90° 是边圆角沉头孔是同轴的两段完整扫掠cylinder_censuscheck.py probe step --cyl D|--box X,Y,Z --at ...一次性回答这个区域是空的还是有材料无需编辑模型。引用测得数字图片只陈述图片真正显示的东西。8. Report报告诚实的交付物比自信的错误有用最后一关面向用户交付要求明确给出六项内容工艺与材料以及为什么每个接口尺寸及其来源与公差选定的间隙及其来源的配合等级快照显示了什么——要描述而不是仅仅说生成了快照每项未通过的检查以及每个无法验证的尺寸只要设计依赖配合就建议在投入整件之前先打印关键接口的测试样块。清单的收尾立场把未验证项如实陈述。一份带有一句诚实的这个尺寸需要确认的零件清单远比一份自信却静默错误的清单有用。这也与check.py fit在输出末尾的提醒呼应Reminder: a passing bounding box is not a passing part. Run snapshot.py.check.py——自动检查的沉默不是确认没人检查的尺寸必须被命名。把清单落成日常操作验证清单之所以能落地是因为它每一步都对应着可执行、可复现、失败即非零退出的命令且这些命令的行为由测试锁定。tests/lab-hardware-cad/test_scripts.py在不安装 build123d的情况下直接验证了标准数据库的格式、fit 算术match/envelope 两种意图、间隙偏移、MMC 判定、接口检查的清单语义与失败聚合——这意味着清单的关键防线可以在纯净环境里被持续验证tests/lab-hardware-cad/test_scripts.py。实践中完整的一轮验证流程是# 生成含 checks() 量规评估与 manifest 溯源记录 python scripts/gen.py part_model.py --outdir out/ # 数值三连几何事实、声明接口、实测量规 python scripts/check.py facts out/part.step python scripts/check.py interfaces out/part.manifest.json python scripts/check.py geometry out/part.step --model part_model.py # 多件装配干涉检查 python scripts/check.py clearance out/a.step out/b.step --min 0.3 # 强制目检渲染然后真正看图 python scripts/snapshot.py out/part.step --out out/part.png如果任何检查失败走第 7 步编辑参数或模型代码重跑gen.py再重跑上面的数值检查与快照绝不修补 STEP见 SKILL.md 第 7 步。out/只是约定俗成的暂存目录用户指定了交付位置时要用--outdir .生成或把 STEP、manifest、DXF 复制过去——只存在于out/里的交付物等于没交付。最后记住本清单的完整参考链工艺与材料数据在 references/fabrication-limits.mdinterfaces()与checks()契约和 build123d 0.11.1 模式在 references/build123d-patterns.md标准数据库在 assets/standards.json而技能总工作流在 SKILL.md。把这份清单走完再对用户说出可以制造了。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价