
Нарезать солид по заданному объему
Добрый день!
В нашем чате Майкромайн в телеграмме( https://t.me/microminechat ) был вопрос:
Как разделить каркас на равные части по объему. При этом задать угол плоскости, по которой буду резать каркас?
Стандартным функционалом автоматически данную задачу не решить, поэтому был написан скрипт, которым я хочу с вами поделиться. Инструкция как запустить скрипт и сам скрипт в архиве. Если будут вопросы, пожелания по даработке, пишите.
Разделение каркаса по объемам.rar
Скрипт использует следующий подход:
1. Указанный каркас разбивается на более мелкие срезы, мощность которых мы задаем в предела от 0.1м до 10м.
Для определения направления плоскости можно использовать Ортогональные плоскости (План, На север , на Запад) или можно задать Азимут падения и Угол падения плоскости, а также координату точки отсчета для Неортогональных плоскостей.
2. Далее последовательно складываются объемы срезов пока не будет достигнут заданный целевой объем. Как только целевой объем достигнут, срезам приваривается уникальный номер в атрибут Code, и для последующих срезов расчет накопленного объемов начинается с начала и так последовательно по всем срезам.
Данный алгоритм не позволяет идеально нарезать каркасы на заданный объем, но чем меньше срез, тем ближе к целевому значению, но увеличивается время работы скрипта.
Также сделана обратная проверка, для максимального приближения к целевому значению. Например, сложив первые три среза мы получаем объем 999 при целевом 1000, так как 999<1000 необходимо добавить еще срез, но при добавлении получаем объем 1100. Логичнее будет оставить 999, так как он ближе к целевому значению.
Каркасы срезов сохраняются во временный файл slice.tridb в паке Разделение каркаса по объемам.
3. Третьим шагом каркасы объединяются по присвоенному коду и загружаются в визекс с чередующей раскраской.
Надеюсь эта информация вам будет полезна.
C Уважением,
Илья
Customer support service by UserEcho