Exemple de code d'une macro au niveau de l'application en VB.NET

Dans l'IDE, utilisez le code suivant pour créer une macro qui ajoute une note textuelle à la vue.

Public
Sub MyFirstMacroAppVB()    
Dim
baseVec As Autodesk.Revit.DB.XYZ = Application.Create.NewXYZ(1.0,
0.0, 0.0)Dim
upVec As Autodesk.Revit.DB.XYZ = Application.Create.NewXYZ(0.0,
0.0, 1.0)Dim
origin As Autodesk.Revit.DB.XYZ = Application.Create.NewXYZ(0.0,
0.0, 0.0)Dim
align As Autodesk.Revit.DB.TextAlignFlags = Autodesk.Revit.DB.TextAlignFlags.TEF_ALIGN_LEFT
Or Autodesk.Revit.DB.TextAlignFlags.TEF_ALIGN_TOPDim
strText As String = "My First Macro, App Level, VB.NET!"Dim
lineWidth As Double = 4.0 / 12.0Dim
pView As Autodesk.Revit.DB.View = ActiveUIDocument.Document.ActiveViewDim
Transaction As Autodesk.Revit.DB.Transaction = New Autodesk.Revit.DB.Transaction(ActiveUIDocument.Document, "NewTextNote")Transaction.Start()ActiveUIDocument.Document.Create.NewTextNote(pView,
origin, baseVec, upVec, lineWidth, align, strText)Transaction.Commit()
End Sub

Cette macro au niveau de l'application étant écrite pour modifier un document, vous devez commencer une transaction (Transaction.Start()) et terminer la transaction (Transaction.Commit()) pour que son exécution fonctionne correctement.

Conseil : Veillez à intégrer votre projet dans l'environnement de développement intégré (IDE) de macro Revit avant de l'exécuter à partir du gestionnaire de macros.

Dans le cadre de cet exemple, lorsque vous intégrez le projet dans l'IDE de macro Revit, notez que vous créez le projet en AppVisualBasic. Le code de votre macro au niveau de l'application VB.NET réside dans ThisApplication.vb. Vous pouvez utiliser l'explorateur du projet d'IDE pour voir son emplacement sur le disque. Pour exécuter votre macro, sélectionnez-la dans le gestionnaire des macros et cliquez sur Exécuter. Ensuite, le cas échéant, cliquez avec le bouton droit de la souris dans la vue active et choisissez Zoom tout dans le menu pour voir la note textuelle ajoutée par votre macro.

Zone de texte placée par la macro