From 7f68f577703b807581c60938952d67b007e999eb Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Sun, 12 Jul 2026 00:18:32 +0200 Subject: [PATCH] Aggiunge la skill o-ring per scelta O-ring e dimensionamento cava Include tabella dimensioni, schema quotato mostrato insieme al risultato numerico, e uno script per esportare le singole skill in zip da caricare su Claude per i test. Co-Authored-By: Claude Sonnet 5 --- .gitignore | 1 + plugins/machine-design/CHANGELOG.md | 1 + plugins/machine-design/README.md | 2 +- plugins/machine-design/skills/o-ring/SKILL.md | 37 ++++++++ .../skills/o-ring/assets/schema-cava.png | Bin 0 -> 19335 bytes .../skills/o-ring/references/schema-cava.md | 16 ++++ .../references/tabella-dimensioni-cava.md | 80 ++++++++++++++++++ scripts/export-skills.ps1 | 65 ++++++++++++++ 8 files changed, 201 insertions(+), 1 deletion(-) create mode 100644 plugins/machine-design/skills/o-ring/SKILL.md create mode 100644 plugins/machine-design/skills/o-ring/assets/schema-cava.png create mode 100644 plugins/machine-design/skills/o-ring/references/schema-cava.md create mode 100644 plugins/machine-design/skills/o-ring/references/tabella-dimensioni-cava.md create mode 100644 scripts/export-skills.ps1 diff --git a/.gitignore b/.gitignore index 7cfd02b..6cfd8ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .DS_Store *.log node_modules/ +dist/ diff --git a/plugins/machine-design/CHANGELOG.md b/plugins/machine-design/CHANGELOG.md index f5620f3..2fad66a 100644 --- a/plugins/machine-design/CHANGELOG.md +++ b/plugins/machine-design/CHANGELOG.md @@ -8,3 +8,4 @@ Il formato si basa su [Keep a Changelog](https://keepachangelog.com/it/1.1.0/). ### Aggiunto - Struttura iniziale del plugin. +- Skill `o-ring`: scelta dell'O-ring e dimensionamento della cava (larghezza e diametro di fondo cava) per tenute su albero o su foro, con tabella dimensioni ([references/tabella-dimensioni-cava.md](skills/o-ring/references/tabella-dimensioni-cava.md)) e schema quotato mostrato insieme al risultato numerico ([assets/schema-cava.png](skills/o-ring/assets/schema-cava.png)). diff --git a/plugins/machine-design/README.md b/plugins/machine-design/README.md index 4b4e3f7..2025c7c 100644 --- a/plugins/machine-design/README.md +++ b/plugins/machine-design/README.md @@ -6,7 +6,7 @@ Le skill di questo plugin si installano tutte insieme aggiungendo questo reposit ## Skill disponibili -_Nessuna skill ancora presente._ +- **o-ring**: scelta dell'O-ring e dimensionamento della cava (larghezza e diametro di fondo cava) per tenute su albero o su foro. ## Convenzioni diff --git a/plugins/machine-design/skills/o-ring/SKILL.md b/plugins/machine-design/skills/o-ring/SKILL.md new file mode 100644 index 0000000..ce8a66f --- /dev/null +++ b/plugins/machine-design/skills/o-ring/SKILL.md @@ -0,0 +1,37 @@ +--- +name: o-ring +description: Sceglie l'O-ring più adatto e calcola le dimensioni della cava (larghezza e diametro di fondo cava) a partire dal diametro nominale di albero o foro, per cava ricavata sull'albero o nel foro. Usa questa skill ogni volta che l'utente chiede di dimensionare una cava per O-ring, scegliere un O-ring per una tenuta statica/dinamica su albero o foro, verificare le quote di una cava esistente, o anche solo menziona un diametro d'albero/foro insieme a "O-ring", "cava", "tenuta" o "guarnizione" — anche se non usa termini tecnici precisi. +--- + +# Scelta O-ring e dimensionamento cava + +Questa skill guida la scelta dell'O-ring e il calcolo delle quote della cava (sede) in cui alloggiarlo, per tenute radiali su albero o su foro. Le quote derivano da un manuale tecnico fornito dall'utente (non una norma UNI/ISO citabile), riportato in [references/tabella-dimensioni-cava.md](references/tabella-dimensioni-cava.md). + +## Dati necessari all'utente + +Prima di procedere, verificare di avere **entrambe** queste informazioni. Se manca anche una sola, chiederla esplicitamente prima di fare qualunque calcolo: + +1. **Diametro nominale di accoppiamento** (mm): il diametro dell'albero o del foro nella zona di tenuta. È sufficiente che l'utente fornisca uno dei due (albero o foro), dato che nell'accoppiamento sono all'incirca coincidenti (accoppiamento scorrevole). +2. **Dove va ricavata la cava**: sull'**albero** o nel **foro**. Cambia la quota di fondo cava da restituire (`C` per il foro, `N` per l'albero) e con essa la riga giusta in tabella — quindi se l'utente fornisce solo un diametro senza specificarlo, chiedere quale dei due componenti deve ospitare la cava prima di cercare in tabella. + +## Riferimento dati + +- Tabella completa dimensioni O-ring/cava: [references/tabella-dimensioni-cava.md](references/tabella-dimensioni-cava.md) — usarla per la ricerca del valore. +- Schema quotato (tre viste: O-ring isolato, cava nel foro, cava sull'albero), spiegato in [references/schema-cava.md](references/schema-cava.md): l'immagine vera e propria è in [assets/schema-cava.png](assets/schema-cava.png) e va **mostrata all'utente insieme al risultato finale** (vedi Procedura, punto 4) — le sigle A, B, C, D, H, M, N, d hanno senso solo se l'utente può vederle sul disegno mentre legge i numeri corrispondenti. + +## Procedura + +1. Nella tabella di riferimento, cercare la riga (o le righe) il cui diametro di accoppiamento è più vicino al valore richiesto dall'utente: + - se la cava va **nel foro**, confrontare il diametro richiesto con la colonna **D**; + - se la cava va **sull'albero**, confrontare il diametro richiesto con la colonna **M**. +2. Se il valore richiesto coincide esattamente (o quasi) con più righe della tabella (capita per alcune sigle duplicate nella fonte, es. "OR 3075", "OR 3150" — vedi nota nella tabella), riportare **tutte** le opzioni trovate, con le rispettive dimensioni complete, lasciando all'utente la scelta finale (es. in base allo spazio radiale disponibile: sezione `A` maggiore = tenuta più robusta ma cava più profonda). +3. Se il diametro richiesto dall'utente cade tra due righe della tabella senza corrispondenza vicina, segnalarlo e proporre le due righe più vicine (per difetto e per eccesso) invece di interpolare: la tabella riporta O-ring di serie normalizzata, non è corretto interpolare i valori. +4. Presentare il risultato **in un'unica risposta che includa sia la tabella numerica sia l'immagine dello schema**, così l'utente può leggere le quote e vederne subito il significato geometrico: + - copiare `assets/schema-cava.png` in `/mnt/user-data/outputs/` e mostrarlo con `present_files`, nella stessa risposta in cui si riportano i numeri (non in una risposta separata precedente); + - accanto o subito dopo l'immagine, la tabella con: sigla/e O-ring (`Riferimento`), diametro interno O-ring (`d`) e sezione (`A`); larghezza cava (`B`); diametro di fondo cava (`C` se nel foro, `N` se sull'albero); la quota `H` di catalogo, precisando che il suo significato geometrico non è confermato dal disegno disponibile; il diametro di accoppiamento nominale usato per la ricerca (`D` o `M`). + +## Ipotesi e limiti di validità + +- I valori sono presi da un manuale tecnico fornito dall'utente, non da una norma UNI/ISO citabile: se in futuro si dispone del riferimento normativo o del catalogo originale, aggiornare la nota in [references/tabella-dimensioni-cava.md](references/tabella-dimensioni-cava.md). +- La tabella non specifica se le quote sono pensate per tenuta statica o dinamica (con strisciamento): non fare assunzioni sull'applicazione, chiedere all'utente se rilevante per il caso d'uso (es. velocità di scorrimento, pressione, fluido) prima di validare la scelta per un'applicazione dinamica. +- Non estrapolare né interpolare dimensioni per diametri fuori dal range della tabella (12,37–101,00 mm circa per `d`): segnalarlo come fuori tabella. diff --git a/plugins/machine-design/skills/o-ring/assets/schema-cava.png b/plugins/machine-design/skills/o-ring/assets/schema-cava.png new file mode 100644 index 0000000000000000000000000000000000000000..9b0672b7cbe9d7605105daa1ce93829528dac936 GIT binary patch literal 19335 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

j0;hWF?z4wUA^z?+}_V#oP^n|w4 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 literal 0 HcmV?d00001 diff --git a/plugins/machine-design/skills/o-ring/references/schema-cava.md b/plugins/machine-design/skills/o-ring/references/schema-cava.md new file mode 100644 index 0000000..d38eb4c --- /dev/null +++ b/plugins/machine-design/skills/o-ring/references/schema-cava.md @@ -0,0 +1,16 @@ +# Schema di riferimento cava O-ring + +Immagine di riferimento: [../assets/schema-cava.png](../assets/schema-cava.png). Questa immagine va mostrata all'utente insieme al risultato finale (vedi "Procedura" in SKILL.md), non solo consultata internamente. + +Il disegno tecnico fornito dall'utente è composto da tre viste: + +1. **Sezione dell'O-ring isolato**: mostra `A` (diametro di sezione del cordolo) e `d` (diametro interno dell'O-ring a riposo). +2. **Sezione della cava ricavata nel FORO**: mostra `B` (larghezza assiale della cava), `C` (diametro di fondo cava nel foro) e `D` (diametro nominale dell'albero che passa nel foro, quota di accoppiamento). +3. **Sezione della cava ricavata sull'ALBERO**: mostra `B` (larghezza assiale della cava, stessa quota della vista 2), `M` (diametro nominale del foro che circonda l'albero, quota di accoppiamento) e `N` (diametro di fondo cava sull'albero). + +Regola pratica per la selezione: + +- Cava **nel foro** → la cava allarga il diametro rispetto al foro nominale: `C > D`. +- Cava **sull'albero** → la cava riduce il diametro rispetto all'albero nominale: `N < M`. +- `B` è la larghezza assiale della cava in entrambi i casi. +- `H` è una quota riportata dalla tabella sorgente ma il suo ruolo geometrico non è stato confermato: va comunicata all'utente come dato di catalogo, senza attribuirle un significato preciso. diff --git a/plugins/machine-design/skills/o-ring/references/tabella-dimensioni-cava.md b/plugins/machine-design/skills/o-ring/references/tabella-dimensioni-cava.md new file mode 100644 index 0000000..b0b8875 --- /dev/null +++ b/plugins/machine-design/skills/o-ring/references/tabella-dimensioni-cava.md @@ -0,0 +1,80 @@ +# Tabella dimensioni O-ring e cava + +Fonte: manuale tecnico fornito dall'utente (nessun riferimento normativo/catalogo specifico indicato). Dimensioni in mm. + +Significato colonne (vedi schema in [schema-cava.md](schema-cava.md)): + +- **Riferimento**: sigla commerciale dell'O-ring. +- **d**: diametro interno dell'O-ring a riposo. +- **A**: diametro di sezione (spessore) del cordolo dell'O-ring. +- **B**: larghezza assiale della cava (uguale sia per cava su albero sia per cava nel foro). +- **C**: diametro di fondo cava quando la cava è ricavata **nel foro** (quota da usare per il dimensionamento della cava lato foro). +- **D**: diametro nominale di accoppiamento dell'**albero** che passa nel foro sede della cava (quota di riferimento, non è una quota di cava). +- **H**: quota di catalogo riportata dalla fonte; ruolo geometrico non confermato, riportata per completezza. +- **M**: diametro nominale di accoppiamento del **foro** che circonda l'albero sede della cava (quota di riferimento, non è una quota di cava). +- **N**: diametro di fondo cava quando la cava è ricavata **sull'albero** (quota da usare per il dimensionamento della cava lato albero). + +| Riferimento | d | A | B | C | D | H | M | N | +|---|---|---|---|---|---|---|---|---| +| OR 3050 | 12,37 | 2,62 | 3,5 | 17,3 | 12,5 | 2,2 | 18 | 13,7 | +| OR 2050 | 12,42 | 1,78 | 2,5 | 16,2 | 13 | 1,4 | 16 | 12,8 | +| OR 117 | 13,10 | 2,62 | 3,5 | 17,8 | 13 | 2,2 | 18 | 13,4 | +| OR 3056 | 13,95 | 2,62 | 3,5 | 18,8 | 14 | 2,2 | 19 | 14,4 | +| OR 2056 | 14,00 | 1,78 | 2,5 | 17,2 | 14 | 1,4 | 18 | 14,9 | +| OR 119 | 15,08 | 2,62 | 3,5 | 19,8 | 15 | 2,2 | 20 | 15,4 | +| OR 3062 | 15,54 | 2,62 | 3,5 | 20 | 15,5 | 2,2 | 19 | 16,6 | +| OR 2062 | 15,60 | 1,78 | 2,5 | 19,2 | 16 | 1,4 | 19 | 15,8 | +| OR 3068 | 15,88 | 2,62 | 3,5 | 20,8 | 16 | 2,2 | 21 | 16,4 | +| OR 123 | 17,13 | 2,62 | 3,5 | 21,8 | 17 | 2,2 | 22 | 17,3 | +| OR 3075 | 17,86 | 2,62 | 3,5 | 22,8 | 18 | 2,2 | 23 | 18,4 | +| OR 4075 | 18,64 | 3,53 | 4,5 | 25,3 | 19 | 2,9 | 26 | 19,9 | +| OR 3075 | 18,72 | 2,62 | 3,5 | 23,8 | 19 | 2,2 | 24 | 19,5 | +| OR 4081 | 20,22 | 3,53 | 4,5 | 26,3 | 20 | 2,9 | 28 | 22,0 | +| OR 3081 | 20,24 | 2,62 | 3,5 | 24,8 | 20 | 2,2 | 25 | 20,3 | +| OR 128 | 20,63 | 2,62 | 3,5 | 25,8 | 21 | 2,2 | 26 | 21,5 | +| OR 4087 | 21,82 | 3,53 | 4,5 | 28,3 | 22 | 2,9 | 29 | 22,8 | +| OR 3087 | 22,22 | 2,62 | 3,5 | 26,8 | 22 | 2,2 | 27 | 22,3 | +| OR 4093 | 23,40 | 3,53 | 4,5 | 29,3 | 23 | 2,9 | 30 | 23,7 | +| OR 3093 | 23,81 | 2,62 | 3,5 | 28,8 | 24 | 2,2 | 29 | 24,4 | +| OR 4100 | 24,99 | 3,53 | 4,5 | 31,3 | 25 | 2,9 | 32 | 25,8 | +| OR 3100 | 25,07 | 2,62 | 3,5 | 29,7 | 25 | 2,2 | 30 | 25,3 | +| OR 134 | 25,80 | 3,53 | 4,5 | 32,3 | 26 | 2,9 | 33 | 26,8 | +| OR 4106 | 26,58 | 3,53 | 4,5 | 33,3 | 27 | 2,9 | 34 | 27,8 | +| OR 3106 | 26,65 | 2,62 | 3,5 | 31,7 | 27 | 2,2 | 32 | 27,2 | +| OR 4112 | 28,17 | 3,53 | 4,5 | 34,3 | 28 | 2,9 | 35 | 28,7 | +| OR 3112 | 28,25 | 2,62 | 3,5 | 32,7 | 28 | 2,2 | 33 | 28,3 | +| OR 4118 | 29,75 | 3,53 | 4,5 | 36,3 | 30 | 2,9 | 37 | 30,8 | +| OR 3118 | 29,82 | 2,62 | 3,5 | 34,7 | 30 | 2,2 | 35 | 30,2 | +| OR 4125 | 31,34 | 3,53 | 4,5 | 37,3 | 31 | 2,9 | 38 | 31,7 | +| OR 3125 | 31,41 | 2,62 | 3,5 | 36,7 | 32 | 2,2 | 32 | 32,3 | +| OR 4131 | 32,93 | 2,62 | 3,5 | 39,3 | 33 | 2,9 | 40 | 33,7 | +| OR 3131 | 32,99 | 2,62 | 3,5 | 37,7 | 33 | 2,2 | 33 | 33,2 | +| OR 4137 | 34,52 | 3,53 | 4,5 | 41,3 | 35 | 2,9 | 42 | 35,8 | +| OR 3137 | 34,60 | 2,62 | 3,5 | 39,7 | 35 | 2,2 | 40 | 35,2 | +| OR 4143 | 36,14 | 3,53 | 4,5 | 42,3 | 36 | 2,9 | 43 | 36,7 | +| OR 3143 | 36,14 | 2,62 | 3,5 | 40,7 | 36 | 2,2 | 41 | 36,2 | +| OR 3150 | 37,47 | 5,34 | 7,0 | 47,5 | 38 | 4,5 | 48 | 37,4 | +| OR 4150 | 37,69 | 3,53 | 4,5 | 44,3 | 38 | 2,9 | 45 | 38,7 | +| OR 3150 | 37,77 | 2,62 | 3,5 | 42,7 | 38 | 2,2 | 40 | 38,3 | +| OR 3156 | 39,34 | 2,62 | 3,5 | 44,7 | 40 | 2,2 | 40 | 39,6 | +| OR 144 | 39,69 | 3,53 | 4,5 | 46,3 | 40 | 2,9 | 46 | 39,6 | +| OR 6162 | 40,65 | 5,34 | 7,0 | 50,5 | 41 | 4,5 | 52 | 42,7 | +| OR 4162 | 40,95 | 2,62 | 3,5 | 45,7 | 41 | 2,2 | 46 | 41,3 | +| OR 146 | 41,28 | 3,53 | 4,5 | 48,3 | 42 | 2,9 | 48 | 41,7 | +| OR 3168 | 42,52 | 2,62 | 3,5 | 47,7 | 43 | 2,2 | 48 | 43,2 | +| OR 147 | 42,86 | 3,53 | 4,5 | 49,3 | 43 | 2,9 | 50 | 43,7 | +| OR 6175 | 43,82 | 5,34 | 7,0 | 53,5 | 44 | 4,5 | 55 | 45,6 | +| OR 4187 | 47,22 | 3,53 | 4,5 | 54,3 | 47 | 2,9 | 53 | 47,5 | +| OR 6200 | 50,16 | 5,34 | 6 | 60,4 | 50 | 4,5 | 61 | 50,5 | +| OR 6225 | 56,52 | 5,34 | 6 | 67,4 | 55 | 4,5 | 68 | 57,7 | +| OR 6250 | 62,87 | 5,34 | 6 | 73,4 | 60 | 4,5 | 74 | 66,6 | +| OR 6262 | 66,04 | 5,34 | 6 | 76,4 | 65 | 4,5 | 77 | 66,6 | +| OR 6287 | 72,39 | 5,34 | 6 | 83,4 | 70 | 4,5 | 85 | 74,5 | +| OR 6312 | 78,74 | 5,34 | 6 | 90,4 | 75 | 4,5 | 90 | 79,5 | +| OR 6325 | 81,92 | 5,34 | 6 | 92,4 | 80 | 4,5 | 92 | 81,5 | +| OR 6350 | 91,44 | 5,34 | 6 | 100,4 | 85 | 4,5 | 100 | 89,5 | +| OR 6362 | 97,79 | 5,34 | 6 | 102,4 | 95 | 4,5 | 92 | 91,5 | +| OR 6387 | 97,79 | 5,34 | 6 | 108,4 | 95 | 4,5 | 108 | 97,5 | +| OR 6400 | 101,00 | 5,34 | 6 | 110,4 | 100 | 4,5 | 111 | 100,6 | + +Nota: alcune sigle di riferimento (es. "OR 3075", "OR 3150") compaiono due volte nella tabella sorgente con dimensioni diverse; è probabile un refuso nella fonte (sigla duplicata per due grandezze distinte). In assenza del catalogo originale non è possibile correggere le sigle: usare la riga con il diametro `d` più vicino a quello richiesto e segnalare all'utente l'ambiguità quando capita. diff --git a/scripts/export-skills.ps1 b/scripts/export-skills.ps1 new file mode 100644 index 0000000..8c90093 --- /dev/null +++ b/scripts/export-skills.ps1 @@ -0,0 +1,65 @@ +<# +Esporta ogni skill (plugins/*/skills//) in uno zip separato in dist/, +pronto per essere caricato come skill singola su Claude (Settings -> Capabilities -> Skills) +per test rapidi senza passare dall'installazione dell'intero plugin/marketplace. + +Uso: + powershell -File scripts/export-skills.ps1 + powershell -File scripts/export-skills.ps1 -Skill o-ring # esporta solo una skill + +Ogni zip contiene i file della skill alla radice dell'archivio (SKILL.md in cima), +non dentro una sottocartella, come richiesto dal caricamento manuale su Claude. +#> +param( + [string]$Skill +) + +$ErrorActionPreference = "Stop" +$root = Split-Path -Parent $PSScriptRoot +$distDir = Join-Path $root "dist" + +if (-not (Test-Path $distDir)) { + New-Item -ItemType Directory -Path $distDir | Out-Null +} + +$skillDirs = Get-ChildItem -Path (Join-Path $root "plugins") -Directory | + ForEach-Object { Join-Path $_.FullName "skills" } | + Where-Object { Test-Path $_ } | + ForEach-Object { Get-ChildItem -Path $_ -Directory } + +if ($Skill) { + $skillDirs = $skillDirs | Where-Object { $_.Name -eq $Skill } + if (-not $skillDirs) { + throw "Skill '$Skill' non trovata sotto plugins/*/skills/" + } +} + +foreach ($dir in $skillDirs) { + $skillMd = Join-Path $dir.FullName "SKILL.md" + if (-not (Test-Path $skillMd)) { + Write-Warning "Salto $($dir.Name): manca SKILL.md" + continue + } + + $zipPath = Join-Path $distDir "$($dir.Name).zip" + if (Test-Path $zipPath) { + Remove-Item $zipPath -Force + } + + Add-Type -AssemblyName System.IO.Compression + Add-Type -AssemblyName System.IO.Compression.FileSystem + + $zip = [System.IO.Compression.ZipFile]::Open($zipPath, [System.IO.Compression.ZipArchiveMode]::Create) + try { + $files = Get-ChildItem -Path $dir.FullName -Recurse -File + foreach ($file in $files) { + $relativePath = $file.FullName.Substring($dir.FullName.Length + 1) -replace '\\', '/' + [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($zip, $file.FullName, $relativePath) | Out-Null + } + } + finally { + $zip.Dispose() + } + + Write-Host "Creato $zipPath" +}