CompTree

Макрос для SolidWorks
Версия 1.03
17-07-2026
http://beamclc.ru/...

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

Свойства пользователя, которые желательно должны быть заполнены в Списках вырезов или Свойствах пользователя:
 - Формат
 - Наименование
 - Обозначение
 - Масса
 - Материал
 - Заготовка, Типоразмер
 - Разработал, Проверил, Организация, Редакция

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

Писалось под SW2018, работает также и на более поздних версиях, до SW2024.
С версии 1.01 работа на более младших версиях SW, чем 2024, не гарантируется(

Список изменений:

Изменения в v0.01а 2025/11/21:
===============================
Первый релиз

Изменения в v0.02а 2025/11/21:
===============================
 - Убрал лишние ссылки из блока Reference. Должно остаться пять зависимостей:
   - Visual Basic For applications
   - Microsoft Forms 2.0 Type Library
   - Solidworks 2024 Type Library
   - Solidworks 2024 Constant Type Library
   - Solidworks 2024 Extensibility Type Library
Если у вас SW версии отличной от 2024, то перед применением макроса нужно убрать галки с библиотек версии 2024 и установить на такие же, но с вашим годом SW.

Изменения в v0.03 2025/11/24:
===============================
 - Правка ошибок
 - Количество списков вырезов теперь берется не из свойства QUANTITY, а из кол-ва тел в списке вырезов (cntBody = swCutlistItem.GetSpecificFeature2.GetBodyCount)
 - Глубина сборки вынесена в отдельную функцию (Private Function GetmaxDepth(iRootNode As clsTreeNode) As Integer)
 - Работа с Excel вынесена в отдельный модуль "Excel"

Изменения в v0.04 2025/11/24:
===============================
 - Проверка на многотельность обычных деталей. По хорошему, в детали должно быть одно тело.
 - При добавлении макроса на кнопку можно было выбрать неверную точку входа. Теперь она одна.

Изменения в v0.05 2025/11/25:
===============================
 - Правка ошибок
 - Перед обращением к сварной детали обновляется список вырезов
 - Приведение типов при вычислении массы детали или сборки

Изменения в v0.06 2025/11/26:
===============================
 - Изменение интерфейса форм, размеры форм стали компактнее
 - Добавлены три столбца - Разработал, Проверил, Организация
 
Изменения в v0.07 2025/12/26:
===============================
 - Поправлен интерфейс главной и промежуточной формы
 - В Excel Добавлен столбец "Масса всего, кг"
 - Добавлена проверка по массе Итого
 - Добавлена опция сохранения спецификации в Excel по окончании ее создания

Изменения в v0.08 2026/01/13:
===============================
 - Теперь Имена свойств для формирования спецификации можно задавать в выпадающих списках. До этой версии они не использовались.
 - Изменена промежуточная форма для просмотра дерева компонентов, вывод стал более строгий. Добавлены кнопки "в Блокнот" и "Отмена"
  
Изменения в v0.09 2026/01/15:
===============================
 - В Excel выделяются продвинутые (promoted) сборки

Изменения в v0.10 2026/04/20:
===============================
 - Добавлена опция о компонентах, исключенных из спецификации (BOM)
 
 Изменения в v0.11 2026/04/24:
===============================
 - Исправлена ошибка при формировании спецификации в Excel - при добавлении комментария в ячейку макросом, если в ячейке уже был комментарий, макрос зависал.
 - Убран пароль на проект

 Изменения в v1.01 2026/07/13:
===============================
 - Исправлена ошибка, для сварных деталей применялась только активная конфигурация Списка вырезов. Только SW2024

 Изменения в v1.02 2026/07/15:
===============================
 - Откат на 0.11 для совместимостис SW2018
 - Уже в ней исправлена ошибка, для сварных деталей применялась только активная конфигурация Списка вырезов.

 Изменения в v1.03 2026/07/17:
===============================
 - Мелкие исправления, оптимизация, уменьшение утечек памяти
 - Добавлена форма Прогресбара
 
 
Евгений Токарев
j@jtok.ru
jtok@ya.ru
johntokarev@mail.ru