06 Сентября 2023
223

Волшебная кнопка для подсчета линий в Sketchup

Без прелюдий сразу к делу.

Чтобы было комфортно пользоваться понадобится версия Sketchup 2020 или старше.

В этой версии немного прокачали вкладку "Иерархия" добавив возможность скрывать через нее группы и компоненты. Это нужно для того чтобы не страдать ерундой добавляя десятки ненужных слоев, чтобы скрывать/показывать группу объектов.

Мне удобен вариант при котором видимость/невидимость всех всех групп управляется через иерархию. А все что нельзя скрыть через иерархию управляется через слои.

Например можно скрыть запасы кабеля для распределительной коробки или розетки и обозначить их пунктиром.

Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост

Линиями нарисованными пунктиром можно можно управлять через слои.

Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост

Выше вы видите созданную группу с именем E-W, в ней находятся группы с отдельными линиями.

Каждая группа с именем типа 5Р1 это отдельная линия на щит. (5 номер помещения, Р-розетки,1 номер розеточной группы в комнате)

Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост

Группа 5Р1

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

Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост

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

Нужно зайти в интересующую группу выделить всю линию и только потом увидим результат в данном случае ~ 27957 mm

Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост

Далее записываем результат в excel/блокнот/листочек и повторяем процедуру со всеми группами, что является довольно неудобным если учесть что бывают объекты на которых может быть и сто линий (монтаж СКС).

Есть способ вывести результат по всем линиям сразу и этот способ использовать скрипты на языке Ruby. Окно > Консоль языка "Ruby"

Вставляем скрипт:

model = Sketchup.active_model

group_name_pattern = /^[1-9][0-9]?([А-Яа-яA-Za-z]+)[1-9][0-9]?$/

group_lengths = Hash.new(0.0)

matching_groups = Hash.new { |hash, key| hash[key] = [] }

scale = 0.0254

def process_group(group, group_name_pattern, group_lengths, matching_groups, scale)

group_name = group.name

match = group_name.match(group_name_pattern)

if match

letter = match[1]

edges = group.entities.grep(Sketchup::Edge)

total_length_mm = edges.reduce(0.0) { |sum, edge| sum + edge.length * scale }

group_lengths[letter] += total_length_mm

matching_groups[letter] << group

end

group.entities.each do |entity|

if entity.is_a?(Sketchup::Group)

process_group(entity, group_name_pattern, group_lengths, matching_groups, scale)

end

end

end

root_groups = model.entities.grep(Sketchup::Group)

root_groups.each do |group|

process_group(group, group_name_pattern, group_lengths, matching_groups, scale)

end

group_lengths.each do |letter, total_length_mm|

if total_length_mm > 0.0

total_length_meters = total_length_mm

puts "Группы с буквой #{letter}, Общая длина линий: #{total_length_meters.to_i} м"

matching_groups[letter].each do |group|

group_name = group.name

edges = group.entities.grep(Sketchup::Edge)

total_length_mm = edges.reduce(0.0) { |sum, edge| sum + edge.length * scale }

total_length_meters = total_length_mm

puts " Гр: #{group_name}, Длина кабеля: #{total_length_meters.to_i} м"

end

end

end

И через секунду получаем готовый результат, ну или через пять секунд если у вас под сотню линий

Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост

Итого: Группы с буквой С, Общая длина линий: 169 м (освещение 3х1,5) Группы с буквой Р, Общая длина линий: 186 м (розетки 3х2,5) Группы с буквой ВП, Общая длина линий: 15 м (варочная поверхность)

Чтобы скрипт сработал линии необходимо поместить в группу с именем вида 1Р1, 21Р1, 1Р22, 1РС22 и тому подобное. То есть (одна-две цифры)(одна-две буквы)(одна две цифры). Буквы подходят как латиница так и кириллица.

Если предпочитаете другое называние можете изменить переменную group_name_pattern

Не знаю насколько правильно написан код, но он работает, не это ли самое главное)

Если это читают программисты знакомые с Ruby, подскажите что исправить или улучшить.

Наверное можно сделать экспорт в excel файл.

Пользуйтесь на здоровье

Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост
Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост
Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост
Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост
Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост
Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост
Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост
Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост
Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост
Волшебная кнопка для подсчета линий в Sketchup SketchUp (программа), Ruby, Проектирование, Гайд, Инструкция, Полезное, Длиннопост

Материал и работа без цен

Показать полностью 16
2270

Пародия, ставшая идеальным образцом антиутопии — «Бразилия» (1985), режиссёр Терри Гиллиам

Это справка о вашем муже. А это справка, что я отдал вам справку.

Не верьте названию: в этом фильме нет никакой Бразилии. Действие происходит в старой недоброй Англии в неопределённую, но явно не нашу эпоху. Бразилия упоминается лишь в шлягере, который иногда слушает герой. Изначально Терри Гиллиам собирался назвать свою картину куда более метко: «1984 1/2», что фильму очень подошло бы: по сути это ироничная, почти пародийная деконструкция классической антиутопии в духе Оруэлла. Причём созданное в шутку получилось даже убедительнее созданного всерьёз.

Пародия, ставшая идеальным образцом антиутопии — «Бразилия» (1985), режиссёр Терри Гиллиам Терри Гиллиам, Антиутопия, Фильмы, Рецензия, Культовое, Фильмы 80-х, 80-е, 1985, Советую посмотреть, Длиннопост, Видео, Видео ВК

Многие замечают, что убийственно серьёзный Ангсоц Оруэлла не выдержал бы столкновения с реальностью, особенно с человеческими слабостями. Чтобы он состоялся, тоталитарное общество должно работать как часы. А антиутопия по Гиллиаму — это бардак, бесконечная бюрократия, формальное и наплевательское отношение к работе. Никто не хочет стараться во имя Большого Брата, всем лишь бы галочку поставить. Такая антиутопия смешнее — и страшнее одновременно. У Оруэлла вас замучают за преступные слова и мысли, а у Гиллиама — потому что в ордер на арест вкралась опечатка. А палачи Министерства любви не усомнятся в приказе и отработают невиновного, не испытывая ни ненависти, ни раскаяния. Они — злодеи по должности, а не по призванию.

Пародия, ставшая идеальным образцом антиутопии — «Бразилия» (1985), режиссёр Терри Гиллиам Терри Гиллиам, Антиутопия, Фильмы, Рецензия, Культовое, Фильмы 80-х, 80-е, 1985, Советую посмотреть, Длиннопост, Видео, Видео ВК

Под стать им и главный герой, Сэм Лаури: не бунтарь, а маленький человек, один из винтиков системы, который попал в её жернова почти случайно. Во многих мелочах быта, с которыми он сталкивается, «Бразилия» очень жизненна. Кто, подобно Сэму, не оказывался в ситуации, когда ремонтники компании-монополиста делают работу спустя рукава! Но всегда найдётся пират-частник, который всё починит быстро и нелегально. За бутылку. За идею — это уже фэнтези, мистер Гиллиам.

Пародия, ставшая идеальным образцом антиутопии — «Бразилия» (1985), режиссёр Терри Гиллиам Терри Гиллиам, Антиутопия, Фильмы, Рецензия, Культовое, Фильмы 80-х, 80-е, 1985, Советую посмотреть, Длиннопост, Видео, Видео ВК

Однако «Бразилия» не просто сатира, антиутопия или пародия на неё. Это в первую очередь фильм Терри Гиллиама — а значит, абсурдный, гротескный, детальный и поражающий воображение. Её мир — не прошлое, но и не то чтобы будущее, а скорее альтернативное настоящее. «Бразилию» можно назвать ярким образцом дизельпанка в кино, только без гордых танков и бомбардировщиков. Это мир гудящих труб, старомодных автомобилей, жутковатых сложных механизмов, пишущих машинок, огромных линз на мониторах, тусклого кафеля и одинаковых коридоров, по которым ходят одинаковые клерки в серых костюмах. Мир, самим своим видом воплощающий бюрократию, формальность, а ещё — абсурдность и безумие всей этой жизни.

Пародия, ставшая идеальным образцом антиутопии — «Бразилия» (1985), режиссёр Терри Гиллиам Терри Гиллиам, Антиутопия, Фильмы, Рецензия, Культовое, Фильмы 80-х, 80-е, 1985, Советую посмотреть, Длиннопост, Видео, Видео ВК

Странные вставки с видениями Сэма Лаури, в которых он герой с крыльями и побеждает гигантских самураев, как будто выбиваются из общего стиля. Но в конце они по-своему выстреливают. Финальный сюжетный поворот «Бразилии» стал для первых зрителей таким шоком, что Терри Гиллиаму пришлось выдержать целую битву с собственной студией — продюсеры пытались отрезать концовку и пустить фильм в прокат с хэппи-эндом. В итоге режиссёр победил — версии с хэппи-эндом, кажется, никто и не видел, кроме части зрителей в США. Неожиданная концовка стала каноном, да и идею фильма она передаёт куда лучше. Большого Брата не одолеть, потому что Большого Брата нет. Только маленькие братишки, которые хотят поскорее вас домучить и пойти домой к жене и детям.

Пародия, ставшая идеальным образцом антиутопии — «Бразилия» (1985), режиссёр Терри Гиллиам Терри Гиллиам, Антиутопия, Фильмы, Рецензия, Культовое, Фильмы 80-х, 80-е, 1985, Советую посмотреть, Длиннопост, Видео, Видео ВК

Автор текста: Александр Гагинский
Источник:
fanfanews

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

Отличная работа, все прочитано! Выберите