Files
mech-ai/tools/model-diagnostics/RuleTemplateGenerator/README.md
T
2026-07-17 17:45:56 +08:00

2.8 KiB

RuleTemplateGenerator

Converts teaching material into an executable rule package.

This tool is the future LLM-facing side of the diagnostic system. For now, the agent authors the first built-in rule package directly; later an LLM adapter should emit the same JSON contract.

Responsibility

RuleTemplateGenerator handles only teaching material:

  • input: teaching image and optional teaching text
  • output: semantic rule templates plus image-side 2D structure templates
  • it does not open SolidWorks models
  • it does not decide whether a product model is correct

Output Layers

The generated package has two required layers:

teaching image/text
  -> semantic rule template
  -> image 2D structure template

The semantic rule template says when a rule applies, what problem is reported, and which pass evidence can prove the design is acceptable.

The image 2D structure template preserves drawable structural relations from the figure, such as contact, outside connectivity, gaps, ports, blocked paths, and anchors such as m/h/t. Hatch lines, table borders, line thickness, and printed scale are ignored.

LLM Contract

Later, the LLM must output the same package structure. It is responsible for:

  • extracting the rule object and trigger condition
  • understanding which figure is problem evidence and which figures are pass evidence
  • extracting visual anchors such as m/h/t
  • producing image-side 2D structure templates
  • listing the model evidence that the program must verify

The LLM must not decide whether a SolidWorks model has a fault. That belongs to ModelDiagnosticVerifier.

This tool is generic. The sleeve-removal rule is only the first sample; future rules such as bearing mounting, axial part limiting, keyway orientation, gear-on-shaft checks, and cover fastening should use the same package structure.

Usage

Generate from a teaching image:

dotnet run --project tools\model-diagnostics\RuleTemplateGenerator\RuleTemplateGenerator.csproj -c Release -- generate --image "D:\path\teaching.png" --out runtime\rule_templates\rule.json

Generate from a teaching image plus extracted text:

dotnet run --project tools\model-diagnostics\RuleTemplateGenerator\RuleTemplateGenerator.csproj -c Release -- generate --image "D:\path\teaching.png" --text "D:\path\teaching.txt" --out runtime\rule_templates\rule.json

Create the current built-in sleeve-removal sample:

dotnet run --project tools\model-diagnostics\RuleTemplateGenerator\RuleTemplateGenerator.csproj -c Release -- sample-sleeve runtime\rule_templates\tight_fit_sleeve_requires_disassembly_access.json

Validate a generated package:

dotnet run --project tools\model-diagnostics\RuleTemplateGenerator\RuleTemplateGenerator.csproj -c Release -- validate runtime\rule_templates\tight_fit_sleeve_requires_disassembly_access.json