Скрипт для поиска симметрично-одинаковых панелей в программе Базис-мебельщик.
Перед запуском скрипта должны быть расставлены все панели, иначе будут ошибки. Скрипт работает в активной модели без слоев (лень было писать под слои).
Логика простая - копируем все что есть в модели, находим панели в копиях, добавляем им пользовательское свойство с существующей позицией, обнуляем позицию, симметрично отображаем все копии, штатным методом базиса расставляем позиции новых объектов, при этом базис сам поставит одинаковые позиции панелям, которые стали симметричны ранее симметричным)), ну и дальше проверяем назначенные позиции и старые записанные в пользовательские свойства и добавляем к позиции "оригинал" позицию "симметричного двойника" в скобках и наоборот.
На больших моделях будет тормозить из-за создания и удаления копий, но не хотелось писать собственные обработки проверок идентичности.
Перед запуском скрипта должны быть расставлены все панели, иначе будут ошибки. Скрипт работает в активной модели без слоев (лень было писать под слои).
Логика простая - копируем все что есть в модели, находим панели в копиях, добавляем им пользовательское свойство с существующей позицией, обнуляем позицию, симметрично отображаем все копии, штатным методом базиса расставляем позиции новых объектов, при этом базис сам поставит одинаковые позиции панелям, которые стали симметричны ранее симметричным)), ну и дальше проверяем назначенные позиции и старые записанные в пользовательские свойства и добавляем к позиции "оригинал" позицию "симметричного двойника" в скобках и наоборот.
На больших моделях будет тормозить из-за создания и удаления копий, но не хотелось писать собственные обработки проверок идентичности.