public static IBody2[] GetBodiesTs(this IModelDoc2 doc, swBodyType_e type = swBodyType_e.swSolidBody, bool visibleOnly = false) { var part = (IPartDoc)doc; var objects = (object[])part.GetBodies2((int)type, visibleOnly); return(objects?.Cast <IBody2>().ToArray() ?? new IBody2[0]); }
public static IEnumerable <IBody2> GetBodiesEx(this IPartDoc doc, swBodyType_e bodyType = swBodyType_e.swSolidBody, bool withInvisbleBody = false) { object[] bodies = doc.GetBodies2((int)bodyType, !withInvisbleBody) as object[]; if (bodies == null) { yield break; } foreach (var item in bodies) { yield return(item as IBody2); } }
public static void UsingAllBody(this Component2 comp, Action <Body2> action, swBodyType_e bodyType_E, bool VisbleOnly = false) { var bodys = comp.GetBodies2((int)bodyType_E) as Body2[]; foreach (var item in bodys) { if (VisbleOnly && item.Visible) { action(item); } else { action(item); } } }