优化更新代码,添加界面功能并整合
This commit is contained in:
64
ShrlAlgo.RvKits/RvCommon/PureModelCmd.cs
Normal file
64
ShrlAlgo.RvKits/RvCommon/PureModelCmd.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
|
||||
using Autodesk.Revit.ApplicationServices;
|
||||
using Autodesk.Revit.Attributes;
|
||||
|
||||
using Autodesk.Revit.DB;
|
||||
|
||||
using eTransmitForRevitDB;
|
||||
|
||||
using Nice3point.Revit.Toolkit.External;
|
||||
|
||||
using System.IO;
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
namespace ShrlAlgo.RvKits.RvCommon;
|
||||
|
||||
/// <summary>
|
||||
/// Revit执行命令
|
||||
/// </summary>
|
||||
[Transaction(TransactionMode.Manual)]
|
||||
[Regeneration(RegenerationOption.Manual)]
|
||||
public class PureModelCmd : ExternalCommand
|
||||
{
|
||||
public override void Execute()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Document.PathName))
|
||||
{
|
||||
System.Windows.MessageBox.Show("请先保存文件");
|
||||
return;
|
||||
}
|
||||
|
||||
var options = new SaveAsOptions()
|
||||
{
|
||||
Compact = true,
|
||||
OverwriteExistingFile = true,
|
||||
MaximumBackups = 3
|
||||
};
|
||||
try
|
||||
{
|
||||
Purge(Document);
|
||||
Document.SaveAs(Document.PathName, options);
|
||||
System.Windows.MessageBox.Show("清理完成", "提示");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 使用eTransmitForRevitDB清理文档未使用项
|
||||
/// </summary>
|
||||
/// <param name="doc"></param>
|
||||
/// <returns></returns>
|
||||
public static bool Purge(Document doc)
|
||||
{
|
||||
var eTransmitUpgradeOMatic = new eTransmitUpgradeOMatic(doc.Application);
|
||||
|
||||
var result = eTransmitUpgradeOMatic.purgeUnused(doc);
|
||||
|
||||
return result == UpgradeFailureType.UpgradeSucceeded;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user