Тема
:
C# .net Работа с групповыми линиями для электриков - обсуждение
Показать сообщение отдельно
03.10.2011, 18:15
1
|
#
1
C# .net Работа с групповыми линиями для электриков - обсуждение
bargool
Санкт-Петербург
Регистрация: 16.08.2006
Сообщений: 501
Программу делал для облегчения труда электриков при работе с планами проводок
В очередной раз подредактировал текст сообщения, обновил вложения.
Самая главная задача, из-за которой начался сыр-бор - сложности с подсчетом длин групповых линий на планах, дальше всё нарастает вокруг этого.
Предполагается черчение кабельных линий стандартными средствами Autocad, далее к этим линиям цепляется информация об их принадлежности к группам, после чего можно с ними творить всякие-разные вещи.
Цепляется эта самая информация с помощью Xrecord. В связи с этим, важно помнить, что Xrecord штатными средствами автокада вы не увидите, копируя линию в новый файл вы копируете и всю информацию, внесенную моей программой.
Важно: в связи с тем, что группы цепляются ко всей автокадовской линии или полилинии, на ответвлениях эти линии/полилинии должны прерываться.
Команды, доступные на данный момент:
BEGroupsEdit - вывод окна для работы с базой данных проекта. Аккуратней, если при работе с базой данных какие-то группы были изменены/удалены и при нажатии на OK при выходе из окна, программа откроет все файлы проектов, произведёт данные изменения и сохранит файлы. БД проекта хранится в файле ElectroProject.xml, к сожалению, на данный момент, все файлы проекта должны лежать в одном каталоге
BEAdd - добавление примитивов к группе, тут же можно создать новую группу
BEDel - удаление группы из примитива, саму группу из базы не удаляет
BEChGr - поменять группу у примитива
BEGet - покажет к каким группам принадлежит примитив
BESel - выделит все примитивы конкретной группы
BELeader - добавление выноски. Тут тоже своё ограничение - в файле уже должен быть определён блок "GroupLeader". Блок вставляется в текущем аннотативном масштабе. При вставке его можно отражать и вертеть для удобства
BECalculate - производит расчёт длин групп и наиболее удалённых участков во всех файлах проекта (должны быть указаны в базе) и записывает данные в текстовые файлы CableShedule.txt и Specification.txt в каталоге чертежа. В начале каждой группы должен стоять блок начала группы, если на линии группы стоит блок перепада - перепад учитывается. При вызове команды можно указать коэффициент запаса в процентах (по умолчанию принимается коэфф. запаса 5%)
BEDelAll - удаляет всю информацию о группах из всех примитивов чертежа. Полная очистка следов работы программы
BELen - выведет длины всех групп в плане в текущем чертеже. Команда осталась с прошлых версий на всякий случай.
BELongest - выведет самый длинный участок в группе. Начало группы должно быть отмечено блоком начала группы. Команда осталась с прошлых версий на всякий случай.
Пояснения:
Блок выноски - блок с именем GroupLeader
Блок начала группы - блок с именем LineStart - точка вставки блока должна совпадать с конточкой линии в начале групповой линии
Блок перепада высот - блок с именем HeightDifference - для того, что бы блок учитывался при расчётах, точка вставки должна находиться непосредственно на линии
Вспомогательные блоки ставим на непечатаемый слой, и вперёд.
В файле примера всё есть, надеюсь, всё будет понятно.
P.S.: Работоспособность проверялась только на 2010-м автокаде. Собирал с 2009 по 2012
Offtop: Конец исправлений
Я потихоньку работаю над программой, так что
отзывы, пожелания по улучшению, новым возможностям и отчеты об ошибках крайне приветствуются
.
Исходные коды выложу также позже.
Выложил
UPD. Подправил ссылку на исходники
UPD3
: Обновил список команд, чтобы не вводить в заблуждение старой информацией
UPD4
: Обновил программу до версии 0.6, см. описание и вложения к топику
UPD5
: Обновил программу до версии 0.6.5, теперь при изменении маркировок групп или их удалении обновляются выноски
UPD 02.08.2012
: Обновил программу до версии 0.6.7, новая команда и пояснения
здесь
Вложения
Sample.dwg
(201.0 Кб, 14410 просмотров)
GroupLeader.dwg
(80.7 Кб, 14266 просмотров)
HeightDifference.dwg
(74.6 Кб, 14219 просмотров)
LineStart.dwg
(73.8 Кб, 14230 просмотров)
BargElectro v0.6.7.rar
(208.2 Кб, 342 просмотров)
Последний раз редактировалось bargool, 03.12.2012 в
19:32
. Причина: Обновил программу до версии 0.6.7
Просмотров: 25680
bargool
Посмотреть профиль
Посетить домашнюю страницу bargool
Найти ещё сообщения от bargool
Размещение рекламы