|
Расчет кабельного журнала из файла Excel |
Часто появляется такая достаточно нетривиальная задача, как пересчитать существующий кабельный журнал, который предоставляется в файле Excel. Он может появиться бог знает откуда. Например, переданный смежниками, или старые какие-то кабельные журналы и т.д. Вариантов много. Но задача одна - нужно заново вычислить длины. И выхода два: или терпеливо поштучно, "с циркулем в руках", отмерять по плану первичников/строителей/геодезистов длины участков и из них вычислять длины кабелей, или как-то автоматизировать этот процесс.
Собственно что и сделано, автоматизация этого нудного процесса при помощи AutoCAD Electrical. Если коротко то весь путь прост: сначала из перечня кабелей программой создается простенькая принципиальная схема, самая примитивная. Потом по ней вычисляется и создается кабельный журнал.
Видео, как это работает выложено в ютуб-канале, ссылка тут
Внешний вид панельки:
Основная задача - рассказать программе где в файле Экселя искать нужные исходные данные.
Для этого есть группа элементов позволяющих как можно проще выполнить эту операцию.
Самый идеальный вариант - создать заготовку и по ней работать.
Но можно и доработать исходный файл кабельного журнала. То есть указать где что брать.
Для создания схемы (см подробное описание далее) программе нужно несколько значений: тип и марка кабеля (например кабель "EC-100" типа "КВВГнг 10х2,5") и точки "откуда" и "куда" он проложен. Каждая строчка экселя это один кабель.
Значения ячеек "откуда" и "куда" должны содержать текстовые наименования в формате [Inst]=[Loc] или [Место]=[Шкаф]. Разделитель по умолчанию знак равно. Но его можно переопределить на любое другое значение, максимум два символа.
В результате должно получиться нечто: "Цех1=ШР123" - это значит зона "Цех1" и шкаф "ШР123".
Если по каким-то причинам программа не сможет распознать что вы там набрали, то эта строчка не будет обработана и в схеме не будет этого кабеля.
Для указания программе где в таблице искать исходные данные есть ряд полей:
Описание кнопок управления столбцами:
|
Первая колонка - поля в которых указан номер столбца для выбора имени кабеля. При анализе таблицы Excel из столбца с этим номером буду выбираться имена кабелей. Вторая колонка - кнопки выбора столбца. В таблице Excel нужно выделить ячейку с заголовком и нажать кнопку. Из ячейки будет извлечен номер столбца и текст заголовка. Третья колонка - поля с заголовками столбцов. Поле редактируется. Используется для поиска нужного столбца. Четвертая колонка - кнопки поиска ячейки с заданным названием столбца. При нажатии будет произведен поиск по всему листу. Если ячейка будет найдена, то номер её столбца будет занесен в соответствующее поле номера столбца. |
Весь процесс состоит из трех шагов: подготовка временного проекта, "причесывание" экселевского файла и собственно сам перегон.
Первый шаг - подготовка временного проекта. Для того что бы использовать AutoCAD Electrical для расчета длин кабелей нужно создать простой временный проект из двух листиков чертежей. Почему именно два? Фишка АЭ - когда в проекте всего один лист, АЭ не вносит в базу данных проекта информацию. Увы. И моей программе нечего считывать. А посему я обычно делаю два листа - один схема, второй расчетный план в масштабе 1:1. Просто, дешево и сердито.
Второй шаг - "причесывание" файла Excel с перечнем кабелей. Те, кто создавали файл Excel, ни сном ни духом не ведали что их файл будет использован "не по назначению". А посему расположение и наполнение колонок будет у каждого по своему. Для того что бы программа знала что и где искать - нужно привести этот файл к нормализованному виду и рассказать про это программе.
Для создания схемы подключения кабеля нужны 4 колонки: "Марка кабеля", "Тип кабеля", "Шкаф откуда", "Шкаф куда".
Содержимое первой и второй колонки считываются как есть. Колонки шкафов должны содержать в одной строке два значения: название зоны и название шкафа. То есть содержимое Inst и Loc. В ячейке они разделяются символом разделителем. По умолчанию используется знак равно. При необходимости можно установить свой собственный символ, в соответствующем поле.
Положение колонок этих колонок - произвольное. Главное указать где искать, номер колонки.
В результате должно получится что-то вроде такого:
Третий шаг - запуск на исполнение.
К этому моменту запущен Автокад, создан любой активный чертеж и список кабелей в Excel подготовлен ("причёсан").
Нажимаем на большую кнопку в левом верхнем углу окна и ждем результата.
Программа по очереди перебирает все строки активного листа Excel. От первой и до последней. В каждой строчке ищет ячейки с маркой кабеля, его типом и обозначения "откуда" и "куда". Проверка каждой строки может закончится или принятием данных или отбрасыванием из-за некорректных данных. Если хотя бы одна ячейка из четырех пустая, значит нет необходимых данных и строка будет отброшена.
Количество строк для обработки запрашивается у Excel. И тут есть нюанс - иногда Excel говорит что заполнены данными все! ячейки, которых овер дофига, и программа вынуждена проверять каждую строчку. Это может затянутся надолго - минуты или десятки минут. Однако когда закончится считывание и формирование списка кабелей, начнется рисование кабелей на листе. Это гораздо быстрее.
Во время процесса руками Excel и AutoCAD Electrical лучше не трогать, нужно дождаться окончания обработки.
После считывания данных из таблицы Excel, по ним строится принципиальная схема в активном листе Автокад.
Результат будет выглядеть так:
Слева используется универсальный блок обозначения шкафа с двумя точками подключения, "двусторонний". Справа используются два блока односторонние, "левый" и "правый".
Универсальные блоки:
Односторонние блоки:
Теперь лист чертежа можно закрывать и обновлять базу данных проекта (считывая программой или вручную через меню автокада, как нравится). После повторного считывания проекта видим появившиеся шкафы, зоны и кабели. Проверяем их на корректность и запускаем расчет длин кабелей, весь процесс описан тут
Created with the Personal Edition of HelpNDoc: Easily convert your WinHelp HLP help files to CHM with HelpNDoc's step-by-step guide