Migrazione di esempi SDK in Revit Macro IDE

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.

Procedura iniziale

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:

  1. In IDE, aggiungere i riferimenti necessari.
  2. In IDE, creare le cartelle per gli esempi SDK che si intende migrare.
  3. In Esplora risorse, copiare i file degli esempi API standard di SDK nelle cartelle del file system corrispondenti.
  4. In IDE, aggiungere i file esistenti al progetto macro.

Aggiornamento del codice degli esempi SDK

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:

Esempio di codice prima delle modifiche

Il seguente frammento di codice è quello di un programma che utilizza l'API di Revit standard:

Esempio di codice dopo le modifiche

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.

Ulteriori note sulla migrazione per gli esempi API standard di SDK