Revit и Navisworks – Русский – только для чтения
В разделе вы можете обсудить любые вопросы, касающиеся Revit, Navisworks и других продуктов коллекции AEC, за исключением BIM 360. Делитесь знаниями, своими проектами и наработками. Станьте частью BIM-сообщества Autodesk.
отмена
Отображаются результаты для 
Показать  только  | Вместо этого искать 
Вы имели в виду: 

Подсчет количества пометочных облаков

4 ОТВЕТ 4
РЕШЕНО
Ответить
Сообщение 1 из 5
Anonymous
1211 просмотров, 4 ответов

Подсчет количества пометочных облаков

Есть ли возможность в спецификации изменения внести какой-то параметр, позволяющий считать количество участков изменений на листе? Если нет, то как создать параметр для семейства пометочных облаков, позволяющий вручную ставить их количество в спецификации изменений?

4 ОТВЕТ 4
Сообщение 2 из 5
ildar.kachurin
в ответ: Anonymous

Стандартными средствами это не реализуемо. Есть вариант через Dynamo (скрипт по ссылке ниже). Пишет данный в текстовый параметр  литсов  "КоличествоРевизий" (Вам необходимо будет его создать на базе своего проекта). Однако для подсчета количества облачков надо иметь в виду что каждое облако должно иметь индивидуальный номер изменения. Все ноды стандартные. Никаких доп пакетов устанавливать не нужно.

Подсчет количества ревизий через Dynamo 1.2.0.2690



Ильдар Качурин
Архитектор, BIM-менеджер
Блог YouTube | IND-architects | IND-office
Facebook | Twitter | LinkedIn

Сообщение 3 из 5

А это?..

 

dynamo_revisions.png

Сообщение 4 из 5
Extraneous
в ответ: Anonymous

Вот макрос набросал, попробуйте:

 

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 КЖ/КМ

Сообщение 5 из 5

Значит забыл...)  Надо пакет нодов установить от ArchiLab



Ильдар Качурин
Архитектор, BIM-менеджер
Блог YouTube | IND-architects | IND-office
Facebook | Twitter | LinkedIn

Не нашли то, что искали? Задайте вопросы в сообществе или поделитесь своими знаниями.

Новая тема  

Autodesk Design & Make Report