Вопрос с округлением длины кабеля.

Интересная загвоздка: как округлить длину кабеля и участки его трасы.

Сейчас в программе длина кабеля рассчитывается по сумме длин участков составляющих трассу, по которой проложен кабель. Казалось бы все просто. Посчитал длины участков на плане, просуммировал и вуаля, получил длину кабеля. 

Но есть нюанс. Когда выводится в AutoCAD спецификация или кабельный журнал, то становится вопрос разумного количества знаков после запятой - никто не примет длину с 16 цифрами после запятой. Обычно длины округляют до метра. А больше не имеет смысла. Все равно при прокладке буду обрубаться кабели плюс-минус пару метров, потом зачистка и подключение с обрезкой концов до нужной длины. Остатки будут сброшены в утиль. В некоторых случаях требуют указывать длины до 0,1м. Но это как правило от не понимания технологии.

При округлении длин происходит интересная штука - длина кабеля начинает не совпадать с длиной  трассы.

Проблема в следующем - после анализа плана все измеренные длины участков сохраняются в проекте с максимальной точностью. Далее при выводе кабельного журнала происходит подсчет длин участков и округление с выбранной точностью - до метра или до 0,1м. Если участков несколько, то накапливается погрешность от округления каждого участка - суммарная длина трасы растет. Максимум добавится от нуля до (N участков * 1м) метров. А длина кабеля, рассчитанная по не округленным длинам участков и округленная вверх, будет увеличена максимум до одного метра. То есть - кабель будет априори короче.

Да, ошибка детская, но сразу не очевидная. Решение банальное: нужно просто округлять длины секторов - они и есть база, и не хранить длину кабеля, а каждый раз заново вычислять ее при выводе и с учетом выбранной величины округления.



Комментарии

Популярные сообщения из этого блога

Нападение на Украину фашистов из роSSии

Расчет кабельного журнала с учетом взаиморезервируемых кабелей