Catalogues familles — navigation, recherche, duplication paramétrée
En une phrase : Auguste vous fait gagner du temps sur la gestion des familles Revit — navigation par catégorie, recherche par filtre, duplication avec override des dimensions. Difficulté :
facile Temps gagné : ~20 min par projet (vs Project Browser + edit type manuel)
Les 3 tools de la vague 4
| Tool | Ce que ça fait |
|---|---|
revit_browse_91studio_catalog | Liste toutes les familles chargées, groupées par catégorie |
revit_search_family | Recherche par catégorie + nom partiel + filtre paramètre |
revit_duplicate_family_type | Duplique un FamilySymbol + override des paramètres |
Exemples d'usage
Naviguer le catalogue
« Liste-moi toutes les familles chargées dans le projet »
POST /tool-call
{ "tool": "revit_browse_91studio_catalog", "params": { "max_per_category": 50 } }Retour :
{
"categories_count": 28,
"total_types": 412,
"categories": [
{
"category": "Doors",
"count": 18,
"types": [
{ "type_id": "12345", "family_name": "Single-Flush", "type_name": "750 x 2100", "is_active": true },
...
]
},
{
"category": "Windows",
"count": 24,
"types": [...]
},
...
]
}Recherche ciblée
« Trouve-moi toutes les fenêtres qui font 1200mm de large »
{
"tool": "revit_search_family",
"params": {
"category": "OST_Windows",
"parameter": "Width",
"operator": "eq",
"value": "1200"
}
}« Toutes les portes contenant "vitrée" dans leur nom »
{
"tool": "revit_search_family",
"params": {
"category": "OST_Doors",
"name_contains": "vitrée"
}
}Retour : liste des FamilySymbols correspondants avec type_id, family_name, type_name, category, is_active. Limité à 200 résultats (avec flag truncated: true si plus).
Dupliquer un type avec dimensions custom
« Duplique la fenêtre F1-70x114 en F1-90x140 (90×140 cm) »
{
"tool": "revit_duplicate_family_type",
"params": {
"seed_type_id": "456789",
"new_type_name": "F1 - 90x140",
"params": {
"Width": 900, // en mm
"Height": 1400, // en mm
"Sill Height": 1100 // hauteur d'allège en mm
}
}
}Retour :
{
"new_type_id": "456790",
"new_type_name": "F1 - 90x140",
"family_name": "F1 Fenêtre",
"category": "Windows",
"applied_params": [
{ "name": "Width", "set": true },
{ "name": "Height", "set": true },
{ "name": "Sill Height", "set": true }
],
"skipped_params": []
} Convention agence : tous les paramètres
StorageType.Double (dimensions) sont passés en millimètres dans params. Auguste convertit en pieds Revit (÷ 304.8) automatiquement.
Si un paramètre est introuvable ou read-only, il apparaît dans skipped_params avec la raison. Le tool n'échoue jamais sur un param invalide — il liste juste ce qui n'a pas été appliqué.
Détails techniques
browse_91studio_catalog
- Source :
FilteredElementCollector + OfClass(FamilySymbol) - Groupement :
GroupBy(fs.Category.Name)puis tri alpha - Limite par catégorie :
max_per_category(default 100) pour éviter une response gigantesque dans les projets > 5000 types - Champ
is_active: un FamilySymbol doit être Activate() avant de pouvoir être instancié — utile pour Claude qui veut savoir si un appelplace_family_instancedoit d'abord activer
search_family
- Filtres composables (tous AND) :
category+name_contains+parameter+operator+value - Catégories acceptées :
OST_*enum BuiltInCategory (cf. doc Revit API)- Nom EN ou FR de la catégorie ("Windows" / "Fenêtres")
- Opérateurs paramètre : eq/neq/contains/starts_with/ends_with/gt/lt — identiques à
revit_select_by_filter - Recherche nom :
name_containscherche dans FamilyName ET TypeName (OR) - Limite résultats : 200 (flag
truncated)
duplicate_family_type
- API :
FamilySymbol.Duplicate(newName)→ renvoie un nouveau Symbol - Override paramètres : tente
LookupParameterpuisParameter.Set(value) - Conversion automatique :
StorageType.Double→ valeur passée ÷ 304.8 (mm → pieds)StorageType.Integer→ cast intStorageType.String→ cast string
- Paramètres read-only ou introuvables : reportés dans
skipped_paramsavec raison, jamais d'exception
Limitations connues
Pas de création from scratch : ce tool duplique un type existant. Pour créer une famille from scratch (geometry + parameters), il faut
Document.NewFamilyDocument+ Family Editor API (lourd, non exposé dans cette vague).Paramètres calculés : si un param est lié à une formule (read-only), Auguste skip — utiliser
parametercalculé=formule depuis l'éditeur de famille.Catalogue 91STUDIO custom : à l'avenir, cette vue pourra croiser avec
config/agency-rules/91studio.jsonpour marquer les familles "officielles agence" vs "ad-hoc".
À venir (vague 4bis)
revit_load_family_from_path— charger une famille depuis un .rfa local ou URLrevit_export_family_to_path— exporter une famille pour archivagerevit_create_window_family_from_scratch— création complète via Family Editor API (coût élevé)
Public cible : utilisateurs et utilisatrices, agents IA (Claude) Dernière vérification : 2026-05-16 (vague 4 livrée à 03:15)