Biker

ANMA.tab/Modeler.panel/BikeR.pushbutton
À maintenir Loukas Delevaux 588 lignes aujourd'hui

Qualité du code

84/100
Documentation 100%
Robustesse 100%
Structure 100%
Conventions 36%

Diagnostics (1 warning)

!
Couplage pyRevit (1 import) — dépendance au framework, à découpler pour la portabilité PYREVIT_COUPLING
i
Interface WPF construite en code, sans fichier .xaml WPF_NO_XAML
🖥 WPF sans .xaml 30 fonctions 2 classes Nesting: 2 ✓ 10 try/except ✓ Transaction 21 commentaires (3.6%)

Dépendances

pyRevit
pyrevit
Revit API
Autodesk.Revit.DBAutodesk.Revit.DB.ArchitectureAutodesk.Revit.UIAutodesk.Revit.UI.Selection
.NET / CLR
System.IOSystem.WindowsSystem.Windows.ControlsSystem.Windows.Markupclr
Code local (projet)
BikeEngine
Python (stdlib)
mathos

Description

Version = 0.11 Date = 10.06.2026 __________________________________________________________ Description: Générateur de parkings vélo dans une pièce. Implante des emplacements de stationnement vélo sous forme d'empreintes 2D (régions remplies / lignes de détail) dans la vue plan active, aux dimensions du Décret 2022-930 / Arrêté du 30 juin 2022. Le pavage est calé sur l'orientation réelle de la pièce (insensible à la rotation du projet), avec des systèmes réels (râtelier, arceaux, longitudinal, double étage), plusieurs types de vélo (standard, VAE, cargo) et un mode de mélange (optimisation ou répartition manuelle). __________________________________________________________ Procédure: -> Se placer dans une vue en plan -> Sélectionner une pièce -> Dans la fenêtre unique : choisir les systèmes, les types de vélo, le mode de mélange, la représentation, et la catégorie de bâtiment (objectif affiché en direct), puis cliquer sur « Générer » -> Le script remplit la pièce et trace les empreintes 2D différenciées -> Un rapport compare la capacité générée à l'objectif réglementaire __________________________________________________________ Mise à jour: - [09.06.2026] - 0.1 Initialisation (brique lib/BikeEngine) - [09.06.2026] - 0.2 Interface unique (WPF), mélange, symboles vélos - [09.06.2026] - 0.3 Pavage en repère réel (rotation), presets systèmes avec contraintes, types de vélo, mix optim/manuel, représentation différenciée - [10.06.2026] - 0.4 Vélos collés au mur (face int. + marge 0), poteaux internes contournés (obstacles), décomposition rectangulaire des pièces en L/T (optimisation par sous-zones), test de chevauchement exact (SAT), connectivité des accès par les allées (carve minimal, remplace le couloir dédié) - [10.06.2026] - 0.5 Validation de l'allée de desserte par emprise (recul réel sur pièces en L) ; connectivité des accès avec largeur de passage garantie. - [10.06.2026] - 0.6 Couloir de connectivité à largeur exacte (fenêtres géométriques, grille 0,15 m) et carve minimal garanti (réinsertion gloutonne). - [10.06.2026] - 0.7 Debug visuel de la connectivité (grille, couloir, carve, réinsertions) activable par checkbox dans l'interface. - [10.06.2026] - 0.8 Optimisation du pavage : placement par glissement (les créneaux se ré-ancrent après un mur oblique / une porte / un poteau au lieu d'être perdus), bandes vides non consommées (sondage de profondeur), empilement des bandes ancré des deux côtés (8 combinaisons), décomposition L/T poursuivie après un rectangle trop fin, choix de la variante APRÈS le carve de connectivité, cache IsPointInRoom. - [10.06.2026] - 0.9 Connectivité : le couloir part du CENTRE de la porte (nœud décalé de 0,15 m vers l'intérieur au lieu de 0,60 m), l'ancre est cherchée DROIT devant la porte (marche perpendiculaire) puis par anneaux au plus proche, et le chemin Dijkstra est départagé par la longueur (couloir droit, sans déport latéral). Debug : marqueur magenta au centre de chaque porte + amorce vers l'ancre. - [10.06.2026] - 0.10 Mélange réel de systèmes (mode optimisation) : choix du système BANDE PAR BANDE sur la capacité réellement posée (un système dense sur les grandes travées, longitudinal sur les bandes résiduelles peu profondes), avec hystérésis pour grouper les emprises d'un même système. Les candidats mono-système restent évalués : le mélange n'est retenu que s'il AUGMENTE la capacité (jamais en-dessous du meilleur système pur). - [10.06.2026] - 0.11 Circulation de PREMIER RANG : le couloir reliant les accès est réservé AVANT le pavage (plus court chemin sur pièce vide, tronçons mutualisés), de largeur exacte, et le pavage se cale autour (keep-out en repère local). Comparé à l'approche carve a posteriori, on garde la meilleure capacité (à égalité : couloir réservé, 0 rack amputé). Le carve restant est itéré au point fixe (connectivité 1,20 m réellement garantie). Le couloir réservé est tracé (bleu). __________________________________________________________ Author: Loukas Delevaux

Métadonnées

Auteur
Loukas Delevaux
Lignes de code
588
Dernier commit
10 juin 2026
Message
Biker
Commit SHA
2ce47a0

Explication détaillée

Analyse IA

Générée à la demande par Workers AI en lisant le code source. Mise en cache jusqu'au prochain commit sur ce fichier.