Обновление макросов Revit

При обновлении макросов могут потребоваться некоторые операции управления файлами, обеспечивающие обновление макросов и их правильную работу в Revit.

Обязательно ознакомьтесь со средствами разработки программного обеспечения Revit (SDK) и с приведенной ниже информацией, относящейся к обновлению макрокоманд.

Обновление макросов уровня приложения

  1. Скопируйте каталоги макросов в следующую папку:
    • Windows 7 и Windows 8: %ProgramData%\Autodesk\Revit\Macros\2025 Release\Revit\AppHookup
  2. Найдите файл CSPROJ и внесите следующие изменения.
    • Измените <TargetFrameworkVersion>v4.8</TargetFrameworkVersion> на <TargetFramework>net7.0-windows</TargetFramework>.
Ниже приведен пример нового проекта макроса.
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0-windows</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
    <PlatformTarget>x64</PlatformTarget>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    <Optimize>False</Optimize>
    <DebugSymbols>True</DebugSymbols>
    <DebugType>Portable</DebugType>
    <OutputPath>..\..\Addin\</OutputPath>
    <AssemblyName>MacroTemplate</AssemblyName>
    <BaseInterMediateOutputPath>obj\</BaseInterMediateOutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <InterMediateOutputPath>obj\Debug</InterMediateOutputPath>
    <Deterministic>false</Deterministic>
    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
    <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
    <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="..\..\..\..\..\RevitAPI.dll">
      <Private>False</Private>
    </Reference>
    <Reference Include="..\..\..\..\..\RevitAPIUI.dll">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <Target Name="PreBuild" BeforeTargets="PreBuildEvent">
    <Exec Command="del $(OutputPath)\*.dll" />
  </Target>
</Project>

Обновление макросов уровня документа

  1. Макросы уровня документа не поддерживаются в Revit 2025. Макросы уровня документа необходимо преобразовать в макросы уровня приложения вручную.
  2. Используйте предыдущую версию Revit, чтобы открыть документ, и скопируйте проект макроса документа в папку макросов приложения.
  3. Обновите файл CSPROJ.
  4. Измените имена файлов: ThisDocument.cs на ThisApplication.cs, ThisDocument.Designer.cs на ThisApplication.Designer.cs.
  5. В файлах CS измените имя класса с ThisDocument на ThisApplication.
  6. Измените имя суперкласса с Autodesk.Revit.UI.Macros.DocumentEntryPoint на Autodesk.Revit.UI.Macros.ApplicationEntryPoint в файле ThisApplication.Designer.cs.
Прим.: В Revit 2025 обновленные макросы не загружаются автоматически, если программа Revit уже запущена. Чтобы загрузить обновленные макросы, необходимо перезапустить Revit.