AutoRevit.Generator
0.0.4
See the version list below for details.
dotnet add package AutoRevit.Generator --version 0.0.4
NuGet\Install-Package AutoRevit.Generator -Version 0.0.4
<PackageReference Include="AutoRevit.Generator" Version="0.0.4" />
<PackageVersion Include="AutoRevit.Generator" Version="0.0.4" />
<PackageReference Include="AutoRevit.Generator" />
paket add AutoRevit.Generator --version 0.0.4
#r "nuget: AutoRevit.Generator, 0.0.4"
#:package AutoRevit.Generator@0.0.4
#addin nuget:?package=AutoRevit.Generator&version=0.0.4
#tool nuget:?package=AutoRevit.Generator&version=0.0.4
AutoRevit.Generator
介绍
Revit 二次开发源生成器库,快速且轻松的使用revit相关api。
安装教程
dotnet add package AutoRevit.Generator
使用说明
快速开始
public class AutoCommand
{
[AutoExternalCommand]
internal static Result GetWall(ExternalCommandData CommandData, ref string msg)
{
try
{
// 业务代码
return Result.Succeeded;
}
catch (Exception ex)
{
msg = ex.Message;
return Result.Failed;
}
}
}
根据给静态方法标注特性 [AutoExternalCommandAttribute] 生成继承了 Autodesk.Revit.UI.IExternalCommand 的扩展命令类并调用静态方法:
namespace AutoRevitDemo.TestExternalCommand;
[global::Autodesk.Revit.Attributes.Transaction(global::Autodesk.Revit.Attributes.TransactionMode.Manual)]
public class GetWallAutoExternalCommand : global::Autodesk.Revit.UI.IExternalCommand
{
public global::Autodesk.Revit.UI.Result Execute(global::Autodesk.Revit.UI.ExternalCommandData commandData, ref string message, global::Autodesk.Revit.DB.ElementSet elements)
{
global::Autodesk.Revit.UI.Result result = global::AutoLiteDemo.TestExternalCommand.AutoCommand.GetWall(commandData, ref message);
return result;
}
}
生成的类名称默认为 [方法名称]AutoExternalCommand
要求
标注特性 [AutoExternalCommandAttribute]
函数的类修饰符为 internal 或 public
函数为静态且修饰符为internal 或 public
函数返回值为 Autodesk.Revit.UI.Result
函数允许的参数类型 Autodesk.Revit.UI.ExternalCommandData、 string、 Autodesk.Revit.DB.ElementSet、 AutoRevit.Entry.Command.IRevitData
如果参数包含string类型则需要添加ref关键字
如果参数类型为AutoRevit.Entry.Command.IRevitData则需要引用NuGet包 AutoRevit >= 0.1.6版本
入参数类型的顺序可以不固定
AutoExternalCommandAttribute 说明
namespace AutoRevit;
[AttributeUsage(AttributeTargets.Method)]
[System.Diagnostics.Conditional("AutoExternalCommandGenerator_DEBUG")]
internal sealed class AutoExternalCommandAttribute : Attribute
{
public string? ClassName { get; set; }
public string? TransactionMode { get; set; }
public string? JournalingMode { get; set; }
public string? RegenerationOption { get; set; }
}
- ClassName: 定义生成的类名
- TransactionMode: 定义扩展命令类的特性
Autodesk.Revit.Attributes.Transaction(global::Autodesk.Revit.Attributes.TransactionMode.[TransactionMode])
默认为空则为
Autodesk.Revit.Attributes.Transaction(global::Autodesk.Revit.Attributes.TransactionMode.Manual)
- JournalingMode: 定义扩展命令类的特性
[global::Autodesk.Revit.Attributes.Journaling(global::Autodesk.Revit.Attributes.JournalingMode.[UsingCommandData])]
- RegenerationOption: 定义扩展命令类的特性
[global::Autodesk.Revit.Attributes.Regeneration(global::Autodesk.Revit.Attributes.RegenerationOption.[Manual])]
参与贡献
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.