La technologie Robot Open Standard permet de piloter le logiciel Robot Millennium à l’aide de programme écrit en Visual Basic ou en Visual Basic pour Application à l’aide d’Excel ou de Word.
Cet article montre comment configurer les différentes options de maillage pour un maillage de type Coons des éléments surfaciques.
Cette article nécessite des notions de programmation en Visual Basic et la connaissance des modules éléments surfacique de Robot Millennium.
1. Introduction
Pour lancer robot Millennium avec la technologie Robot Open Standard, il faut :
- Déclarer un objet IRobotApplication :
Public robapp As IRobotApplication
- Instancier cet objet :
Set robapp = New RobotApplication
Pour créer un projet de type plaque, il faut créer un nouveau projet de ce type :
robapp.Project.New (I_PT_PLATE)
Pour voir Robot Millennium, le booléen Visible doit prendre la valeur True
robapp.Visible = True
Pour intéragir avec Robot Millennium, le booléen Interactive doit prendre la valeur True
robapp.Interactive = True
Ainsi, Robot Millennium est ouvert et un nouveau projet de type plaque est créé.
2. Paramétrage des préférences de l'affaire - Maillage EF

Classiquement la boite de dialogue préférences de l’affaire permet à l’utilisateur de configurer le type de maillage éléments finis utilisé.
Les types de maillage disponibles sont :
- maillage gros
robapp.Project.Preferences.MeshParams.MeshType = I_MT_COARSE
- maillage normal
robapp.Project.Preferences.MeshParams.MeshType = I_MT_NORMAL
- maillage fin
robapp.Project.Preferences.MeshParams.MeshType = I_MT_FINE
- maillage utilisateur
robapp.Project.Preferences.MeshParams.MeshType = I_MT_USER
La case à cocher “Ajustage automatique des maillages” est accessible en positionnant le booléen MeshAutoAdjust à vrai ou à faux soit :
robapp.Project.Preferences.MeshAutoAdjust = True
robapp.Project.Preferences.MeshAutoAdjust = False
Pour sauvegarder ces paramètres, il faut sauver les préférences :
robapp.Project.Preferences.Save
3. Paramétrage des options de maillage
La fenêtre suivante est accessible en cliquant sur le bouton modifier de la boîte de dialogue précédente.

3.1. Méthodes de maillage admissibles :

Deux méthodes de maillage sont disponibles, la méthode Coons et la méthode Delaunay, pour les activer, on utilise la syntaxe suivante :
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.Method = I_MMT_COONS
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.Method = I_MMT_DELAUNAY
Liste déroulante des critères d’occurrence :
![]()
Cette liste déroulante propose 3 options :
- Jamais
- Rare
- Fréquente
Cette option correspond à la variable ImplementDegree. Il faut donc écrire suivant la configuration choisie :
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.ImplementDegree = I_MID_NEVER
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.ImplementDegree = I_MID_OFTEN
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.ImplementDegree = I_MID_RARELY
Liste déroulante Utilisation :
![]()
Cette liste déroulante propose 5 options :
- Non imposée
- Libre
- Proposée
- Recommandée
- Imposée
Cette option correspond à la variable ForcingRatio. Il faut donc écrire suivant la configuration choisie :
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.ForcingRatio = I_MFR_NONE
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.ForcingRatio = I_MFR_ANY
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.ForcingRatio = I_MFR_PROPOSED
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.ForcingRatio = I_MFR_RECOMMENDED
robapp.Project.Preferences.MeshParams.SurfaceParams.Method.ForcingRatio = I_MFR_FORCED
3.2. Eléments finis :

Liste déroulante Type(surfacique) :
Il existe 4 types de maillages surfaciques :
- triangulaires à 3 nœuds
- quadrangulaires à 4 nœuds
- triangulaires à 6 nœuds
- quadrangulaires à 8 nœuds
Pour paramétrer le types d’éléments finis à utiliser dans le maillage, il faut définir son Type, soit :
robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.Type = I_MSFET_3NODE_TRIANG
robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.Type = I_MSFET_4NODE_QUADRIL
robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.Type = I_MSFET_6NODE_TRIANG
robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.Type = I_MSFET_8NODE_QUADRIL
Coefficient de conversion :

Cette zone de texte permet valoriser la variable ConversionCoeff. La valeur attendue est un réel.
robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.ConversionCoeff = -0.3
Liste déroulante Utilisation :
![]()
Cette liste déroulante propose 5 options :
- Non imposée
- Libre
- Proposée
- Recommandée
- Imposée
Cette option correspond à la variable ForcingRatio. Il faut donc écrire suivant la configuration choisie :
robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.ForcingRatio = I_MFR_ANY robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.ForcingRatio = I_MFR_FORCED
robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.ForcingRatio = I_MFR_NONE
robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.ForcingRatio = I_MFR_PROPOSED
robapp.Project.Preferences.MeshParams.SurfaceParams.FiniteElems.ForcingRatio = I_MFR_RECOMMENDED
3.3. Génération du maillage

Trois boutons radio permettent de spécifier le type de maillage générer. Le maillage peut être automatique, spécifié par l’utilisateur ou défini en fonction de la taille de l ‘élément.
![]()
Cette option correspond à la variable Type. Il faut donc écrire suivant la configuration choisie :
robapp.Project.Preferences.MeshParams.SurfaceParams.Generation.Type = I_MGT_AUTOMATIC
robapp.Project.Preferences.MeshParams.SurfaceParams.Generation.Type = I_MGT_ELEMENT_SIZE
robapp.Project.Preferences.MeshParams.SurfaceParams.Generation.Type = I_MGT_USER
Les deux zones de texte ci-dessous permettent de spécifier le nombre de division ou la taille de l’éléments selon le type de génération choisie.
![]()
robapp.Project.Preferences.MeshParams.SurfaceParams.Generation.Division1 = 5
robapp.Project.Preferences.MeshParams.SurfaceParams.Generation.Division2 = 5
robapp.Project.Preferences.MeshParams.SurfaceParams.Generation.ElementSize = 0.01
3.4. Paramètres de la méthode Coons

Type de division :
On trouve ici cinq options :

Pour accéder à ces options on utilise la méthode suivante :
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.PanelDivisionType = I_MPDT_SQUARE_IN_RECT
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.PanelDivisionType = I_MPDT_TRIANG_AND_SQUARE_IN_TRIANG
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.PanelDivisionType = I_MPDT_TRIANG_AND_TRAPEZ_IN_TRIANG
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.PanelDivisionType = I_MPDT_TRIANG_IN_RECT
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.PanelDivisionType = I_MPDT_TRIANG_IN_TRIANG
Liste déroulante Utilisation :
![]()
Cette liste déroulante propose 5 options :
- Non imposée
- Libre
- Proposée
- Recommandée
- Imposée
Cette option correspond à la variable ForcingRatio de la méthode Coons. Il faut donc écrire suivant la configuration choisie :
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.ForcingRatio = I_MFR_ANY
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.ForcingRatio = I_MFR_FORCED
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.ForcingRatio = I_MFR_NONE
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.ForcingRatio = I_MFR_PROPOSED
robapp.Project.Preferences.MeshParams.SurfaceParams.Coons.ForcingRatio = I_MFR_RECOMMENDED
4. Conclusion
Pour sauvegarder ces paramètres, il faut sauver les préférences :
robapp.Project.Preferences.Save
Le fichier Excel téléchargeable est un exemple d’utilisation du propos exposé :
Pour visualiser le code source, lancer Ms Excel et ouvrir l’éditeur VBA (Alt+F11