Есть ли возможность в спецификации изменения внести какой-то параметр, позволяющий считать количество участков изменений на листе? Если нет, то как создать параметр для семейства пометочных облаков, позволяющий вручную ставить их количество в спецификации изменений?
Решено! Перейти к решению.
Решено: ildar.kachurin. Перейти к решению.
Стандартными средствами это не реализуемо. Есть вариант через Dynamo (скрипт по ссылке ниже). Пишет данный в текстовый параметр литсов "КоличествоРевизий" (Вам необходимо будет его создать на базе своего проекта). Однако для подсчета количества облачков надо иметь в виду что каждое облако должно иметь индивидуальный номер изменения. Все ноды стандартные. Никаких доп пакетов устанавливать не нужно.
Подсчет количества ревизий через Dynamo 1.2.0.2690
Ильдар Качурин
Архитектор, BIM-менеджер
Блог YouTube | IND-architects | IND-office
Facebook | Twitter | LinkedIn
Вот макрос набросал, попробуйте:
public void Start() { Document doc = this.ActiveUIDocument.Document; List<ViewSheet> sheets = new FilteredElementCollector(doc) .WhereElementIsNotElementType() .OfClass(typeof(ViewSheet)) .Cast<ViewSheet>() .Where(s => s.IsPlaceholder != true) .ToList(); using(Transaction t = new Transaction(doc)) { t.Start("Revision clouds count"); foreach(ViewSheet sheet in sheets) { List<RevisionCloud> clouds = this.GetCloudsOnView(doc, sheet.Id); foreach(ElementId viewId in sheet.GetAllPlacedViews()) { List<RevisionCloud> viewClouds = this.GetCloudsOnView(doc, viewId); clouds.AddRange(viewClouds); } string cloudsCount = clouds.Count.ToString(); foreach(RevisionCloud cloud in clouds) { cloud.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS).Set(cloudsCount); } //УКАЖИТЕ ИМЯ ПАРАМЕТРА ЛИСТА, В КОТОРЫЙ БУДЕТ УКАЗАНО КОЛИЧЕСТВО ОБЛАКОВ sheet.LookupParameter("Утвердил").Set(cloudsCount); } t.Commit(); } } private List<RevisionCloud> GetCloudsOnView(Document doc, ElementId viewId) { List<RevisionCloud> clouds = new FilteredElementCollector(doc, viewId) .WhereElementIsNotElementType() .OfClass(typeof(RevisionCloud)) .Cast<RevisionCloud>() .ToList(); return clouds; }
Инструкция по установке макросов.
Обрабатываются пометочные облака как размещенные непосредственно на листе, так и размещенные в видах на этом листе.
"Листы-заполнители" игнорируются. Скрытые и невидимые облака не подсчитываются.
Количество облаков на листе вписывается:
- непосредственно в каждое облако, в параметр "Комментарий";
- в параметр листа "Утвердил"для листа, имя параметра можно поменять.
Ограничения:
Подсчитываются все облака, размещенные на листе, без деления на номера ревизий. Еще подумаю, как это решить...
Александр Зуев / Alexander Zuev
In BIM we trust
Facebook | VK | Telegram
Шаблон и обучение Revit КЖ/КМ
Значит забыл...) Надо пакет нодов установить от ArchiLab
Ильдар Качурин
Архитектор, BIM-менеджер
Блог YouTube | IND-architects | IND-office
Facebook | Twitter | LinkedIn
Не нашли то, что искали? Задайте вопросы в сообществе или поделитесь своими знаниями.