Se si intende utilizzare il codice di esempio SDK per le macro, è necessarie effettuare alcune modifiche.
Revit SDK include due cartelle di esempi:
\Revit SDK <release>\Software Development Kit\Samples\...
\Revit SDK <versione>\Software Development Kit\Macro Samples\...
Nei programmi che si trovano nella cartella \Samples\ di SDK viene utilizzata l'API standard di Revit. In questo documento tali esempi vengono identificati come codice di esempio SDK per distinguerli dagli esempi di Revit Macro.
Seguire le procedure riportate in questa sezione. Il linguaggio di programmazione a cui si fa riferimento è C#. Tuttavia, queste istruzioni sono valide anche per le versioni VB.NET degli esempi SDK.
La procedura iniziale per la migrazione di esempi API standard da SDK al progetto di Revit Macro IDE è simile a quella descritta nella sezione Integrazione di macro in Revit IDE. La sola differenza è rappresentata dal fatto che anziché copiare i file dalle cartelle \Macro Samples\<nome-esempio>\... di SDK, è necessario copiarli dalle cartelle \Samples\<nome-esempio>\... di SDK.
La procedura è la seguente:
In Revit Macro IDE, l'interfaccia IExternalCommand non è disponibile né utilizzata. Nel codice di esempio API standard di SDK, è necessario aggiornare la classe ereditata da tale interfaccia:
Il seguente frammento di codice è quello di un programma che utilizza l'API di Revit standard:
In Revit Macro IDE, è necessario aggiornare il codice come descritto di seguito. L'esempio è relativo ad una macro a livello di applicazione. In questo esempio di macro viene utilizzato il metodo RunSampleRooms(). Osservare l'utilizzo del puntatore this in sostituzione di commandData.Application.
namespace AppCSharp.csproj
Nell'esempio non è tuttavia possibile impostare la dipendenza di progetto a causa di un limite di Revit IDE e non è possibile migrare l'esempio RevitViewer. Di conseguenza, è necessario compilare RevitViewer come esempio SDK indipendente e quindi aggiungere la relativa DLL come riferimento nel progetto Revit IDE.