天天看點

過濾器的使用,這個方法可以在選擇對象時候過濾到其他的隻選自己想要的類型。

public class DuctAccessoryFilter : ISelectionFilter

    {

        public bool AllowElement(Element elem)

        {

            BuiltInCategory builtInCategory = (BuiltInCategory)elem.Category.Id.IntegerValue;

            if (builtInCategory == BuiltInCategory.OST_DuctAccessory)

            {

                return true;

            }

            return false;

        }

        public bool AllowReference(Reference reference, XYZ position)

        {

            return false;

        }

    }

然後再調用時候這樣使用就可以了

 ISelectionFilter ductAccessory = new DuctAccessoryFilter();

                Reference eRef = uiDoc.Selection.PickObject(ObjectType.Element,ductAccessory, "請選擇要标注的閥件");

                Element elem = doc.GetElement(eRef);

僅僅數行就達到了想要的結果

                                            以上文字轉載在 審十空間

繼續閱讀