Вообщем и целом, не получив ни одного ответа и ни одного комментария по данному вопросу, пришлось решать данную проблему самому, и в процессе изучения C#, Revit API и написания самого макроса, возникли следующие проблемы и вопросы, прошу всех небезразличных прокомментировать сие творение) Строго не судите, мое самообразование началось с момента написания первого сообщения:
Мои рассуждения и комментирование кода:
1)Первом делом нужно выбрать семейство, загруженное в текущий проект REVIT для дальнейший работы с ним:
UIDocument uidoc=this.ActiveUIDocument;
Document doc=uidoc.Document;
Selection sel=uidoc.Selection;
Reference hasPickOne = sel.PickObject(ObjectType.Element);
ElementId el=hasPickOne.ElementId;
Element element=doc.GetElement(el);
FamilyInstance familyinstance=element as FamilyInstance;
Family family=familyinstance.Symbol.Family;
2)Экземпляр семейства мы выбрали, далее возникает вопрос: как получить метод ImportSizeTable класса FamilySizeTableManager, не имея в нем никаких членов ссылающихся на семейство загруженное в проект(которое мы получили в пунтком 1), кроме как метода GetFamilySizeTableManager()- как работает этот метод я так и не понял.
Но не останавливаясь на достигнутом я решил продолжить, родился этот код:
Document fd=doc.EditFamily(family);
string path=@"";
FamilySizeTableManager manager=FamilySizeTableManager.GetFamilySizeTableManager(fd,el);
FamilySizeTableErrorInfo error=new FamilySizeTableErrorInfo();
manager.ImportSizeTable(fd,path,error);
При выполении макроса в REVIT выскакивает ошибка"System.NullReferenceException:Object reference not set to an instance of an object"
В чем я ошибся и как реализовать 2 часть кода?