Migracja przykładów SDK do Revit Macro IDE

W przypadku narzędzi Revit SDK są dostępne dwa foldery zawierające przykłady:

\Revit SDK <wersja>\Software Development Kit\Samples\...

\Revit SDK <wersja>\Software Development Kit\Macro Samples\...

Programy w folderze SDK \Samples\ korzystają ze standardowego interfejsu API programu Revit. Te przykłady są nazywane kodem przykładu SDK, aby odróżnić je od przykładów makr Revit.

Kod przykładu SDK można użyć do tworzenia makr po wprowadzeniu odpowiednich modyfikacji. W tym rozdziale są przedstawione kolejne etapy tego procesu. Zaprezentowane będą przykłady w języku C#. Jednak podane instrukcje dotyczą również wersji przykładów SDK w języku VB.NET.

Czynności początkowe

Czynności początkowe podczas migracji przykładów standardowego interfejsu API z narzędzi SDK do projektu Revit Macro IDE są podobne do czynności przedstawionych w temacie Integracja makr w środowisku Revit IDE. Jednak zamiast kopiowania plików z folderów narzędzi SDK \Macro Samples\ <nazwa-przykładu>\... skopiowane zostaną pliki z folderów narzędzi SDK \Samples\ <nazwa-przykładu>\....

Przypomnijmy, że czynności te są następujące:

  1. W środowisku IDE — dodanie żądanych odniesień.
  2. W środowisku IDE — utworzenie folderów dla przykładów SDK do migracji.
  3. W programie Eksplorator Windows — skopiowanie plików standardowego interfejsu API SDK do odpowiednich folderów systemowych.
  4. W środowisku IDE — dodanie istniejących plików do projektu makra.

Aktualizacja kodu przykładów SDK

W środowisku Revit macro IDE interfejs IExternalCommand jest niedostępny. W kodzie przykładu SDK standardowego interfejsu API jest konieczna aktualizacja klasy dziedziczącej z tego interfejsu:

Przykładowy kod przed edycją

Przedstawiony poniżej fragment kodu pochodzi z programu wykorzystującego standardowy interfejs Revit API:

Przykładowy kod po edycji

Kod w środowisku Revit macro IDE należy zaktualizować zgodnie z poniższym przykładem. W tym przykładzie przedstawiono makro poziomu aplikacji. Metoda RunSampleRooms () stanowi wejście dla tego przykładu makra. Zauważ, że używamy wskaźnika to do zastąpienia commandData.Application.

Dodatkowe informacje na temat migracji przykładów SDK standardowego interfejsu API