| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее ПО от Autodesk > Revit > Revit Structure для конструктора (проблемы проектирования)

Revit Structure для конструктора (проблемы проектирования)

Закрытая тема
Поиск в этой теме
Непрочитано 04.04.2009, 12:05 8 |
Revit Structure для конструктора (проблемы проектирования)
professor_off
 
Регистрация: 03.08.2007
Сообщений: 647

Добрый день.
Может и пафосно назвал тему, но надеюсь, что только моими вопросами она не граничится.

Сам я конструктор, решил проектировать при помощи Revit и Robot. (ранее работал в AutoCad и Лира).

Возникает ряд вопросов.

Проектирование ребристого перекрытия (как его правильно задавать для последующего экспорта в Robot) и принцип задания сочетаний нагружений в Revit. Оговорюсь, что Revit хотелось бы использовать как препроцессор для Robot.

Спасибо всем ответившим.

Так-же задавайте вопросы, чем смогу помогу.
Просмотров: 3134866
 
Непрочитано 04.08.2015, 12:32
#5121
Schmurgeff

КЖ
 
Регистрация: 10.11.2013
Санкт-Петербург
Сообщений: 746
Отправить сообщение для Schmurgeff с помощью Skype™


Добрый день Господа!
Как правильно настроить округление у размеров?Пример на рисунке...Вроде все правильно строишь, линии параллельны и все такое, а по итогу все равно вылезает вот так=(
Может подправить общие параметры проекта или еще как?В самих настройках размеров ковыряться не хочу т.к. потом могут вылезти несоответствия общего размера с цепочкой
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 220
Размер:	245.0 Кб
ID:	154389  
Schmurgeff вне форума  
 
Непрочитано 04.08.2015, 13:52
#5122
Vintorez

Конструктор
 
Регистрация: 03.01.2011
Бельцы_Молдавия
Сообщений: 880


У меня есть отдельный тип с нужным округлением. Хм, на стройке будут вылавливать милиметры, им план надо делать и это надо учитывать). На заводе Ж.Б. можно зафиксировать и проконтролировать.
Миниатюры
Нажмите на изображение для увеличения
Название: Размеры с нужным округлением.jpg
Просмотров: 129
Размер:	175.8 Кб
ID:	154398  
Vintorez вне форума  
 
Непрочитано 04.08.2015, 14:20
#5123
extraneous

Не верблюд
 
Регистрация: 07.06.2010
Москва
Сообщений: 1,152


Цитата:
Сообщение от Schmurgeff Посмотреть сообщение
Вроде все правильно строишь, линии параллельны и все такое
Да у вас ведь сразу видно, что стена не под углом 90 градусов. Вот и вылезают миллиметры

Цитата:
Сообщение от Schmurgeff Посмотреть сообщение
могут вылезти несоответствия общего размера с цепочкой
О, этот вечный вопрос с проверкой размерных цепочек!
"1000мм - делим на три участка - получается 333.33мм - некрасиво, округляем - 333мм - умножаем на 3 - 999мм! где еще миллиметр!"

И совсем не в Ревите тут вопрос, а в самом подходе к работе:
1) Рисовать на расстоянии 333.33мм, ставить размер с округлением до 1мм и посылать тех, кто будет докапываться до потерянного 1мм;
2) Рисовать на расстоянии 333.33мм, ставить размер без округления и посылать тех, кому не нравятся "некрасивые" цифры;
3) Рисовать две на расстоянии 333 и одну на 334мм, ставить размер без округления и радоваться

Такие дела.
__________________
Мой блог по Revit
extraneous вне форума  
 
Непрочитано 04.08.2015, 14:31
#5124
Schmurgeff

КЖ
 
Регистрация: 10.11.2013
Санкт-Петербург
Сообщений: 746
Отправить сообщение для Schmurgeff с помощью Skype™


Цитата:
Сообщение от Vintorez Посмотреть сообщение
У меня есть отдельный тип с нужным округлением.
спасибо за наводку,создам такое=)

Цитата:
Сообщение от extraneous Посмотреть сообщение
И совсем не в Ревите тут вопрос, а в самом подходе к работе:
1) Рисовать на расстоянии 333.33мм, ставить размер с округлением до 1мм и посылать тех, кто будет докапываться до потерянного 1мм;
Вот в этом и был вопрос=)как правильно "поставить работу". Ну не умею я правильно выражаться=(все таки строительный ф-т,а не филологический
спасибо Саш.Теперь разобрался
Schmurgeff вне форума  
 
Непрочитано 04.08.2015, 16:44
#5125
VadimS7

КМ
 
Регистрация: 02.03.2012
СПб<Nsk
Сообщений: 199


Цитата:
Сообщение от extraneous Посмотреть сообщение
О, этот вечный вопрос с проверкой размерных цепочек!
"1000мм - делим на три участка - получается 333.33мм - некрасиво, округляем - 333мм - умножаем на 3 - 999мм! где еще миллиметр!"
В данном случае можно указать 3р.р. и дать общую длину.
VadimS7 вне форума  
 
Непрочитано 04.08.2015, 17:00
#5126
extraneous

Не верблюд
 
Регистрация: 07.06.2010
Москва
Сообщений: 1,152


VadimS7, не далее как месяц назад пришло замечание и переделывали проект - заменяли "р.р." на полноценные размеры

Кстати, по СПДС даже правильней делать так:
Миниатюры
Нажмите на изображение для увеличения
Название: размерные цепоки.png
Просмотров: 194
Размер:	17.6 Кб
ID:	154411  
__________________
Мой блог по Revit
extraneous вне форума  
 
Непрочитано 04.08.2015, 17:20
#5127
VadimS7

КМ
 
Регистрация: 02.03.2012
СПб<Nsk
Сообщений: 199


extraneous, Для КМ В ГОСТ 21.502-2007 равные размеры в некоторых ситуациях используются см. Рисунок Б.5 - Разрез 1-1.
Миниатюры
Нажмите на изображение для увеличения
Название: КМ.png
Просмотров: 204
Размер:	36.5 Кб
ID:	154414  
VadimS7 вне форума  
 
Непрочитано 05.08.2015, 15:48
4 | #5128
Wrath

Конструктор
 
Регистрация: 11.11.2011
Сообщений: 284


Мальчишки и девченки, а также их родители...)
Помнится мне, поднималась тема печати разньіх форматов...extraneous в своем блоге решал сию задачу с помощью динамо.
Вот, появилось у меня немного свободного времени, и я решил и сам чего-то смастерить.) Так, как с динамой у меня отношения натянутьіе, пришлось воспользоваться дедовскими методами.) Собственно, результат вот :
Код:
[Выделить все]
public void CreateViewSheetSetsList()
		{
			Document doc = this.ActiveUIDocument.Document;
			List<Element> titleBlockList = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_TitleBlocks).WhereElementIsNotElementType().ToList();
			List<View> sheetList = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Sheets).ToList().ConvertAll(e=>{return doc.GetElement(e.Id) as View;});
			SortedList<string,ViewSet> viewSheetSetsList = new SortedList<string, ViewSet>();
			foreach (Element e in titleBlockList)
			{
				Parameter s_number = e.get_Parameter(BuiltInParameter.SHEET_NUMBER);
				View sheet = sheetList.Where(v => v.get_Parameter(BuiltInParameter.SHEET_NUMBER).AsString() == s_number.AsString()).First();
				Parameter s_height = e.get_Parameter(BuiltInParameter.SHEET_HEIGHT);
				Parameter s_width  = e.get_Parameter(BuiltInParameter.SHEET_WIDTH);
				string s_format = GetSheetFormat(s_height.AsValueString(), s_width.AsValueString());
				
				if (viewSheetSetsList.Keys.Contains(s_format))
				{
					ViewSet vs = viewSheetSetsList.Values.ElementAt(viewSheetSetsList.Keys.IndexOf(s_format));
					vs.Insert(sheet);
				}
				else
				{
					ViewSet vs = new ViewSet();
					vs.Insert(sheet);
					viewSheetSetsList.Add(s_format, vs);
				}
			}
			using (TransactionGroup tg = new TransactionGroup(doc))
			{
				tg.Start("Sorting ViewSheets by format");
				using (Transaction tx1 = new Transaction(doc))
				{
					tx1.Start("Deleting existing ViewSheet Sets");
					List<ElementId> allViewSheetSetsIds = new FilteredElementCollector(doc).OfClass(typeof(ViewSheetSet)).ToElementIds().ToList();
					doc.Delete(allViewSheetSetsIds);
					tx1.Commit();
				}
				
				using (Transaction tx2 = new Transaction(doc))
				{
					tx2.Start("Creating new ViewSheet Sets");
					PrintManager pm = doc.PrintManager;
					pm.PrintRange = PrintRange.Select;
					ViewSheetSetting vss = pm.ViewSheetSetting;
					foreach (KeyValuePair<string,ViewSet> kvp in viewSheetSetsList)
					{
						vss.CurrentViewSheetSet.Views = kvp.Value;
						vss.SaveAs(kvp.Key);
					}
					tx2.Commit();
				}
				tg.Assimilate();
			}
		}
		
		private string GetSheetFormat(string height, string width)
		{
			string result = "";
			switch (width + "x" + height)
			{
				case "297x210" :
					result = "A4A";
					break;
				case "210x297" :
					result = "A4K";
					break;
				case "420x297" :
					result = "A3A";
					break;
				case "297x420" :
					result = "A3K";
					break;
				case "630x297" :
					result = "3A4K";
					break;
				case "594x420" :
					result = "A2A";
					break;
				case "420x594" :
					result = "A2K";
					break;
				case "841x594" :
					result = "A1A";
					break;
				case "594x841" :
					result = "A1K";
					break;
				default :
					result = "Unknown format";
				break;
			}
			return result;
		}
Проверил - вроде работает адекватно...
Для тех, кто не понял : єтот макрос сортирует листьі по формату и создает соответствующие списки, к которьім уже вручную следует применить свойства печати(кажется мне, что полная автоматизация не стоит потраченньіх на нее усилий). Список форматов во втором методе - можно править под себя, как, собственно, и весь код.)
Принимаются уведомлении об ошибках и предложения по оптимизации.)
Offtop: За корявость кода сильно не ругаться - я инженер, а не программист.)
Wrath вне форума  
 
Непрочитано 05.08.2015, 17:32
#5129
extraneous

Не верблюд
 
Регистрация: 07.06.2010
Москва
Сообщений: 1,152


Wrath, попробовал - работает

Вот только проблема в том, что в блоке swith-case обрабатывается только точное равенство, а на практике размеры листа могут быть не совсем точными:


Все листы у меня свалились в "Unknown format":


У себя в Dynamo я сделал интервал в 30мм, в котором должны находиться размеры листа:


Если надо - во вложении файлик со всеми кратными форматами и их размерами.
Миниатюры
Нажмите на изображение для увеличения
Название: dynamo определение формата.png
Просмотров: 1012
Размер:	12.3 Кб
ID:	154486  Нажмите на изображение для увеличения
Название: размеры листа.png
Просмотров: 1015
Размер:	8.1 Кб
ID:	154487  Нажмите на изображение для увеличения
Название: unknows format.png
Просмотров: 1013
Размер:	15.9 Кб
ID:	154489  
Вложения
Тип файла: zip форматы листов.zip (489 байт, 31 просмотров)
__________________
Мой блог по Revit

Последний раз редактировалось extraneous, 06.08.2015 в 11:38.
extraneous вне форума  
 
Непрочитано 05.08.2015, 18:54
#5130
Wrath

Конструктор
 
Регистрация: 11.11.2011
Сообщений: 284


extraneous, как по мне, так проще , да и правильниее в целом, семейство исправить - у себя сделал именно так. До єтого у меня ширина листа бьіла больше номинальной на 50+мм - с допуском все равно всем не угодишь.) Размер листа ревит вьічисляет по расстоянию между крайними обьектами основной надписи, в т.ч. рамки текста и вспомогательньіе линии...
Код и размерьі форматов в т.ч. каждьій может править под себя - для редактирования последних, как по мне, даже C# знать не обязательно...
Wrath вне форума  
 
Непрочитано 06.08.2015, 12:54
#5131
extraneous

Не верблюд
 
Регистрация: 07.06.2010
Москва
Сообщений: 1,152


Wrath, да я для себя сразу же переделал, просто вы просили пожелания - вот и пожелание Интервал хотя бы в 5мм точно не помешал.

Сразу вопрос - я тут сохранил макрос в файл .cs, а как его быстро на других компьютерах установить? вроде бы их в какую-то папку надо закинуть, но не помню куда

UPD: уже разобрался, надо перенести папку %ALLUSERSPROFILE%\Autodesk\Revit\Macros\2015\Revit\AppHookup
__________________
Мой блог по Revit

Последний раз редактировалось extraneous, 06.08.2015 в 14:00.
extraneous вне форума  
 
Непрочитано 06.08.2015, 14:09
1 | #5132
Wrath

Конструктор
 
Регистрация: 11.11.2011
Сообщений: 284


Ну раз народ просют...)
Код для неточньіх лентяев :
Код:
[Выделить все]
public void CreateViewSheetSetsList2()
		{
			Document doc = this.ActiveUIDocument.Document;
			List<Element> titleBlockList = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_TitleBlocks).WhereElementIsNotElementType().ToList();
			List<View> sheetList = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Sheets).ToList().ConvertAll(e=>{return doc.GetElement(e.Id) as View;});
			SortedList<string,ViewSet> viewSheetSetsList = new SortedList<string, ViewSet>();
			foreach (Element e in titleBlockList)
			{
				Parameter s_number = e.get_Parameter(BuiltInParameter.SHEET_NUMBER);
				View sheet = sheetList.Where(v => v.get_Parameter(BuiltInParameter.SHEET_NUMBER).AsString() == s_number.AsString()).First();
				Parameter s_heightParameter = e.get_Parameter(BuiltInParameter.SHEET_HEIGHT);
				Parameter s_widthParameter  = e.get_Parameter(BuiltInParameter.SHEET_WIDTH);
				double s_height = Math.Round(UnitUtils.ConvertFromInternalUnits(s_heightParameter.AsDouble(), DisplayUnitType.DUT_MILLIMETERS),5);
				double s_width =  Math.Round(UnitUtils.ConvertFromInternalUnits(s_widthParameter.AsDouble(), DisplayUnitType.DUT_MILLIMETERS),5);
				string s_format = GetSheetFormat2(s_height, s_width);
				
				if (viewSheetSetsList.Keys.Contains(s_format))
				{
					ViewSet vs = viewSheetSetsList.Values.ElementAt(viewSheetSetsList.Keys.IndexOf(s_format));
					vs.Insert(sheet);
				}
				else
				{
					ViewSet vs = new ViewSet();
					vs.Insert(sheet);
					viewSheetSetsList.Add(s_format, vs);
				}
			}
			using (TransactionGroup tg = new TransactionGroup(doc))
			{
				tg.Start("Sorting ViewSheets by format");
				using (Transaction tx1 = new Transaction(doc))
				{
					tx1.Start("Deleting existing ViewSheet Sets");
					List<ElementId> allViewSheetSetsIds = new FilteredElementCollector(doc).OfClass(typeof(ViewSheetSet)).ToElementIds().ToList();
					doc.Delete(allViewSheetSetsIds);
					tx1.Commit();
				}
				
				using (Transaction tx2 = new Transaction(doc))
				{
					tx2.Start("Creating new ViewSheet Sets");
					PrintManager pm = doc.PrintManager;
					pm.PrintRange = PrintRange.Select;
					ViewSheetSetting vss = pm.ViewSheetSetting;
					foreach (KeyValuePair<string,ViewSet> kvp in viewSheetSetsList)
					{
						vss.CurrentViewSheetSet.Views = kvp.Value;
						vss.SaveAs(kvp.Key);
					}
					tx2.Commit();
				}
				tg.Assimilate();
			}
		}
		
		private string GetSheetFormat2(double height, double width)
		{
			string result = "Unknown format";
			double divergence = 5;
			if ( (210 - divergence <= height && height <= 210 + divergence) &&  (297 - divergence <= width && width <= 297 + divergence) )
				return result = "A4A";
			if ( (297 - divergence <= height && height <= 297 + divergence) &&  (210 - divergence <= width && width <= 210 + divergence) )
				return result = "A4K";
			if ( (297 - divergence <= height && height <= 297 + divergence) &&  (420 - divergence <= width && width <= 420 + divergence) )
				return result = "A3A";
			if ( (420 - divergence <= height && height <= 420 + divergence) &&  (297 - divergence <= width && width <= 297 + divergence) )
				return result = "A3K";
			if ( (420 - divergence <= height && height <= 420 + divergence) &&  (594 - divergence <= width && width <= 594 + divergence) )
				return result = "A2A";
			if ( (594 - divergence <= height && height <= 594 + divergence) &&  (420 - divergence <= width && width <= 420 + divergence) )
				return result = "A2K";
			if ( (297 - divergence <= height && height <= 297 + divergence) &&  (630 - divergence <= width && width <= 630 + divergence) )
				return result = "3A4K";
			if ( (594 - divergence <= height && height <= 594 + divergence) &&  (841 - divergence <= width && width <= 841 + divergence) )
				return result = "A1A";
			if ( (841 - divergence <= height && height <= 841 + divergence) &&  (594 - divergence <= width && width <= 594 + divergence) )
				return result = "A1K";
		
			return result;
		}
У меня все в C:\ProgramData\Autodesk\Revit\Macros\2015\Revit\AppHookup лежит.
Проще, думаю, внедрить макрос в шаблон.
Wrath вне форума  
 
Непрочитано 12.08.2015, 09:52 Подрезка арматуры под маленькие отверстия.
#5133
Данил Медведев

Инженер - конструктор
 
Регистрация: 09.11.2012
Санкт-Петербург
Сообщений: 179


Добрый день, уважаемые формучане.

Ситуация - армирование плиты перекрытия с небольшими (в пределах 500х500) отверстиями. Размещаю арматуру используя "Армирование по площади". Как и полагается, арматура подрезается под отверстия и у меня получается в спецификации 1-2 стержня длинами 100-300 мм - это только то, что бросается в глаза. Я не хочу, чтобы такие мелочи попадали в спецификацию, но учитывались в ВРС. Как быть?
Поглядел, вылезают стержни самой разной длинны, так как отверстия в самых разных местах. Отфильтровать Спецификацию по длине нет возможности.
Единственное, что я придумал - назначить стадию сноса проема для шахт, по крайней мере мелким, раньше стадии установки арматуры. Пол логика такая, что шахт нет на момент устройства арматуры, и соответственно она не подрезается. На арматурные чертежи выставит видимость стадий "показать всё". Теоретически, работает, даже в условиях новых отверстий после разработки и выдачи арматурных чертежей.

А кто как ещё решает такую проблему?
Данил Медведев вне форума  
 
Непрочитано 12.08.2015, 10:40
1 | #5134
extraneous

Не верблюд
 
Регистрация: 07.06.2010
Москва
Сообщений: 1,152


Данил Медведев, мы выдаем фоновое армирование плит в погонных метрах, с учетом нахлеста для данной арматуры и бетона. Все стержни разной длины идут одной позицией. Пример есть тут.

Еще можно в спецификации арматуры добавить фильтр "Длина - больше - 300", а в ВРС этот фильтр не добавлять. Тогда мелочевка не будет попадать в спецификацию а в ВРС - будет. Тут проблема в том, что при ручной проверке масса арматуры из спецификации не совпадет с ведомость расхода.
__________________
Мой блог по Revit
extraneous вне форума  
 
Непрочитано 12.08.2015, 10:50
#5135
Данил Медведев

Инженер - конструктор
 
Регистрация: 09.11.2012
Санкт-Петербург
Сообщений: 179


Цитата:
Сообщение от extraneous Посмотреть сообщение
Данил Медведев, мы выдаем фоновое армирование плит в погонных метрах,
Это все прекрасно. А зоны усиления? Хочу я показать зону усиления 3х3м. В ней, по логике, должны быть стержни 3х3 м. 32 шт, с шагом 200. Их тоже в погонные метры? Делал так, как вы предлагаете. Нормоконтроль возмущался, что не хорошо, прораб не поймет на стройке.
Данил Медведев вне форума  
 
Непрочитано 12.08.2015, 10:58
#5136
extraneous

Не верблюд
 
Регистрация: 07.06.2010
Москва
Сообщений: 1,152


Данил Медведев, я ведь сказал "фоновая арматура". Само собой, арматура в зонах усиления, доборы и выпуски считаются в штуках, а не в погонных метрах. Скачайте файл да посмотрите
__________________
Мой блог по Revit
extraneous вне форума  
 
Непрочитано 12.08.2015, 11:01
#5137
Данил Медведев

Инженер - конструктор
 
Регистрация: 09.11.2012
Санкт-Петербург
Сообщений: 179


extraneous, да есть у меня Ваш файл. Хорошо, буду внимательнее на него смотреть.
Данил Медведев вне форума  
 
Непрочитано 12.08.2015, 21:49
#5138
miko2009

Инженер-конструктор
 
Регистрация: 13.10.2011
Москва
Сообщений: 2,359


Господа ! ну и какое мнение скажете про контейнер арматуры в 2016 Revit ?
miko2009 вне форума  
 
Непрочитано 13.08.2015, 08:35
#5139
YarUnderoaker

Негропроект, инженегр-конструктор
 
Регистрация: 16.02.2008
Черкассы
Сообщений: 903


Цитата:
Сообщение от miko2009 Посмотреть сообщение
Господа ! ну и какое мнение скажете про контейнер арматуры в 2016 Revit ?
Что это? Может Rebar Constraints?
YarUnderoaker вне форума  
 
Непрочитано 13.08.2015, 11:14
#5140
miko2009

Инженер-конструктор
 
Регистрация: 13.10.2011
Москва
Сообщений: 2,359


не совсем уверен что это так называется на англ.
miko2009 вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее ПО от Autodesk > Revit > Revit Structure для конструктора (проблемы проектирования)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу нормативы для проектирования колодцев. G_Rus Поиск литературы, чертежей, моделей и прочих материалов 1 02.02.2013 11:39
Электромагнитная пушка T-Yoke Машиностроение 112 06.08.2008 18:48
Мониторы LCD CRT Разное 94 17.06.2008 10:51