| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > C# .net Работа с групповыми линиями для электриков - обсуждение

C# .net Работа с групповыми линиями для электриков - обсуждение

Ответ
Поиск в этой теме
Непрочитано 03.10.2011, 18:15 1 |
C# .net Работа с групповыми линиями для электриков - обсуждение
bargool
 
Санкт-Петербург
Регистрация: 16.08.2006
Сообщений: 508

Программу делал для облегчения труда электриков при работе с планами проводок
В очередной раз подредактировал текст сообщения, обновил вложения.
Самая главная задача, из-за которой начался сыр-бор - сложности с подсчетом длин групповых линий на планах, дальше всё нарастает вокруг этого.
Предполагается черчение кабельных линий стандартными средствами Autocad, далее к этим линиям цепляется информация об их принадлежности к группам, после чего можно с ними творить всякие-разные вещи.
Цепляется эта самая информация с помощью Xrecord. В связи с этим, важно помнить, что Xrecord штатными средствами автокада вы не увидите, копируя линию в новый файл вы копируете и всю информацию, внесенную моей программой.
Важно: в связи с тем, что группы цепляются ко всей автокадовской линии или полилинии, на ответвлениях эти линии/полилинии должны прерываться.

Команды, доступные на данный момент:
  1. BEGroupsEdit - вывод окна для работы с базой данных проекта. Аккуратней, если при работе с базой данных какие-то группы были изменены/удалены и при нажатии на OK при выходе из окна, программа откроет все файлы проектов, произведёт данные изменения и сохранит файлы. БД проекта хранится в файле ElectroProject.xml, к сожалению, на данный момент, все файлы проекта должны лежать в одном каталоге
  2. BEAdd - добавление примитивов к группе, тут же можно создать новую группу
  3. BEDel - удаление группы из примитива, саму группу из базы не удаляет
  4. BEChGr - поменять группу у примитива
  5. BEGet - покажет к каким группам принадлежит примитив
  6. BESel - выделит все примитивы конкретной группы
  7. BELeader - добавление выноски. Тут тоже своё ограничение - в файле уже должен быть определён блок "GroupLeader". Блок вставляется в текущем аннотативном масштабе. При вставке его можно отражать и вертеть для удобства
  8. BECalculate - производит расчёт длин групп и наиболее удалённых участков во всех файлах проекта (должны быть указаны в базе) и записывает данные в текстовые файлы CableShedule.txt и Specification.txt в каталоге чертежа. В начале каждой группы должен стоять блок начала группы, если на линии группы стоит блок перепада - перепад учитывается. При вызове команды можно указать коэффициент запаса в процентах (по умолчанию принимается коэфф. запаса 5%)
  9. BEDelAll - удаляет всю информацию о группах из всех примитивов чертежа. Полная очистка следов работы программы
  10. BELen - выведет длины всех групп в плане в текущем чертеже. Команда осталась с прошлых версий на всякий случай.
  11. 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, новая команда и пояснения здесь

Вложения
Тип файла: dwg
DWG 2007
Sample.dwg (201.0 Кб, 14494 просмотров)
Тип файла: dwg
DWG 2007
GroupLeader.dwg (80.7 Кб, 14328 просмотров)
Тип файла: dwg
DWG 2007
HeightDifference.dwg (74.6 Кб, 14276 просмотров)
Тип файла: dwg
DWG 2007
LineStart.dwg (73.8 Кб, 14286 просмотров)
Тип файла: rar BargElectro v0.6.7.rar (208.2 Кб, 425 просмотров)


Последний раз редактировалось bargool, 03.12.2012 в 19:32. Причина: Обновил программу до версии 0.6.7
Просмотров: 34428
 
Непрочитано 15.04.2022, 10:26
#81
Kins


 
Регистрация: 18.12.2021
Сообщений: 5


На дворе 2022-ой.
Ничего нового для электриков придумано не было((
Kins вне форума  
 
Непрочитано 15.04.2022, 12:51
#82
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 425
<phrase 1=


Цитата:
Сообщение от Kins Посмотреть сообщение
На дворе 2022-ой.
Ничего нового для электриков придумано не было((
Стабильность!
Alexeipost вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > C# .net Работа с групповыми линиями для электриков - обсуждение

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Акты скрытых работ Витос Прочее. Архитектура и строительство 324 05.03.2015 12:24
Как в ACAD 2010 LT начертить мультилинию с цветной заливкой samaraa AutoCAD 4 26.10.2010 22:24