Потестировал два варианта семейств профилей с перфорацией.
Первый вариант — сразу рисуем длинную палку, как детородные органы ревитчиков-мужчин (пацаны, с вас лайк, пусть Автокадчики знают, какие мы крутые (ну хотя бы анонимно в интернете)). Перфорацию делаем полыми элементами прямо внутри семейства. Можно внутри эскиза нарисовать, можно нарисовать один элемент, а потом его раскопировать массивом без групп по длине всего профиля. Берём всегда самую большую длину, в моём случае это было 6 метров.
Дальше создаём полый элемент, который будет «откусывать» ненужную длину профиля. То есть была палка 6 метров, а надо в проекте подрезать до 5460 мм. Вводим эту длину, полый элемент отрезает лишние 540 мм.
Второй вариант — самый очевидный, строим профиль, отверстия режем массивом вложенного полого семейства по грани. Параметризуем количество элементов массива простой формулой. Всё, ввели любую разумную длину, профиль строится, отверстия режутся.
Чисто теоретически в первом случае можно нарваться на такую длину, при которой полый элемент не сможет вырезать тело и будет ошибка. В случае массива вероятность пониже, хотя я бы нулевой её не назвал.
Вот я и сделал оба этих варианта. Сразу с момента сохранения на диск стало интересно. Профиль по первому варианту занял на диске сразу 1048 КБ, мегабайт считай. Многовато для довольно простого семейства, но для Ревита оно не простое — в нём два раза по 120 полых элементов, которые режут тело основной геометрии. Когда так много элементиков, то для Ревита это напряги.
Семейство с массивом оказалось 672 КБ, ну считай 700 КБ, на 30 процентов легче. При том, что тут есть два вложенных семейства для отверстий и три массива на 120 элементов каждый. То есть неожиданно, оно оказалось легче.
Но делать выводы рано, надо тестировать семейства в проекте. Если семейство тяжёлое на диске, но работает быстро в проекте, то это хорошее семейство, размер на диске не важен. Если семейство лёгкое и работает быстро, то это вообще красота.
Ну вот я и загрузил семейства в проект. И вот в проекте оказалось, что семейство с массивами работает сильно хуже, при изменении длины профиля семейство перестраивается почти в три раза дольше. Примерно полторы-две секунды для первого варианта и около шести секунд для варианта с массивом.
Вывод очевидный — надо оставлять профиль с перфорацией и подрезкой, а с массивом выкидывать, плевать на размер на диске. Я подумываю сделать формулами наименование и артикул так, чтобы пользователь вообще не парился и вбивал любую длину, если она не больше 6 метров. А артикул и наименование будут в зависимости от длины подстраиваться под стандартные длины производителя в 2, 3, 6 метров.
Post #387
2.98K

- 👌 5
- 👍 2
- 🤔 1