Плагин sketchup для подсчета объемов

Обновлено: 30.06.2024

Напомню, как выглядит настройка наших динамических компонентов (стройматериалов):

Каждая из переменных - формула. Например:

Формула переменной V (объема). Длина на 0,1 и на 0,05 (высоту и толщину доски) Формула переменной V (объема). Длина на 0,1 и на 0,05 (высоту и толщину доски)

Полный список формул - выглядит так:

L (длина)=LenX/100 (приводим к метрам, LenX - берется из модели, для каждой конкретной доски)

Для листовых, добавляется переменная площади

Для штучных еще одна переменная

Формула для подсчета количества в штуках (от свай, до болтов. ) Формула для подсчета количества в штуках (от свай, до болтов. )

Выгрузка переменных.

Тыкаем в меню File - Generate Report, получаем формочку:

(опять мелкими буковками: - после появления этой формы, включаем инет)

Выбираем "Все атрибуты модели", жмем генерировать CSV.

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

Дальше - понадобится LibreOffice (использовать МS Office - означает финансировать войну в Ираке). Скечап предложит сразу открыть сохраненный файлик, соглашаемся.

Ставим галочки (обычно так и стоят по умолчанию), жмем Ок. Ставим галочки (обычно так и стоят по умолчанию), жмем Ок.

Нас интересуют колнки с О и далее (там наши переменные). Дальше, по сути все сводится к удалению лишних колонок, сортировкам, преобразованиям текста в числа, промежуточным итогам и т.д. К форматированию. Т.к. делать это придется неоднократно - накидал макрос.

После его запуска, будет две таблички:

Сборка по слоям с промежуточными итогами по каждому слою (удобно собирать нагрузки)

Смета. Промежуточные итоги по каждому материалу (динамическому компоненту Скеча), количество, суммы, масса.

Вытащенная из скечапа и отформотированная макросом смета. Вытащенная из скечапа и отформотированная макросом смета.

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

Текст макроса вставляем полностью, начиная с "sub FormatReportSketchUp", заканчивая "End Sub".

Что там для чего - вроде в комментах расписал подробно, надеюсь, будет понятно. Дальше, сам текст макроса:

Решение достаточно простое — создаю некоторый API, который позволяет создавать 3D объекты листов ЛДСП с нужными параметрами. Из этих объектов компонуется готовая модель а также в отдельный файл выгружаются размеры листов для передачи их в центр распила. В результате эксплуатации добавил ещё возможность указывать кромки для листов. Данный плагин был использован для проектирования более десятка различных изделий из ЛДСП. С каждым новым проектом плагин дорабатывался и модифицировался, улучшалось удобство и совершенствовалось API. В качестве примера последний проект — стол-тумба. На картинке модель + готовое изделие (птица и собака для привлечения внимания :))

main.jpg

Красные — это 2 мм кромки, фиолетовый — кромки 0.4 мм. Нижние полки не до конца, так как там батарея отопления у стены. Столешница отстает от стены на 4 см чтобы тепло от батарее отопления поднималось вверх и обогревало стену (вообще делать мебель самому очень удобно — можно сделать под свои размеры).

Скачиваем файл Object3D.rbz
Запускаем SketchUp
Открываем Диспечер расширений (Окно/Диспечер расширений)
Жмем кнопку "Установить расширение" и выбираем скаченный файл Object3D.rbz
После этого плагин запрашивает директорию где будут храниться проекты. Т.е. выводится окно "Укажите директорию с проектами" и требуется указать папку где вы будете хранить ваши проекты.

В результате у нас появляется наше расширение

2019-01-25-10_02_19.jpg

Переходим в папку которую мы указали для хранения проектов. Эту папку можно изменить в меню плагина

2019-01-25-10_06_10.jpg

Создаем в папке директорию с названием нашего проекта. В моем случае это "Шкафчик в зал". Затем заходим в созданную директорию и создаем файл main.rb в котором создаем функцию точки входа

Перезапускаем SketchUp и в меню плагина у вас появится пункт с названием созданной вами папки. Теперь вы выборе этого пункта будет происходить следующее:

  • очистка консоли Ruby
  • удаление всех элементов в текущем проекте
  • загрузка файла main.rb из указанной директории
  • вызов функции object3D_main

В функции object3D_main нужно сделать генерацию вашей модели. Можно скопировать в файл main.rb код который я приводил выше и тогда у вас сгенерируется мой шкафчик.

Файл "core.rb"

Каждая функция возвращает объект Shasoft::Object3D::Object3D который содержит методы для перемещения объекта и его поворота

Функция name() — установка имени объекта. Не стоит им пренебрегать. При сборке может сильно помочь :)

Функции объекта moveX, moveY, moveZ позволяют перемещать объект по соответствующим осям.

Функция move(x,y,z) позволяет переместить объект сразу по трем осям

Функции объекта rotateX, rotateY, rotateZ позволяют вращать объект вокруг соответствующих осей.

Есть функции псевдонимы moveRed, moveGreen, moveBlue, rotateRed, rotateGreen, rotateBlue где оси X(red), Y(green), Z(blue) названы по их цвету в SketchUp. Может кому-то так будет удобнее.
Каждая функция возвращает указатель на сам обхект. Это позволяет делать цепочку вызовов

Функция объекта set(dict,key,value) позволяет установить значение атрибута. dict — имя словаря, key — имя атрибута, value — значение

Функция объекта get(dict,key,value=nil) позволяет получить значение атрибута. dict — имя словаря, key — имя атрибута, value — значение

Метод copy позволяет получить копию объекта (хотя работает не очень стабильно :))

Метод group позволяет получить стандартный объект SketchUp::Group

Определен метод для создания объекта. В качестве параметров можно передавать список объектов Shasoft::Object3D::Object3D или SketchUp::Group. Если список параметров пустой, то будет создана новая группа

Также есть функция которая позволяет получить список объектов (Skechup::Group). Можно задать имя словаря и будут возвращены только объекты, у которых такой словарь присутствует. В частности именно так я отделяю объекты лист ЛДСП от других. При создании я устанавливаю словарь LDSP по которому потом и фильтрую все объекты сцены.

Файл "2D_weght"

Файл "ldsp.rb"

Вспомогательная функция для создания выдвижных ящиков

box.jpg

результат работы

в результате будет сгенерирован следующий csv файл со следующими колонками

  • A — Ширина
  • B — Глубина
  • C Количество деталей
  • D — кромки в формате Д-длинная сторона, К-короткая сторона. Именно в таком их записывают в той конторе в которой я заказываю распил деталей. Возможно это стандарт.
  • E — кромки в том формате в котором вы их задавили при генерации
  • F — Название всех деталей. Это полезно при сборке

2019-01-25-10_39_50.jpg

В заключении

Проектирование и сборка мебели самому — это экономия денег где-то в 2 раза. А также возможность втиснуть ваше индивидуальное мебельное изделие в любую нестандартную дырку в квартире. Я обычно собираю мебель на конфирматах 7x50 из ЛДСП 16 мм

1490379431197352996.jpg

При наличии сверла для конфирматов

1490379603123527575.jpg

(и небольшого навыка) сборка занимает не так много времени.

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



Попробуем сформировать отчёт: File > Generate Report . Выберем формат Html . Важно, чтобы при сохранении в пути и имени файла содержались только латинские символы. Т.е. не сохранять в папку «Мои документы» или на «Рабочий стол», а сразу на жёсткий диск.
Получим следующий отчёт (рис. 2)



Name – уникальное имя элемента, в отчёте будет отображаться в столбце Entity Name . Definition name – название компонента, будет дублироваться для одинаковых элементов, т.е. для элементов, относящихся к одному и тому же компоненту.



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




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

Добавим дополнительные параметры для отчёта, например, площадь, объём. Контекстное меню на объекте Dynamic Components > Component Attributes


рис.6

В нашем случае, 1 – поле атрибутов элемента, single_door – атрибуты компонента. То есть, те значения, которые мы введём в single_door будут отображаться для всех одинаковых дверец серванта. А 1 – только для одной конкретной дверцы.
Нажимаем + в поле Add attribute и забиваем название (только латинские символы) – Area , нажимаем Enter . Затем вводим формулу для вычисления площади: =LenX*LenY – без пробелов. Ввёденное значения воспринимаются как формула, если в начале строки стоит знак « = ». * - умножение. LenX – длина, LenY – ширина. Таким образом, площадь будет автоматически рассчитываться по формуле и при изменении размеров предмета, автоматически пересчитываться. Можно вводить просто статичные цифровые значения для дополнительных атрибутов, указывать произвольные имена
Таким же образом введём формулу для расчета объёма: Volume =LenX*LenY*LenZ .


рис.7

В формулах можно использовать любые заданные атрибуты. Например, мы хотим посчитать общую площадь дверок. Так как их всего 4, то просто умножаем площадь одной на 4. Для того, чтобы значение отобразилось в отчёте только один раз, не дублировалось, привяжем функцию к первой дверце. Забиваем название Common_area , нажимаем Enter , вводим знак = в строку формулы, 2 раза кликаем мышкой в строке формулы Area , добавляем *4


рис.8

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


рис.9

Можно также называть группы элементов. Например, дадим названия верхней и нижней частям серванта: Up и Down , соответственно. Стеклянные дверцы назовём Double_door и также рассчитаем их площадь по формуле.
Когда все необходимые атрибуты добавлены, данные подготовлены – можно приступить к формированию отчёта.
После того, как мы ввели все необходимые атрибуты, делаем отчёт: File > Generate Report . Экспортируем в формат CSV .
Открываем экспортированный файл при помощи Exel .
Важно, чтобы была выставлена кодировка Юникод (UTF- 8 ) , а установленным разделителем являлась запятая - тогда параметры правильно распределяться по ячейкам.
Чтобы не возникло проблем, поведём следующие манипуляции:
1. Открываем пустой документ Exel .
2. Данные > Из текста


рис.10

3. В открывшемся окне Мастер текстов – шаг1 установить формат данных с разделителями, а формат файла: 65001 : Юникод (UFT-8). Далее >


рис.11

4.Выбираем символом разделителем запятую. Готово.


рис.12

Получаем грамотно оформленный , функциональный отчёт.

Ваша библиотека пользовательских сторонних расширений для оптимизации рабочего процесса в SketchUp.

Extension Warehouse

Ваш эффективный инструмент оптимизации

Ваш эффективный инструмент оптимизации

Более 600 расширений

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

Категории отраслей и рабочих процессов

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

Интеграция SketchUp Pro

Загружайте и властвуйте: любое расширение, загруженное из Extension Warehouse, будет интегрировано непосредственно в SketchUp Pro.

Визуализация без границ

Визуализация без границ

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

Extension Warehouse

Повысьте навыки рисования

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

Подготовка модели к 3D-печати

Подготовка модели к 3D-печати

Вывод модели на 3D-принтер — задача не из простых. К счастью, у нас есть десятки расширений, которые позволят вам проектировать и улучшать сплошные фигуры. Потратьте чуть больше времени на работу с расширением для 3D-печати, чтобы выполнить печать мгновенно.

Читайте также: