first commit
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# 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:
|
||||
|
||||
```text
|
||||
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:
|
||||
|
||||
```powershell
|
||||
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:
|
||||
|
||||
```powershell
|
||||
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:
|
||||
|
||||
```powershell
|
||||
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:
|
||||
|
||||
```powershell
|
||||
dotnet run --project tools\model-diagnostics\RuleTemplateGenerator\RuleTemplateGenerator.csproj -c Release -- validate runtime\rule_templates\tight_fit_sleeve_requires_disassembly_access.json
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user