I love Ukraine

Настройка зон "захвата" для линий и блоков


Настройка зоны захвата - важный момент при расчете длин кабелей (расчете трасс). Неправильное значение может привести к ошибкам при расчете.

Описание зоны захвата для линий

Описание зоны захвата для блоков

Нюанс при выборе значения зоны захвата



Описание зоны захвата для линий

Теоретически когда, с привязкой даже, совпадают концы отрезков, то считаем что координаты концов совпадают. как бы да, но есть нюансы и числа с плавающей запятой. И вроде бы равные числа координат на самом деле отличаются на миллионные доли. И всё - числа не равны. По изображению на экране это никак не определить. И программа тоже скажет что отрезки не пересекаются ни в какой точке, а значит трасса будет разорвана в этой точке и программа не сможет найти путь.


Для того, чтобы решить эту проблему введено понятие "зоны захвата" - число представляющее собой максимальное расстояние между концами линий, при котором еще считается что отрезки касаются, совпадают. В 3Д координатах это будет шар. Понятное дело что радиус захвата отсчитывается в единицах чертежа. Трассы на моих планах измеряются метрами при единицах чертежа в мм. А посему можно выставлять радиусы до 100 единиц и не сильно заморачиваться с точностью рисования и привязками. Однако это приведет к относительно небольшим неточностям в длинах. Разумнее было бы выставлять такое значение, которое и не требует снайперской точности, и дает удобоваримую погрешность при расчете длин. Чисто экспериментально я пришел к цифре 1...3 единицы (мм) на планах в масштабе 1:1.

Настроить это можно при помощи поля "Зона захвата линий". При первом запуске для ново проекта по умолчанию выставляется число 3 мм.

 

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

Введенные значения сохраняются в настройках проекта и не требуют повторного ввода перед расчетом КЖ.

Если указать значение зоны захвата равной нулю (бог знает когда это может понадобиться), то сравнение значений координат будет выполняться без округления, как есть. Что практически стопроцентно приведет к ошибкам при расчете кабельного журнала - программа не найдет пересечения/касания линий из-за разницы в миллионных долях в координатах концов отрезков, которые представлены числами с плавающей запятой. 


Описание зоны захвата для блоков

Часто при размещении блоков-маркеров шкафов все таки промахиваются и оставляют зазор. Пример на картинке. 

 

Помогает повысить точность "попадания" включение режима привязок, но даже это не всегда спасает, если дрожат руки после вчерашнего. На картинке видно что есть зазор в 50 единиц чертежа. На планах размерами сторон в 300 - 400 метров такой зазор практически незаметен.


Для борьбы с этим в программе есть специальная настройка именно для увеличения зоны "захвата" - поле "Зона захвата блоков". Выглядит это так:

  

Если щелкнуть по нему, то появится диалоговое окно с запросом нового значения.  Если будет введена строка, которая не может быть преобразована в число, текущее значение не изменится.


Зона захвата это расстояние от точки вставки блока маркера шкафа. В 3Д это представляет собой шар. 

Если при просмотре чертежа блок маркера шкафа окажется возле конца отрезка, но не совпадает с ним, и при этом конец отрезка попадает в зону захвата - блок маркера будет насильно передвинут в эту точку.

Если указать зону захвата равной нулю, то механизм поиска ближайшей точки отключается и точка вставки блока маркера применяется как есть, без какой либо коррекции положения. То есть работает как было до этого. 


Нюанс при выборе значения зоны захвата

Есть еще момент который нужно учитывать: Если установить значение зоны захвата достаточно больших размеров, то можно ввести программу в заблуждение и получить неправильный расчет КЖ. На рисунке ниже представлена типичная ситуация. Как видно мы хотим установить блок шкафа с центральным узлом (я так называю точку вставки блока 0,0) "Ш1" в конец линии Л1 - то есть точки Ш1 и Л1 должны совпасть. Но они немного расходятся. Мы даем достаточно большую зону захвата и вроде всё хорошо - программа видит что узлы совпадают. Однако рядом проходят еще трассы и представьте что расстояние до узла Л2 или Л3 будет так же входить в зону захвата. Коллизия. В этом случае работает алгоритм минимального расстояния - узел Ш1 будет совмещен с узлом, который находится ближе всех к нему. И если по каким-либо причинам узел Л2 будет ближе чем Л1 - шкаф "сам прикрепится" к узлу Л2. Так что тут надо быть внимательным или отключать коррекцию установив зону захвата равной нулю.

Created with the Personal Edition of HelpNDoc: Add an Extra Layer of Security to Your PDFs with Encryption