using Autodesk.Revit.DB; namespace ShrlAlgo.Toolkit.Revit.Assist; internal static class HostObjectAssist { /// /// 得到轮廓线(墙,板等) /// /// /// public static List GetSketch(this HostObject element) { var doc = element.Document; List sketches = []; using (SubTransaction subTransaction = new(doc)) { subTransaction.Start(); var ids = doc.Delete(element.Id); subTransaction.RollBack(); foreach (var id in ids) { if (doc.GetElement(id) is Sketch sketch) { sketches.Add(sketch); } } } return sketches; } public static IList GetBottomFaces(this HostObject host) { return HostObjectUtils.GetBottomFaces(host); } public static IList GetSideFaces(this HostObject host, ShellLayerType side) { return HostObjectUtils.GetSideFaces(host, side); } public static IList GetTopFaces(this HostObject host) { return HostObjectUtils.GetTopFaces(host); } }