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

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

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

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

Программу делал для облегчения труда электриков при работе с планами проводок
В очередной раз подредактировал текст сообщения, обновил вложения.
Самая главная задача, из-за которой начался сыр-бор - сложности с подсчетом длин групповых линий на планах, дальше всё нарастает вокруг этого.
Предполагается черчение кабельных линий стандартными средствами 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 Кб, 14408 просмотров)
Тип файла: dwg
DWG 2007
GroupLeader.dwg (80.7 Кб, 14264 просмотров)
Тип файла: dwg
DWG 2007
HeightDifference.dwg (74.6 Кб, 14217 просмотров)
Тип файла: dwg
DWG 2007
LineStart.dwg (73.8 Кб, 14228 просмотров)
Тип файла: rar BargElectro v0.6.7.rar (208.2 Кб, 339 просмотров)


Последний раз редактировалось bargool, 03.12.2012 в 19:32. Причина: Обновил программу до версии 0.6.7
Просмотров: 25475
 
Автор темы   Непрочитано 13.12.2012, 14:43
#61
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


С путями точно всё в порядке, файлы находятся именно там, как пишет в ошибке? Если да, то попробуйте открыть и запустить команду, хотя это и костыль. Но хоть будет от чего отталкиваться.
__________________
Алексей
bargool вне форума  
 
Непрочитано 13.12.2012, 14:52
#62
Alexeipost


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


Вот эта ошибка и появляется после запуска Becalculate
Alexeipost вне форума  
 
Автор темы   Непрочитано 13.12.2012, 15:07
#63
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Вот эта ошибка и появляется после запуска Becalculate
это я понял, я просто прошу перепроверить путь до файла, который выдаёт ошибка. Он действительно там находится?
Цитата:
\\design6\Для всех\ХХХХХХХХ ХХХХ\КХХХХХй\КХХХХХй. Стадия Р\2011.0000-00-01-СС.1\2011.0000-00-01-СС.1\06 2011.0000-00-01-СС.1 План 1 этажа.dwg
Теоретически возможна ошибка при нахождении пути к файлу

UPD: По поводу выноски, см. #13. С той лишь разницей, что блок теперь по другому называется
__________________
Алексей

Последний раз редактировалось bargool, 13.12.2012 в 15:27. Причина: Добавил по поводу выноски
bargool вне форума  
 
Непрочитано 13.12.2012, 16:07
#64
Alexeipost


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


Файл там лежит. (уже непроблема)

Ещё раз удалил и подключил файлы через begroupsedit. Путь стал полным и все заработало.

Но тут такая проблема.
Если сделать так:
1. BELEADER
2. Выбрать линию с группой
3. Нажать Esc
У меня после этого падает автокад с фатальной ошибкой.

Хотелка:
Добавить множественный выбор в BEDEL.
Выдает ошибку если в выбор BEADD попала линия на заблокированном слое. Пусть заблокированные линии отсеивает.

Ошибки:
Текстовое окно (F2) зависает после BECALCULATE.

Вопрос:
При выполнении BECALCULATE пишет "в группе 2 разрыва" - что это значит и как это влияет на расчет длины линии?

Последний раз редактировалось Alexeipost, 15.12.2012 в 08:25.
Alexeipost вне форума  
 
Автор темы   Непрочитано 17.12.2012, 17:58
#65
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Путь стал полным и все заработало
Да, работу с путями надо доделать
Цитата:
Сообщение от Alexeipost Посмотреть сообщение
У меня после этого падает автокад с фатальной ошибкой.
Спасибо, нашёл проблему, в следующей версии будет исправлено
Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Добавить множественный выбор в BEDEL.
Множественный выбор групп? Потому как объектов можно выбирать несколько. Причём работает и предварительный выбор (выбираем объекты, а потом уже BEDEL)
Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Выдает ошибку если в выбор BEADD попала линия на заблокированном слое. Пусть заблокированные линии отсеивает.
Сделаем
Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Текстовое окно (F2) зависает после BECALCULATE
это как?
Цитата:
Сообщение от Alexeipost Посмотреть сообщение
При выполнении BECALCULATE пишет "в группе 2 разрыва" - что это значит и как это влияет на расчет длины линии?
Какая же версия у вас? Та, что в заглавной теме уже не выводит такого, да и я даже не помню, когда я это убрал..
Это я пытался разобраться с отслеживанием разрывов в группах, когда концевые точки каких-нибудь линий не совпадают, ведь тогда линия выпадает из расчёта наиболее удалённого участка
__________________
Алексей
bargool вне форума  
 
Непрочитано 18.12.2012, 07:54
#66
Alexeipost


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


Цитата:
Сообщение от bargool Посмотреть сообщение
Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Добавить множественный выбор в BEDEL.
Множественный выбор групп? Потому как объектов можно выбирать несколько. Причём работает и предварительный выбор (выбираем объекты, а потом уже BEDEL)
Множественный выбор нужен вот в окне, которое появляется после того как ввел команду BEDEL и выбрал нужные участки трассы. См. приложение BEDEL.jpg

Цитата:
Сообщение от bargool Посмотреть сообщение
Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Текстовое окно (F2) зависает после BECALCULATE
это как?
Зависает: нажимаешь F2, появляется текстовое окно автокада и потом оно не реагирует ни на какие нажатия, но если нажать на окно автокада, то текстовое окно уходит на второй план. Работать можно, но видимо где-то ошибка. Кстати, сейчас проверил - на BECALCULATE не сработало. Но у меня BECALCULATE без ошибок отработал. Может если BECALCULATE отрабатывается с ошибкой, то происходит такое? Будем посмотреть.

Цитата:
Сообщение от bargool Посмотреть сообщение
Какая же версия у вас? Та, что в заглавной теме уже не выводит такого, да и я даже не помню, когда я это убрал..
Специально, только что, скачал версию из первого поста и проверил - выдает разрывы. Разрывы невооруженным глазом не видны. Может точность несколько понизить?
Миниатюры
Нажмите на изображение для увеличения
Название: bedel.jpg
Просмотров: 225
Размер:	66.0 Кб
ID:	92791  
Alexeipost вне форума  
 
Непрочитано 16.05.2014, 07:18
#67
shmulka

Инженер-электрик
 
Регистрация: 08.08.2013
Нижний Новгород
Сообщений: 123
<phrase 1= Отправить сообщение для shmulka с помощью Skype™


bargool, Вы ещё работаете над программой?
shmulka вне форума  
 
Автор темы   Непрочитано 16.05.2014, 09:33
#68
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


Цитата:
Сообщение от shmulka Посмотреть сообщение
Вы ещё работаете над программой?
Нет. Нету ни интереса, ни времени, так что забил я на этот проект.
__________________
Алексей
bargool вне форума  
 
Непрочитано 16.05.2014, 09:49
#69
shmulka

Инженер-электрик
 
Регистрация: 08.08.2013
Нижний Новгород
Сообщений: 123
<phrase 1= Отправить сообщение для shmulka с помощью Skype™


Жаль. Проект весьма полезный
shmulka вне форума  
 
Автор темы   Непрочитано 20.05.2014, 09:43
#70
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


Исходный код открыт, с удовольствием передам в хорошие руки проект =)
__________________
Алексей
bargool вне форума  
 
Непрочитано 21.11.2014, 12:29
#71
7ups


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


Кто-нибудь под автокад 2013 запустил?
7ups вне форума  
 
Автор темы   Непрочитано 21.11.2014, 12:31
#72
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


Не получится. Для 2013 надо перекомпилировать (а может, ещё и дорабатывать)
__________________
Алексей
bargool вне форума  
 
Непрочитано 25.11.2014, 08:25
#73
7ups


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


Жаль, что проблем столько. А то автокад админы переставили, сейчас не восстановить выноски с кабелем.
7ups вне форума  
 
Автор темы   Непрочитано 25.11.2014, 09:54
#74
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


Цитата:
Сообщение от 7ups Посмотреть сообщение
Жаль, что проблем столько. А то автокад админы переставили, сейчас не восстановить выноски с кабелем.
Я ничего не понял
__________________
Алексей
bargool вне форума  
 
Непрочитано 26.11.2014, 07:00
#75
7ups


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


Просто проект сделан в 2012 с помощью данного проекта. Переустановили на 2013. Соответственно ничего не работает( Придется в ручную трассы подписывать
7ups вне форума  
 
Автор темы   Непрочитано 26.11.2014, 09:31
#76
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


Ааа.. Неужели кто-то пользуется? Я удивлён. Раз таковые есть - пересобрал. Посмотрите во волжении.
Вложения
Тип файла: zip BargElectro 0.6.7 2013.dll.zip (36.9 Кб, 69 просмотров)
__________________
Алексей
bargool вне форума  
 
Непрочитано 26.11.2014, 11:49
#77
oipop


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


Многие пользовались БЫ, если БЫ программа была под актуальные версии аутогада. Идея то отличная!
oipop вне форума  
 
Непрочитано 26.11.2014, 12:05
#78
7ups


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


Спасибо большое. Хорошоший проект, почему бы не пользоваться?
Зря не развиваете
7ups вне форума  
 
Автор темы   Непрочитано 26.11.2014, 12:41
#79
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


Цитата:
Сообщение от 7ups Посмотреть сообщение
Спасибо большое. Хорошоший проект, почему бы не пользоваться?
Зря не развиваете
Пожалуйста.
Когда я начинал этот проект, я ещё не до конца завязал с проектированием электрики, только начинал программировать, и у меня была куча времени.
С тех пор поменялось каждое из трех утверждений прошлого предложения. Нету ни времени, ни интереса.
Цитата:
Сообщение от oipop Посмотреть сообщение
Многие пользовались БЫ, если БЫ программа была под актуальные версии аутогада. Идея то отличная!
Идея мне и самому до сих пор нравится, но все идеи реализованы "не до конца", я и думал, что народ тоже забил.
__________________
Алексей
bargool вне форума  
 
Непрочитано 16.01.2015, 17:13
#80
Gabber


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



Большое спасибо! Ни раз возвращался к теме, в надежде, что будет сборка под новые версии Акада. Благодарю за труды.
Gabber вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > C# .net Работа с групповыми линиями для электриков - обсуждение

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

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


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