Outil VBA pour MicroStation V8i SS3 : recopie niveaux, styles de texte et palette de couleurs depuis une source (reference attachee ou fichier DGN quelconque) vers le fichier actif, avec previsualisation et selection ligne par ligne avant application.
- Choisir une source : une reference deja attachee au modele actif, ou un fichier DGN parcouru sur disque (sans toucher au fichier actif tant que rien n'est confirme).
- Cocher les categories a recuperer (Niveaux, Styles de texte, Palette de couleurs).
- Previsualiser : analyse la source, affiche chaque element candidat avec son etat (Nouveau / Identique / Conflit) et une case a cocher individuelle.
- Decocher au besoin les elements a exclure, notamment les conflits (nom deja present dans le fichier actif avec des proprietes differentes) qui ne sont jamais ecrases automatiquement.
- Confirmer : applique les elements coches au fichier actif.
- Styles de ligne personnalises : exclus. Aucune API VBA documentee ne
permet de copier une definition de style de ligne (stroke/point) entre
fichiers (
LineStylesest une collection lecture seule). - Styles de cotation (DimensionStyles) : exclus, meme constat.
- Conflits : jamais ecrases automatiquement, toujours presentes dans la previsualisation pour arbitrage manuel.
- Copier le dossier du projet sur le poste cible.
- Double-cliquer
install.cmd(lanceinstall.ps1) : copie le projet VBA dans le workspace MicroStation et configure le chargement automatique. Le script est relancable sans risque. - (Re)demarrer MicroStation.
Si Uniformiser.mvba n'est pas fourni pre-compile, importer les fichiers de
src/ dans un nouveau projet VBA MicroStation (Macro > Project Manager),
puis l'enregistrer sous ce nom.
Key-in MicroStation :
vba run [UniformiserV1]Uniformiser
Pour un lancement rapide, affecter une touche de fonction (Utilitaires > Touches de fonction).
Archetype "outil batch pilote par formulaire" : pas de machine a etats
IPrimitiveCommandEvents, tout part des boutons du formulaire modeless.
Un metier = une classe.
Uniformiser() ' .bas : entree + globals
|
+--- CSettings (g_oSettings) ' source retenue, categories cochees
|
+--- CMoteurUniformisation ' resolution source + analyse +
| (g_oMoteur) ' application (API MicroStation)
| +-- CItemUniformisation ' 1 ligne de previsualisation
| (une par element) ' (categorie, nom, etat, inclus)
|
+--- MFileDialog.bas ' boite "Parcourir" (Win32, zero API MicroStation)
|
+--- frmUniformiser ' modeless, controles construits au runtime
src/
UniformiserV1.bas - Module principal (entree + globals)
CSettings.cls - Parametres (source, categories cochees)
CItemUniformisation.cls - 1 ligne de previsualisation
CMoteurUniformisation.cls - Resolution source + analyse + application
MFileDialog.bas - Boite de dialogue "Parcourir" (Win32 pur)
frmUniformiser.frm - Formulaire (code)
frmUniformiser.frx - Blob designer (binaire, formulaire vide au repos)
scripts/
export_frm_via_excel.ps1 - Regeneration du couple .frm/.frx si les
proprietes du designer changent
install.cmd / install.ps1 - Installation automatique dans le workspace
MicroStation
- MicroStation V8i SS3, VBA active.
- Fichier
Default.mvbanon modifie : Uniformiser vit dans son propre projetUniformiser.mvbapour ne jamais entrer en conflit.