Дневник Ревитчика
519 subscribers
180 photos
9 videos
2 files
44 links
Канал Вадима Муратова про рабочие будни в Ревите. Уведомления о статьях блога и новинках магазина отслеживайте на основном канале @revitblog

Сайт Муратова: muratovbim.pro
Download Telegram
Жопа синички.

Обещал — сделал.
😁87🔥4
ВЫСТРЕЛИЛ СЕБЕ В НОГУ

Потому что делаю слишком хорошо. Бедный, бедный я. Пока вы утираете слёзы сочувствия, расскажу, как докатился до жизни такой.

За последние несколько лет выпустил три библиотеки радиаторов. Сначала трубчатые, потом биметалл, в прошлом году — стальные панельные. Они пользуются разным спросом, от очень вялого, до умеренно активного. Каждый раз — выстрел наугад, ну да это ладно, это понятно.

Вот вам ссылки, если собираете что-то купить:
трубчатые;
биметалл;
панельники;
чугунные секционные;
регистры за компанию.

О чём же речь в посте. После того, как выпустил несколько библиотек, стали случаться неприятности. Так как почти везде есть вложенная арматура, то разные семейства начали конфликтовать в рамках одного проекта. Радиаторы в целом не ахти какие популярные библиотеки, тем не менее, есть случаи, что люди покупают несколько библиотек и закладывают в один проект.

Умеренная популярность библиотек приводит к тому, что я не очень хочу бросаться и тратить время на их развитие. Ну а зачем, если покупают мало? Поэтому, когда делаю очередную библиотеку, могу что-то брать из старых, что-то из новых, где-то делаю с нуля и меняю подходы к работе с арматурой. В итоге получилось так, что разные библиотеки между собой конфликтуют, это касается именно вложенной арматуры.

Что ж поделать, решил унифицировать всю арматуру так, чтобы везде она была одинаковой и не вызывала конфликтов.

И тут есть хорошие новости, и плохие. Хорошая — у меня получилось сделать семейства так, чтобы они собирались в другом семействе и принимали все положения, которые мне нужны. Прямая, угловая, осевая арматура, в стену или в пол, слева или справа от радиатора — всё работает.

Плохая — чтобы дать пользователю выбор, я делаю сложные, но удобные интерфейсы, которые завязаны на выпадающих списках. И вот их нельзя копировать между семействами, нельзя автоматизировать их создание. А значит, большинство пользователей не сможет сделать такое интерфейс и работать с кайфом.

Потому что эти сборки арматуры я хочу сделать отдельными товарами. Идея такая: человеку нужно заложить в проект радиаторы конкретного производителя. Он их качает с интернета, а там обычное говно, но даже не это проблема, а обвязка. И моё семейство арматуру можно будет загрузить в семейство, выровнять, привязать габариты прибора и перенести соединители на специальную геометрию, чтобы всё правильно менялось.

И тут получается, что сделать красиво и удобно будет сложно. А варианта, как сделать просто и красиво, особо нету. Вот и выстрел в ногу.

Другая проблема — состав арматуры и варианты подключений. Надо ли краны шаровые закладывать? А полипропиленовые краны надо? И подключения снизу вверх надо или нет? С одной стороны не хочется раздувать семейства, с другой стороны, надо дать пользователям то, что они применяют по факту. Делать отдельно семейство из кранов — тоже вариант, но это больше семейство нужно поддерживать. В общем, дилемма, куда ни копни.
👍4
Не бойся, клапан-летучая мышь ничего тебе не сделает.

Тем временем клапан-летучая мышь:
😁15🔥7🤩2😍1
Есть разработки, которые делать не хочется, но всё же надо.

Если речь про коммерческую разработку, то обычно это связано либо с недостатком исходных данных, либо с трудностью разработки. Трудность обычно связана не столько со сложностью, сколько с рутиной. То есть нужно сделать много мелких операций, чтобы получить результат, это отнимает много времени и просто надоедает.

Иногда всё стопорится, потому что не знаю, какой вариант выбрать из нескольких. Например, как разбить на отдельные файлы семейства. Что-то можно разделить, что-то объединить, где-то можно сделать замороченнее интерфейс, где-то можно не делать. Всё это отнимает силы на раздумья, а пока у меня нет ясной картины, как двигаться, я обычно прокрастинирую и не двигаюсь. Я это в себе знаю, поэтому такие моменты осознаю и просто жду, пока решение выкристаллизируется. На это мне и нужны длинные сроки в договорах.

Но есть и не коммерческие разработки, а мои собственные для магазина. Больше всего боли у меня вызывает библиотека дымоходов, ебись она конём. Я начал её летом прошлого года. Сначала думал, что щас бам-бам-бам и готово. В итоге оказалось, что ни бам-бам-бам, а баааааааам-бааааааааааам, перерыв, перерыв, бааааам, перерыв, баааааааааааааа-баааааааам-сука-ну-сколько-ещё-бааааааааам.

Там куча элементов, вроде не очень сложных, но их много, типоразмеры не всегда понятные, в итоге делаешь и делаешь, конца краю не видно. В результате в августе я просто забил на неё. Спустя несколько месяцев снова вернулся, на этой неделе продолжил. Ситуация усложнилась тем, что я обратился к подписчикам, они мне накидали ещё разных производителей. И оказалось, что эти самые производители с удовольствием штампуют разные типоразмерные ряды.

Вроде бы всё примерно похоже, но у кого-то есть 125 диаметр, у кого-то нет. У кого-то 130, 135, 140 мм идут диаметры, у кого-то 130, 140. Сука, вы там чего вообще, не можете как-то одинаково что ли делать? Я так понимаю, что производство дымоходов довольно простое занятие, нужно закупить нержавейку, несколько станков для резки и гиба металла и вперёд. Гни хоть 138 диаметр. То же с воздуховодами и канальным оборудованием для вентиляции. Только ленивый не делает оцинкованные воздуховоды. Более сложное оборудование вроде нагревателей уже закупают на стороне под своими шильдиками.

Вот щас делаю элементы креплений дымоходов. И тут тоже такая жопа. У разных производителей плюс-минус похоже, но всё же разное. Поэтому строго зафиксировать размеры и наименования, перечни диаметров не могу. А если так не делать, то нужно, чтобы пользователь сам всё это делал. Это понижает удобство и повышает вероятность ошибки.

Бесят эти вонючие дымоходы, кароч.
😁6👍5🤷‍♂4
Надеюсь, вечер пятницы вы проводите так же изысканно, как и я.
👍95🐳3
Тестирую сегодня весь день дымоходы. Поправляю ошибки, что-то докручиваю, чтобы было удобнее работать.

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

Для этого все семейства сделал в категории трубопроводных фитингов с типом детали «Мультипорт».

У способа на данный момент вижу несколько плюсов и минусов.

Плюсы:

— любой элемент можно заменить на любой другой элемент. Сработает не в 100 % случаев, конечно же, отвод внутри сети поменять на прямой участок не получится, так как меняется направление соединителей. А вот шибер или прямой участок поменять на тройник можно. Ну и если семейства по-разному ориентированы, то тоже при замене будет ошибка. В общем, ошибки вероятны, но в целом возможности замены более гибкие, так как все элементы в одной категории и одном тип детали.

— пользователь собирает систему так же, как она монтируется, поэлементно или заранее готовыми частями. С некоторой долей условности, конечно, но это всяко ближе к реальности, чем рисовать прямую трубу, а потом делить её на участки. Собственно, сам подход я выбрал такой, потому что такие системы вряд ли будут сильно большими, ну уж в ИЖС точно нет. Поэтому собрать руками вполне посильная задача.

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

Минусы:

— собирать систему поэлементно всё же дольше, чем нарисовать примерно то же самое с помощью обычных труб и фитингов. Хотя тут всё зависит от сложности сети. В некоторых местах всё равно надо будет возиться, когда надо соединить несколько элементов подряд без прямых участков между ними. Ну и надо помнить про МодПлюс «Соединить коннекторы», с его помощью всё будет быстрее.

— в системах без трубопроводов неоткуда взяться имени системы и назначить систему тоже не получится через элементы дымоходов. Выход тут один: нужен элемент, с которого дымоходы наследуют систему. В целом, это не то чтобы прям беда, но это такая особенность Ревита.

Если у пользователя будет в проекте котёл с подходящей точкой подключения (это должен быть соединитель трубопровода с допустимым диаметром), то предварительно нужно будет задать систему на эту точку подключения, а уже потом цеплять к ней дымоходы. В целом, это же можно решить и с помощью трубы, но у неё должен быть подходящий диаметр.

— так как в сети нет прямых участков труб, то не получится воспользоваться МодПлюсом «Вращение МЕР элементов». То есть вращать можно будет либо вручную аккуратно с ловлей оси, либо только с шагом 90° стандартными крутилками Ревита.


Отдельный вопрос — крепления. Опорные площадки — это по сути кусок трубы + пластина, у трубы есть раструбы, поэтому это полноценный элемент системы. А вот всякие уголки, напольные опоры и хомуты — это уже не такая история. Поэтому тут пошёл следующим путём. Всё, к чему крепится площадка, делаю вложенными семействами. Чтобы все элементы правильно окрашивались в цвет системы, то делаю вложенную геометрию + общую вложенную пустышку.

Это накладывает свои сложности с передачей имени системы, но это буду решать скриптами.

Всё, что ставится просто на вертикальные участки, типа стеновых хомутов или хомутов с кронштейнами, делаю семействами без соединителей. Будет чуть дольше позиционирование, ну что поделать, надо иногда и руками поработать.

У фитингов труб тут есть минус — семейства с соединителями не крутятся пробелом. Но если без, то всё нормально. Так что хомут повернуть получится, а вот площадки надо вращать либо крутилками, либо инструментом для вращения. Тоже добавляет трудозатрат, но это проще, чем монтировать всё это на морозе.
👍5
Сегодня узнал, что у песни «Крот» рэпера Хаски существует оригинальная версия с его первого альбома 2015 года.

Я же всегда слушал и любил какой-то ремикс 2017 года. Вот он: https://music.yandex.ru/album/4840709/track/38038837

Оригинал 2015 года чуть ли не лучше: https://music.yandex.ru/album/2685314/track/29535842

Этот трек напоминает мне книгу «Дерьмо» Ирвина Уэлша. Если не читали, то, возможно, смотрели фильм «Грязь» с Джеймсом Макэвоем в главной роли. В оригинале «Filth», так что оба перевода подходят.

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

Там же выходил Чак Паланик, которого вы наверняка знаете по «Бойцовскому клубу». Паланика я тоже читал много, «Удушье» мне нравилось больше всего. Там герой был хоть и типично паланиковский, но был какой-то живой. Остальные герои у него все пластиковые, какие-то декорации.

А Ирвин Уэлш — топ-автор. Если не смотрели «Грязь», то наверняка слышали или смотрели «На игле». Это тоже его роман, с элементами автобиографии.

«Кошмары аиста марабу» тоже его книга. В каком-то популярном треке ATL есть отсылка к этой книге. Тоже хорошая книга, ну мне когда-то нравилось.

Кароч, крот в песне Хаски прогрызает ход в лирическом герое. В романе «Дерьмо» есть что-то похожее, это даже графически иллюстрируется в тексте до самого финала.

Спойлерить не хочу, если не читали и такой жанр нравится, то рекомендую. Сам я сейчас художественную литературу не читаю, всё больше по нон-фикшену.
👍61🐳1
Продолжаю эпопею с дымоходами

Вчера и сегодня крутил-вертел автоматизацию. В библиотеке есть элементы, которые никуда не подключаются по факту: это всякие крепежные системы, фартуки-юбки, крышная разделка, листы для защиты кровли.

У этих семейств нет соединителей, потому что их никуда подключать не надо, они базируются по иному принципу. В итоге получается, что они не часть системы и их нельзя быстро выделить Табом и вписать значения. Ещё это значит, что у них нет имени системы.

Но также нет возможности выбрать Табом быстро и тоже не значения в имени системы у общих вложенных. Причём они есть как у элементов сети, так и у крепежа. Например, у прямого дымохода есть хомут трубный. Он общий вложенный, он будет без системы. У крепежа есть всякие консоли и хомуты, они тоже общие.

В итоге решил сделать обработку скриптом. В первой версии обрабатывалось всё, кроме крепежа, ведь у него нет соединителей, он никуда не подключен. Сначала так и думал оставить, но потом подумал, что это неприкольно.

Вся проблема в том, каким методом я могу определить принадлежность крепежа к системе. Метод только один — это поиск пересечений геометрии. Это сложно в том плане, что это долго, ведь компьютер слепой, он просто перебирает всё подряд, пока не найдёт нужное. Если в проекте немного элементов, то обработка будет достаточно быстрой. Если элементов много, то всё будет дольше и дольше, в зависимости от количества элементов.

Но иного выхода нет. Единственное, как можно ускорить, — это сузить количество элементов для проверки. Я так и решил сделать. Поскольку не умею получать геометрию элементов в Питоне, то пришлось вынести это в блок нодов Динамо. Это всегда не очень, так как эти блоки работают сразу все, а не последовательно. В итоге могут быть накладки, когда один блок в начале ещё не успел отработать, а какой-нибудь блок в середине или конце уже закончил, но не получил данных на вход.

Ну куды деваться. В итоге я ограничил элементы: специально отфильтровал так, чтобы проверялись только мои семейства и только прямые дымоходы и элементы без соединителей. То есть все фитинги откидываются, остаются только прямики, куда могут ставить все эти хомуты и разделки. А дальше Динамо проверяет, какие элементы пересекаются. Формируется список: крепление → пересекаемый дымоход. Дальше с дымохода получаю данные и пишу в крепление.

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

Посмотрим, как это будет в работе.
👍4
Вы ведь могли не знать, а я расскажу.

Вот вам группа Them Crooked Viltures. Группа не добилась никаких значительных успехов.

Какие-то наркоманы в составе? Не исключено.

Поет и лабает на гитаре Джош Хомми из Queen of the Stone Age. Вы эту группу знаете по No one knows и крутому барабанному вступлению в песне Song for the Dead. Крутой альбом «Песни для глухих», тоже послушайте.

Играет на басу и на клавишах Джон Пол Джонс. Парень немного играл в Лэнд Зеппелин на басу. Всю историю группы немного играл, а вы что? А вы помните Джимми Пейджа.

На барабанах тут Дэйв Гроул. Никакого успеха и известности он тоже не добился, пока долбил в Нирване, ему пришлось брать гитару и петь попсу в своей группе Фу Файтерс.

И вот в таком составе получаем провальную группу с шикарным драйвовым альбомом.

Слушаем, причмокиваем: https://music.yandex.ru/album/83182
🔥5👍32
Вот есть два варианта, как делать формулы в таблицах выбора.

Можно ссылаться на параметр с именем таблицы, а можно напрямую указывать имя таблицы.

Либо:
size_lookup(Параметр с именем таблицы, <остальная формула>),
Либо
size_lookup("Имя таблицы в кавычках", <остальная формула>).

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

Зачем делать по второму варианту — вообще не непонятно.

Отсюда вопрос: «Вадим, ты нахуя так сделал в далёком 2021 году?»

Ответа нету.
😁12👏3🌚2
А это метод Насти Кравцовой — она не заменяет таблицу выбора, а создаёт новый параметр.

В нём прописывает имя таблицы, а затем планомерно идёт и заменяет в каждом параметр ссылку на параметр.

У способа есть плюсы и один минус.

Плюсы: безопасность и возможность поэтапной замены. Так как меняем по одному параметру за раз, то заодно проверяем, как всё работает.

Если какой-то параметр нормально скушал таблицу, то идём дальше. Если где-то затык, то чиним только его.

В методе, когда сразу заменяем таблицу в существующем параметре есть риск, что ошибка выскочит не прям сразу и придётся откатывать все изменения.

Так что способ безопасный. Но его минус — нужно дольше и больше работать ручками, чтобы всё привести к нужному виду.

После того, как всё заработало, старый параметр с именем таблицы удаляем, а новый параметр переименовываем в имя старого. И всё, внешне как будто просто заменили имя таблицы, а по факту — переобули таблицу в новый параметр.
🔥7
Если вы думаете, что я только в Ревите работаю, то это не так.
This media is not supported in your browser
VIEW IN TELEGRAM
О погоде на 11 февраля в Челябинской области расскажут южноуральцы

📺 Вести Южный Урал | Челябинск
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18🔥11👏4👍1🤯1
Как оно обычно и бывает, думал, сделаю за 3-4 часа, а вот уже два дня потратил.

Попросили сделать составной тройник для SML-системы. Ну я подумал: «А чё, щас возьму готовые из канализации, поменяю таблицы, раструбы на хомуты и готово, делов немного». Всё равно думаю как-нибудь выпустить такую библиотеку.

В итоге два дня сижу и вожусь с этой геометрией.

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

Ну что ж, удалил составной, оставил двойной с возможностью добавлять успокоительный участок. При этом меняется геометрия и наименование, всё по красоте. Но в первой версии я решил сделать проще и по факту ставил друг на друга два полуотвода. В итоге в центре отвода была линия.

Подумал-подумал и плюнул, решил переделать геометрию этого участка, чтобы была гладкая. Сел, сделал — работает. Меняю угол на нестандартный, который обязательно вылезет на трассах с уклоном, и вновь появляется полоса по центру. Потому что геометрия сдвигов поломалась из-за пересечения траекторий. Сука, за что.

Ну акей, давай думать, как исправить. Геометрия там с кривыми, это прям непросто. Решил посмотреть, а как я раньше делал такой же участок для шаблона АДСК. Оказалось, что там я поступил просто и изящно: сделал так, чтобы оба кривых участка строились от вертикальной плоскости, в итоге параметризация свелась к минимуму.

Молодец, конечно, но это значит, что теперь всю геометрию с нуля перестраивать. Мне было жалко. Я решил, что надо попробовать порисовать в блокнотике, может, чего придумается по тригонометрии. В итоге отрисовал узел в Ревите и сразу стало ясно, как тут двигаться по жизни.

Нахерачил ещё формул и всё стало прекрасно строиться. Не знаю, что тут хорошо: что раньше сделал проще, а щас не догадался, или что теперь смог реализовать чуть более сложным алгоритмом, но при этом более удобным размещением. В старом семействе приходилось строить дополнительную геометрию, чтобы правильно разместить гладкий участок. Но там были и другие преимущества, так что даже не знаю, в какой раз сделал круче, в тот или в этот.

На скриншотиках покажу старое и новое.
10🤝3🔥2
А вот отличный альбомчик в стиле ранних Битлз с примесью неоклассики.

Обратно Падающие — Популярный Монстер

Что за наркоман на обложке, не знаю, не спрашивайте.
1😁1
Если работаете с видео, то вот мои находки, некоторые буквально полчаса назад случились

1. В Давинчи Резолв можно ускорить проигрывание видео на монтаже. То есть сама дорожка свою скорость не меняет, меняется скорость воспроизведения в монтажном пространстве. Как на Ютубе, когда х2 выставляете. Это очень удобно, потому что сидеть и слушать весь ролик очень утомительно, там по факту вырезается процентов 10 всякой мелочи, а времени тратишь в два раза больше, чем длина ролика.

По этой причине для коротких видео с лайфхаками я вообще перестал делать монтаж, потому что видео полезное, кому нужна информация, переживут, что где-то я там оговорился или башкой мотаю при включении и отключении записи.

Короче, на вкладке монтажа нажимаете L — и о, чудо, воспроизведение ускоряется в два раза. Ещё раз нажмёте — ещё в два раза. А кнопка J ускоряет обратное воспроизведение видео. Непонятно, зачем такое нужно, но вот тоже есть.

2. Для разбивки видео на главы, для таймкодов, можно приспособить маркеры. Ставишь маркер, кликаешь по нему и задаёшь имя. А дальше выводишь индексы на панель, получается список таймкодов. Почему-то он у меня не экспортируется, ну хотя бы руками перебить уже проще, чем потом пересматривать видео и отмечать в блокнотике места.

3. Таки нашёл инструкцию, как сжимать видео. Можно в Avidemux сделать, битрейт уменьшить или непосредственно размер видео, но ещё есть ffmpeg — какая-то шаманская штука для командной строки. Но вроде есть доходчивая статья, как с этим работать, сегодня вот попробую, как домонтирую видео.
6