SuperAPI AI 工具集

cdf-simulation

测试与质量

查看项目

更新于 10-22 12:41

技能介绍

cdf-simulation 是组件自有的指导性技能,用于处理直接提交或经 Airflow 触发的 DIG Flow Catalog 提示词所对应的 CDF 仿真请求。它通过声明式 Python API 将提示词模板及等价直接请求转换为 cdf 作业。

用途与定位 调用方提供电路板 USD 和输出根目录,技能负责构建并编译作业,随后由调用方将载荷交给自己的执行器执行。技能本身不执行渲染,也不调用 render()。Airflow 可注入必需输入,调用方也可直接提供;若缺失且可交互,则询问一次;不可交互的自动化场景下会停止并报告。所有可选歧义均以固定且有文档记录的默认值解决;若请求确实无法服务(如不支持的缺陷类型、非 USD 输入),会明确说明而非猜测或静默忽略。

主要能力与目录覆盖 技能实现五个 DIG Flow Catalog 条目,均以电路板 USD 为输入:1)金样板(THT);2)变异类型(THT 引脚几何);3)良品图像(SMT);4)结构缺陷(SMT);5)纹理缺陷(SMT 焊料),其中桥连不受支持。除目录条目外,还服务五个参考流程:金板扫描、元件缺陷、SMT 焊料缺陷、缺件、THT 焊料缺陷,每个流程以一条提示词表述,其编译计划需与等价 YAML 配置一致。带流程标记(扫描网格加 stitched、指定 refdes 的缺陷、component-focus 或 pin-focus 裁剪)的提示词按流程处理,采用该文件中的固定值,与目录默认值不同。

使用方式 流程分四步且顺序固定:第一步将提示词精确匹配到唯一目录条目或参考流程(先检查流程标记),无匹配时说明支持的请求形态并请调用方选择,绝不拼凑替代方案;第二步按优先级解析输入(状态文件、提示词显式参数、代理上下文、用户提示词文本),仍未设定者取文档默认值;第三步按条目模板构建一个 cdf.CDFJob 脚本,每个变体一个作业,禁止循环;第四步用 job.compile_orders(...) 编译并读取结果,返回构建与编译计划,并报告假设。脚本需先 import pcb_aoi 以注册 pcb-aoi 域,并假定已导入 from cdf import CDFJob。

输入约束 电路板 USD 路径与输出根目录为必填且无回退,缺失时交互可问一次,非交互则停止(拒绝情形 3),绝不替换样例板或凭空创建目录。可选组件 sidecar 仅在旧式独立板依赖它或调用方显式选择时附加,默认优先使用 USD 内嵌元数据;实例化面板必须使用内嵌元数据。命名的元件须在所选元数据源中存在,缺失为拒绝情形 4,绝不替代。板根路径需打开附件读取,不可读则拒绝。

关键限制 capture.renderer(...) 为必需字段,缺失会被 compile_orders() 拒绝;capture.camera(rotation_range=...) 必填,仅 side 有默认值;多个 operations.add_* 调用需要无默认值的幅度参数,须取自固定默认表而非编造或询问;声明顺序受强制约束,select_components 必须先于 label_components;scene.select_components(source="usd") 无 types 时需有内嵌元件元数据或指向 sidecar,否则运行时失败;THT 板需以 pcba:mesh:role 模式编写通孔引脚,否则无法运行 pin_variation。载荷为 CDFJob 构建加 job.compile_orders(...) 生成的 JobOrderPlan,并用 JobOrderCodec.dumps(plan) 序列化(裸 model_dump() 不可 JSON 序列化),同时附解析输入摘要,标明每个生效的默认值。

适用场景 适用于 PCB AOI 仿真数据生成:金板数据集扫描、引脚几何变异、SMT 良品图像、结构缺陷与焊料纹理缺陷注入、缺件与 THT 焊料缺陷检测场景等,供下游执行器(如 Airflow DAG)渲染。