Дневник Ревитчика
СтатистикаКанал Вадима Муратова про рабочие будни в Ревите. Уведомления о статьях блога и новинках магазина отслеживайте на основном канале @revitblog Сайт Муратова: muratovbim.pro
- Последний пост
- 15 авг.
- Последнее чтение
- 09:00
- Постов за неделю
- 3
- Всего постов
- 22
- Тип
- открытый
- Язык
- русский
- Категория
- Блоги
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 169
- 1/48двое суток
- 193
- 1/72трое суток
- 208
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Надо кому книжки? Бесплатно, но доставка за ваш счёт СДЭКом или Озоном. Все лоты проданы!
Поступил запрос от клиента: иногда после разделения воздуховодов на отрезки приходится корректировать трассы, поэтому хорошо было бы убрать разделение, соединить их обратно. И после корректировок уже нарезать заново. Я подумал: «Ну фигня-вопрос, щас за полчасика накидаю скрипт и отдам, как раз отвлекусь от рутины». А в итоге это вылилось в полноценное изучение того, как Ревит строит и перестраивает воздуховоды. И заняло не полчаса, почти два рабочих дня. Первая идея была простая и невинная: ищу в проекте все разделители по имени семейства и типа. У элементов получаю их соединители, а с соединителей разделителя получаю соединители воздуховодов, которые к нему подключены. Дальше по этим двум соединителя строю новый воздуховод. В Ревит АПИ есть такой метод. В Ревите 2019 всё прекрасно работало, потому что до 2021 Ревита они там у себя внутри делали так, что при соединении воздуховоды сами объединяются. С 2021 версии это поведение исправили, якобы это вызывало проблемы при работе с рабочими наборами. Типа у одного воздуховода мог быть один затяный рабочий набор, у другого — другой, соответственно мог возникать конфликт. Как по мне, это какой-то высосанный из пальца аргумент, ну да ладно. С 2021 Ревита воздуховоды при удалении элемента сами не объединяются и при добавлении нового кусочка тоже не срастаются в один воздуховод. В итоге у меня строились коротенькие кусочки, которые подключались к существующим воздуховодам. Ревит такое устраивает, а меня нет. Вторая идея была — не строить кусок воздуховода, а удлинить существующие, а потом соединить их соединители. Тоже не сработало, получался разрыв, хоть воздуховоды и соединялись в сеть. Но мне-то надо объединить их в один. В результате гугления понял, что никаких вариантов нет: надо удалять существующие воздуховоды и строить новый, иначе один воздуховод не получится. То есть по сути это мне надо вообще все прямики удалить и перестроить заново. Ладно, так и сделал. Беру разделитель, получаю с него подключенные воздуховоды, а уже с них получаю элементы, которые подключены к воздуховодам. Дальше удаляю два эти воздуховода и разделитель, строю новый через точки на соседях удалённых воздуховодов. То есть, допустим, у нас есть разделитель, с двух сторон воздуховоды, а к ним подключены отводы. Вот между этими отводами и строю новый воздуховод. Появилось две новые проблемы. Первая — врезки отсоединяются, что логично, ведь они подключались к тем воздуховодам, что я удалил, к новым они не подключаются сами по себе. Угадайте, что надо делать, если врезку надо подключить к воздуховоду? Правильно, только удалять и строить новую. Нельзя взять существующие и подключить к воздуховоду. Акей, врезка строится методом, в котором надо дать соединитель элемента, от которого строим врезку, и воздуховод, из которого врезка выходит. Поэтому добавил ещё алгоритм, который берёт старую врезку, смотрит, что к ней подключено, запоминает, а потом заново подключает через врезку. У воздуховода есть два вида соединителей — есть с типом End, конечные, и есть с типом Curve — это вот как раз точка на воздуховоде, куда подключается врезка. Скорее всего именно по координатам этой точки Ревит и понимает, как делить расходы до и после врезки в сети. Ведь при маркировке он правильно выводит расходы на воздуховодах с врезкой, хотя в параметрах воздуховода мы видим только суммарный расход. Вторая проблема — некоторые воздуховоды, особенно вертикальные, стали проворачиваться. То есть идёт отвод вверх, Ревит считает, что его сечение 300х500, хотя даже визуально там 500х300. Ну и в итоге воздуховод он строит 300х500, хотя надо было 500х300. Пришлось сначала методом проб и ошибок, а затем методом анализа выяснять какую-то зависимость между направлениями соединителей у воздуховодов и элементов, к которым они подключены. Для этого построил 8 комбинаций: воздуховод слева-направо, отвод в дальнюю сторону (от себя); воздуховод слева-направо, отвод в ближнюю сторону (к себе), то же вверх и вниз, потом справа-налево. Всё для того, чтобы посмотреть ориентацию системы координат соединителей. У соединителей есть своя система координат, вы её можете видеть в семействах, когда выделяете соединитель. Там появляются координатные оси, причём ось Z всегда идёт вдоль оси подключения, а вот X и Y могут гулять. Вот я и строил разные варианты, чтобы посмотреть, как сочетаются между собой координаты соединителей воздуховодов и подключенных к ним отводов. Построил, запустил скрипт, получил часть воздуховодов с проблемами, а часть без них. Сравнил и увидел, что во всех случаях с ошибкой оси Х соединителей были под углом 90°. Если угол был 0° или 180°, то проблем не возникало. Добавил корректировку: если направления осей Х были равны 90°, то нужно повернуть элемент на 90°. Помогло, вертикальные и горизонтальные воздуховоды в тестовом файле стали строиться нормально. Отдал клиенту очередную версию скрипта на тесты. Всё это получалось долго, сложно, с болью и унижениями, но я доволен, что всё же разобрался. Весьма вероятно, что эти знания мне пригодится где-будь в будущих скриптах. Я и так знал, что Ревит по сути каждый раз просто заново отстраивает сеть, но происходит это так быстро, что мы просто не замечаем этого, видно это только по смене Id элементов. Теперь вот и сам сделал то же самое, появилось больше понимания, как это происходит по капотом.
Вопрос к дизайнеру Микрософта. А чё, нельзя было один единственный пункт оставить, зачем было область навигации прятать в меню? Ну тут же тупо один пункт, который логично связан с теми, что отображаются по умолчанию.
Уважаемые владельцы Рейзер Тартарус в2. Какого чуда происходит вообще? Я назначил макросы на кнопки, один макрос = одно сочетание клавиш для команды в Ревите, выбрал я макросы последовательности. И я не понимаю, как оно работает. Вроде написано, что надо нажимать несколько раз, типа сколько клавиш, столько и нажатий. То есть в моём случае это два нажатия должно быть. Окей, но какие-то сочетания работают с двойного нажатия, а какие-то работают с одного нажатия. Какие-то то не работают, то работают. Я нихера не понимаю, что происходит. Вы сталкивались? Это я тупой или лыжи не едут?
Мужички, у Туземного совета трудящихся вышло новое видео. Обладателям яичек такое необходимо смотреть, чтобы дальше я не придумал, чего бы такого припизднуть, вот вам ссылка на видео и всё: https://youtu.be/SQTuIpGAZkE?si=IDpKun3uNJPeefal
Сегодня я пошёл против всего святого потому что сознательно добавил в семейства импорты DWG. Это было нужно для маркировочных табличек на коллекторах. Решение, конечно, так себе, но иначе эти мелкие линии просто не создать. Поэтому я пошёл на сознательный риск, ещё добавлю какой-нибудь файлик с предупреждением об этом для пользователей. Я сразу понимал, что делать выпадающий список на все варианты сразу в семействе самой маркировочной таблички — плохая идея. И настраивать замучаешься, и семейство станет весить много. Поэтому решил пойти ещё одним сомнительным путём. Выпадающий список можно сделать для только одного загруженного семейства, а остальные подтянуть из проекта, но для этого вложенное должно быть общим. Отсюда сразу две проблемы. Первая — общее семейство будет падать в спецификацию. Вторая — в выпадающий список залетят вообще все семейства из проекта, которые есть в категории того семейства, на который делаешь выпадающий список. К сожалению, не все пользователи так же много в своей жизни потели жопой на стуле перед Ревитом, как я, чтобы с легкостью решать эти проблемы, а решаются они с лёгкостью. Первая решается фильтрацией в спецификации. Я не добавлял параметр АДСК_Количество в эти таблички, соответственно, можно легко отфильтровать по АДСК_Количество «параметр существует» или просто больше 0. Вторая решается костыльно — через выбор какой-нибудь непопулярной категории, в которой с большой долей вероятность просто не будет никаких других семейств. Так как разработка для инженеров, то я подумал, что категория «Озеленение» вряд ли им сильно помешает. Поэтому запихал все семейства в эту категорию. При этом в процессе заметил, что для каждой таблички создавать отдельное семейство и очень муторно, и не очень красиво. Так как в выпадающий список будет залетать и имя семейства, и имя типоразмера. В итоге запись будет слишком длинная. Кстати, есть прикол, забыл, кто мне его рассказал, вроде Саша Климович, что если у семейства одинаковые имя семейства и имя типоразмера, то такое семейство в выпадающем списке отображается как просто имя типоразмера, то есть форма записи не «Имя семейства» : «Имя типоразмера», а просто «Имя типоразмера». Кароч, я решил объединить наклейки по логике применимости. Собрал отдельно семейство с наклейками для жилых помещений, для нежилых, для горячей воды и холодной, для отопления и теплого пола, в общем получилось 13 семейства, общим весом больше 5 мегабайт, но каждое семейство весит не больше 450 КБ. Даже то, в котором 13 импортов. Дело сразу пошло быстрее. Потом в семейство маркировочной клипсы засунул одно вложенное с наклейкой, создал параметр типоразмера семейства, повесил галочку для смены фона таблички и всё. Дальше грузим в проект всё и в выпадающем списке у нас получаются все эти таблички. Я когда-то давно делал семейства табличек для эвакуационных выходов. И вот там я в натуре выдавливаниями и линиями рисовал кучу табличек. Я засунул всё в одно семейство, наскрывал галочками варианты. И получилось очень тяжёлое и медленное семейство. Поэтому больше такое повторять не хочу, сделал вот такое вот с общими вложенными. Очень надеюсь, что ни у кого проекты фаталить не будут из-за линий Автокада. Опасная эта тема. Но иначе делать не вариант, размер таблички небольшой, туда просто не влезут все эти линии, если делать так, чтобы минимальная была 0.8 мм.
Ну чисто кайф, от души в душу, братишка
Вдруг кому пригодится, я себе собрал файлик, который вносит правки в реестр, чтобы Винда 11 выглядели благопристойно. Открыть Мой компьютер в Проводнике 1. Открываем Проводник 2. Жмем на три точки, дальше Параметры 3. Наверху выпадающий список, выбираем Открыть Проводник для: Этот комьюптер Убираем рекомендации и список всех приложений в меню Пуск 1. В блокнот вставляем текст: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Start] "HideRecommendedSection"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Education] "IsEducationEnvironment"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer] "HideRecommendedSection"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoStartMenuMorePrograms"=dword:00000001 2. Сохраняем на диск с расширением .reg 3. Запускаем, соглашаемся. 4. Перезагрузка. Вернуть контекстное меню Свойства у файлов 1. Аналогично пункту выше Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32] @="" Убрать Главное из Проводника 1. Запускаем cmd от имени администратора 2. Вставляем reg add "HKEY_CURRENT_USER\Software\Classes\CLSID\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}" /v "System.IsPinnedToNameSpaceTree" /t REG_DWORD /d 0 3. Энтер. Убрать Галерея из Проводника 1. Аналогично создаём reg-файл Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace_41040327\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}]
Когда не получается найти ошибку, надо вводить правильные имена переменных.
Докладываю ситуацию по апгрейду старого компьютера. Я купил для него новый диск SATA размером 2.5" на 1 ТБ. Покупать диск М2 не вижу смысла, они дороже, плюс надо переходники брать. Перед заменой диска решил почистить от пыли и поменять термопасту. Впервые в жизни сам наносил термопасту, в целом, не могу сказать, что мне понравилось, потому что непонятно, хорошо нанес или нет. Ну не взорвался пока, значит, норм. Для снятия термопасты использовал влажные салфетки из Пятерочки. И с кулера, и с процессора. Потому что изопропиловым спиртом не промышляю, дома вообще была только одна спиртовая салфетка. Комп я собрал где-то в 2017 году, с тех пор я не чистил, потому что не барское это дело. Говнища там было, конечно, моё почтение. Ну не прям валенки, но на кулере радиатора немного шматков пылевых было. Ну и внутри блока слой пыли. Я заказал воздуходувку, но ждать не хотел, поэтому прочищал баллоном со сжатым воздуходом. Чистит не прям супер, крупную пыль выдувает, мелкую не очень. Тряпочкой поработать тоже пришлось. В итоге полдня провозился, прочистил. Подключил диск, на удивление в системнике даже было место специально под такие диски. Поставил Винду 10, запускаю — работает! Причем работает прям быстро, комфортно. Ништяк. Звука нет, надо ставить драйвера. Ставлю. Ребут. Комп тормозит. Комп тормозит из-за драйверов с сайта-производителя! Вот это поворот. Я удалил часть драйверов и снова заработало нормально! То есть, вполне возможно, что все это время проблема была не в старости компа и не в типе жесткого диска, а тупо в кривых драйверах от МСИ. Кароч, я не хочу проверять это и накатывать винду на старый диск, буду верить, что установка SSD помогла больше, чем удаление кривых дров.
Ну что, эксперты, ссохлась термопаста или нет? Чем её теперь убирать-то? P. S. Влажные салфетки из Пятерочки справились на отлично! Но если так было делать нельзя, изопропилового спирта у меня нет в доме, я человек непьющий, то я протёр ещё спиртовой салфеткой для рук. Надеюсь, процессор меня простит и будет работать.
В Ревит АПИ есть возможность получить геометрию объектов. Если речь про трехмерные объекты, то обычно это набор солидов — сплошных тел. Вот вся та геометрия, которую рисуем в редакторе, в итоге приходит в виде солидов. Линии он тоже может получить, но обычно интересны именно солиды. У них есть площадь поверхности и объём. Сейчас я дописал скрипт для формирования данных на изоляцию трубопроводов. И у меня была та же проблема, что всегда есть у изоляции, — длина и площадь изоляции фитингов. Ну и арматура сюда до кучи, пусть это и более мелкая проблема. Сам Ревит не считает их площади и длины. Справедливости ради, уж площадь он хотя бы примерно посчитать бы мог. Но не считает. И вот я прикинул формулы площади поверхности трубы и её объём. Везде участвует длина и диаметр трубы. Соответственно, можно вывести, так сказать, эквивалентный радиус и длину из объёма и площади. Что я и сделал в скрипте. В итоге получается весьма неплохо для объектов простой геометрии. Трубы и имитация гиба трубы отлично посчитались. То есть я не брал диаметр и её длину с трубы, я всё посчитал с геометрии изоляции. Более сложные объекты тоже считаются, но есть загвоздка с определением диаметра. Для моего скрипта он важен, так как по диаметру подбирается артикул, то есть мне надо знать внутренний диаметр изоляции. И вот аналитически из объема и площади значения не всегда получаются чёткими. Что в целом логично, ведь и сама изоляция строится не всегда гладко, ну и это в общем подгон ведь. Из этого появляется понимание, почему авторы Ревита решили забить на данные по площади и объему у сложной геометрии. Её нельзя посчитать точно, а значит ну его вообще нафиг. Хотя на мой взгляд, лучше дать значение с погрешностью, чем просто выкидывать кучу элементов из обработки. Так и написать: данные вычисляются примерно, не нравится, идите в жопу. Чтобы получить эквивалентный диаметр, я беру площадь поверхности, минусую из неё площадь соединителей. Это уже неточно, так как для пластика мы делаем соединители по наружному диаметру и тут всё хорошо, а вот для стали там будут расхождения, ведь условный диаметр стали почти равен внутреннему, а не внешнему. С трубами в целом это легко решается, можно с изоляции получить трубу-основу, а уже с трубы все данные. А вот с фитингами всё совсем плохо, так как там всё, что можно получить с основы — это условный диаметр подключения, который ровным счётом ничего не говорит о наружном диаметре фитинга. А значит торцы в любом случае будут вычитаться не совсем корректно. Отсюда и невозможность точно посчитать площадь поверхности фитингов и арматуры. С объёмом похожая беда, это надо брать объём изоляции, вычитать объём основы, всё это будет не особо точно. Вот в Ревите и забили на это, считают только простые элементы предсказуемой геометрии — трубы и воздуховоды.
Главное в жизни — позитивное мышление. Объективная реальность не так важна.
видео или голосовое, без подписи
Извините, немного про Ревит напишу, знаю, что вы к такому не привыкли Скинул тут один заказчик модели, спрашивает, могу ли переделать под него. Там внутрипольные конвекторы. Ради интереса открыл модели посмотреть. Там в параметрах говно, интерфейсы говно, но есть моменты, которые вызвали интерес. Угловой элемент, на него приложил картинку. Сделали прикольно: сдвигом продавили решётку с запасом, а потом полым сдвигом отрезают лишнее. Это хорошо сделали, я вот делал массивом и подрезал его отдельно. В моём случае есть плюс, я могу при желании вылеты сторон сделать хоть по два метра, здесь же длина ограничена. Но по факту никому не нужны угловые модули длинные, обычно это известной длины изделия. Так что такой способ намного экономнее с точки зрения скорости работы семейства и его веса. За это лайк. На второй картинке вложенный сервопривод. Вот тут не лайк, потому что сделали статичную геометрию, сделали полым массивом прорези и так и оставили. Нафига? Это же массив, он утяжелять будет. Геометрия не меняется, надо сделать массив, а потом просто всё разгруппировать, превратить в обычную геометрию.
Какой же был классный айфон 4S когда-то.
Свой предыдущий комп я собирал сам довольно давно, году в 2017 вроде. Помню, было лето, я был молодой и весил килограммов на 12 меньше. Собирал бюджетную сборку, но тоже под Ревит. И даже сейчас я смотрю на его характеристики и понимаю, что в целом-то они неплохие. Для семейств вполне нормально, для небольших проектов тоже. Но вот беда. Со временем компьютер стал дико лагать. Даже переустановка Винды никак не помогает. Долго грузится Винда, долго открываются программы, всё работает сильно медленно. В начале такого не было. Сейчас у меня единственный вариант — проблемы из-за жесткого диска. То есть сам диск как-то медленно работает и поэтому все тормозит. Память и процессор не загружены на полную, а всё тормозит. Материнка старая, там нет разъемов под диски М2, но возможно надо попробовать поставить SSD, но формата SATA. Ну если такие бывают, конечно. Если не это, то я хз, что делать. Продать по частям только, наверное. Жена на нём иногда работает, но я не представляю, как ей хватает терпения ждать, пока комп раздуплится и что-то сделает. Что думаете, куда ещё можно ковырнуть? Пыль и температура вряд ли причина, ведь тормозит прям с самого начала, сразу с запуска, когда еще ничего нагреться не успело.
Если кому интересно: добавление таблицы выбора на почти 10 млн знаков (35 с небольшим тысяч строк), которая сама по себе весит 9,5 МБ, прибавляет семейству веса где-то на 500 КБ. То есть примерно на размер ZIP-архива с таблицей, так как семейство и есть по сути архив.
Седина в бороду — бес предлагает попробовать экспортировать разом 1,6 млн значений на 5 листов Экселя. На удивление, кстати, получилось. Несколько минут обработки и даже не зависло.
Добродушный сантехник выпустил видео про нагреватели. Вот: https://youtu.be/gOZDqF8J9iw?is=dIuL3V_N7BDzSBGg У меня на старой квартире был накопительный на 30 литров. На новой — проточник. 30 литров, конечно, маловато, но больше просто не влезал. На помыться один раз хватало. Так как делал уже после ремонта основного, то каждый раз была головная боль с включением и отключением кранов. Ну и розетки в туалете не было, приходилось тянуть провод от бака к розетке вне туалета. В новой квартире мощность позволяла поставить проточник. Поставил модель на 6/8 кВт, Штибель Эльтрон, подписчики помогли купить подешевле ♥️ В прошлом году я решил попробовать включить его на 38 градусов и выдавать сразу на смесители горячую воду. Это сработало, но было так себе, так как расход был маловат, в душе мыться можно, но не прям комфортно. В этом году решил сделать стандартное включение, то есть смешение воды. На проточнике выставил 55 градусов, теперь открываю смесители обычным способом. И это оказалось сильно удобнее. Расход воды выше, душ принимаю так, будто воду вообще не отключали. Ещё и быстрее идёт горячая, так как не надо сливать остывшую от коллектора на этаже. Так что хороший проточник — тема, если есть мощность. Накопительные ставить стрёмно, с ними геморрой, ещё и место занимают.