Migrar muestras de SDK al IDE de macros de Revit

Si desea utilizar el código de muestra de SDK para macros, es necesario realizar modificaciones.

El SDK de Revit contiene dos carpetas de muestras:

\Revit SDK <versión>\Software Development Kit\Samples\...

\Revit SDK <versión>\Software Development Kit\Macro Samples\...

Los programas de la carpeta \Samples\ de SKK utilizan la API estándar de Revit. Nos referimos a estas muestras como código de muestra de SDK, para distinguirlas de las muestras de macros de Revit.

Siga los pasos de esta sección. Para un lenguaje de programación, mostraremos ejemplos en C#. No obstante, estas instrucciones también son aplicables a las versiones VB.NET de las muestras de SDK.

Pasos iniciales

Los pasos iniciales para migrar muestras de API estándar desde el SDK al proyecto del IDE de macros de Revit son similares a los de la sección Integrar macros en el IDE de Revit. Excepto que en lugar de copiar archivos de las carpetas \Macro Samples\ <nombre de muestra>\... de SDK, debe copiar archivos de las carpetas \Samples\ <nombre de muestra>\... de SDK.

Para la revisión, los pasos son:

  1. En el IDE, agregue las referencias requeridas.
  2. En el IDE, cree carpetas para las muestras de SDK que desee migrar.
  3. En el Explorador de Windows, copie los archivos de las muestras del API estándar del SDK en las carpetas correspondientes del sistema de archivos.
  4. En el IDE, agregue archivos existentes al proyecto de macros.

Actualizar el código de muestras de SDK

En el IDE de macros de Revit, la interfaz IExternalCommand no está disponible o no se usa. En el código de muestra de la API estándar de SDK, debe actualizar la clase heredada desde esta interfaz:

Ejemplo de código antes de la edición

El siguiente fragmento de código es de un programa que utiliza la API estándar de Revit:

Ejemplo de código después de la edición

En el IDE de macros de Revit, debemos actualizar el código del siguiente modo. En este ejemplo, se muestra una macro de nivel de aplicación. El método RunSampleRooms() es la entrada para esta muestra de macro. Observe que hemos utilizado this como sustituto de commandData.Application.

Notas de migración adicionales para las muestras de la API estándar de SDK