using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using eTransmitForRevitDB; using Nice3point.Revit.Toolkit.External; namespace Sai.RvKits.RvCommon; /// /// Revit执行命令 /// [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 }; for (var i = 0; i < 5; i++) { Purge(Document); } Document.SaveAs(Document.PathName, options); System.Windows.MessageBox.Show("清理完成", "提示"); } /// /// 使用eTransmitForRevitDB清理文档未使用项 /// /// /// public static bool Purge(Document doc) { var eTransmitUpgradeOMatic = new eTransmitUpgradeOMatic(doc.Application); var result = eTransmitUpgradeOMatic.purgeUnused(doc); return result == UpgradeFailureType.UpgradeSucceeded; } }