using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Nice3point.Revit.Toolkit.External; namespace ShrlAlgoToolkit.RevitAddins.Mep { [Transaction(TransactionMode.Manual)] public class FlipWorkplaneCmd : ExternalCommand { public override void Execute() { try { ICollection familyInstances; if (UiDocument.Selection.GetElementIds().Count > 0) { familyInstances = UiDocument.Selection.GetElementIds().Select(Document.GetElement).OfType().ToList(); } else { familyInstances = UiDocument.SelectObjects("请选择族实例"); } Document.Invoke( _ => { foreach (var ins in familyInstances) { if (ins.CanFlipWorkPlane) { ins.IsWorkPlaneFlipped = !ins.IsWorkPlaneFlipped; } } }); } catch (Exception) { } } } }