Files
ShrlAlgoToolkit/ShrlAlgoToolkit.RevitAddins/RvMEP/FlipWorkplaneCmd.cs

44 lines
1.3 KiB
C#
Raw Normal View History

2025-04-24 20:56:44 +08:00
using Autodesk.Revit.Attributes;
2024-09-22 11:05:41 +08:00
using Autodesk.Revit.DB;
2025-09-12 09:55:36 +08:00
2024-09-22 11:05:41 +08:00
using Nice3point.Revit.Toolkit.External;
2025-04-24 20:56:44 +08:00
namespace ShrlAlgoToolkit.RevitAddins.RvMEP
2024-09-22 11:05:41 +08:00
{
[Transaction(TransactionMode.Manual)]
public class FlipWorkplaneCmd : ExternalCommand
{
public override void Execute()
{
2025-09-12 09:55:36 +08:00
try
2024-09-22 11:05:41 +08:00
{
2025-09-12 09:55:36 +08:00
ICollection<FamilyInstance> familyInstances;
if (UiDocument.Selection.GetElementIds().Count > 0)
{
familyInstances = UiDocument.Selection.GetElementIds().Select(Document.GetElement).OfType<FamilyInstance>().ToList();
2024-09-22 11:05:41 +08:00
2025-09-12 09:55:36 +08:00
}
else
2024-09-22 11:05:41 +08:00
{
2025-09-12 09:55:36 +08:00
familyInstances = UiDocument.SelectObjects<FamilyInstance>("请选择族实例");
}
Document.Invoke(
_ =>
2024-09-22 11:05:41 +08:00
{
2025-09-12 09:55:36 +08:00
foreach (var ins in familyInstances)
2024-09-22 11:05:41 +08:00
{
2025-09-12 09:55:36 +08:00
if (ins.CanFlipWorkPlane)
{
ins.IsWorkPlaneFlipped = !ins.IsWorkPlaneFlipped;
}
2024-09-22 11:05:41 +08:00
}
2025-09-12 09:55:36 +08:00
});
}
catch (Exception)
2025-09-12 09:55:36 +08:00
{
}
2024-09-22 11:05:41 +08:00
}
}
}