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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > План кабельных сетей - алгоритм автоматизации построения и программирование?

План кабельных сетей - алгоритм автоматизации построения и программирование?

Ответ
Поиск в этой теме
Непрочитано 20.09.2010, 11:59 4 |
План кабельных сетей - алгоритм автоматизации построения и программирование?
Frigate
 
КИП, АСУ ТП, слаботочка
 
Москва-Тюмень
Регистрация: 02.09.2010
Сообщений: 422

Добрый день, коллеги!


Программу ADV_Toolkit ver 1.1 вы можете скачать внизу этого сообщения.

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

ПЕРВОНАЧАЛЬНЫЙ МОЙ ПОСТ===============================
Занимаюсь КИП и решил постепенно автоматизировать рутинные процессы проектирования.
Нужно: автоматизировать некоторые моменты создания плана кабельных сетей.
Дано: план эстакад, который берем у электриков. Таким образом, графическое представление плана трасс есть. На плане есть много позиций (блок-боксы, здания, площадки технологические), от которых кидаем кабель. ТО, что внутри площадок и блок-боксов нас пока не интересует - это делаем отдельными комплектами, попозиционно.
Итак, к примеру, от позиции 1 надо проложить 5 кабелей с маркировкой С1-1-1...С1-1-5 по уже имеющимся эстакадам (линиям).

Конкретика - что нужно получить в результате: щелкнуть в плане кабельных сетей на любой точке на линии, обозначающей трассы, и получить список (list) кабелей, проходящих через данную точку (табличку с номерами кабелей смогу и сам нарисовать, надеюсь :-) ). Для проверки нужна возможность включить отображение трассировки любого из кабелей, которые будут использоваться в проекте.

Отсюда и сам вопрос - как это можно реализовать? При помощи чего? Ну а потом уже буду пытаться это сделать, надеясь на вашу помощь.


Была сначала такая идея:
по имеющемуся плану кабельных сетей мышкой прощелкать все узлы (повороты, начало и конец) трассы, например, от позиции 1 до позиции 15 (в позиции 15 будет операторная, где стоят шкафы АСУ). Автокад должен запомнить трассу (напр., по указанным узловым точкам построить полилинию и ассоциировать ее с определенным номером кабеля (напр., С1-1-1), т.е она должна будет обозначать трассировку кабеля на плане.
Сначала хотел создать блок, напр. cable-trace с атрибутом - номером кабеля. В этот блок программно включить полилинию, обозначающую трассу. Но потом уже дошло :-) что полилиния, обозначающая трассировку кабеля С1-1-1 включится во все вхождения блока, а это уже мягко говоря не то ))). Вот и сижу пока в тупике, пытаюсь придумать другие варианты.

Буду рад идеям знающих

Сразу хочу сказать, что в "САПРе на базе Автокад" этого не нашел, хотя может плохо искал...

КОНЕЦ ПЕРВОНАЧАЛЬНОГО ПОСТА=========================================

ОБНОВЛЕНИЯ:

===============================
Выкладываю релиз 1.05 ADV_CAD

Версия 1.05. Изменения:

1) При импорте БД в схему внешних выводить инфу о недостающих кабелях один раз списком/ (было – предупредительным сообщение АВТОКАДа).
2) Поменял методику расчета длины трассы при создании и редактировании добавил более понятные комментарии при трансляции баз данных и установки длин.
3) Добавил более понятные комментарии при трансляции баз данных и установке длин кабелей (вывод имен файлов, с которых была произведена трансляция, вывод имен всех файлов, с которых транслирована информация о кабелях.
4) Сделал по кнопке проверку транслированной информации – доступна из любого чертежа, не только из плана трасс.

ДОПОЛНЕНИЕ:

- исправил неверную работу программы "Редактирование трассы кабеля": при входе в программу, но досрочном выходе из нее(по указанию <Выход из программы>), изменений в базу не вносилось (так и должно быть), но сама трасса удалялась из базы данных!

необходимо заменить в скачанном архиве файл
adv-programme-cable-routings-edit-one.fas
на новый, который находится в архиве
adv-programme-cable-routings-edit-one.rar

Релиз 1.10

Все практически сделано с нуля. Так что нет особого смысла описывать изменения.
Теперь в папке с программой ЕСТЬ HELP.
Просто скопируйте к себе на комп и распакуйте архив в корневой каталог диска C:.
В HELP есть описание дальнейшей установки, которое сводится (в самом простом варианте) к загрузка fas-модуля, выполняющего настройку AutoCADа.


ADV_Toolkit ver. 1.1

Изменений много.
Основное:
- автоматическая трассировка кабеля по указанным начальной и конечной точке. Более подробно - читайте в Хелпфайле в папке ADV_CAD_HELP (эту папку еще не переименовал, оказывается ). Важно: если у вас поменялась хоть как-нибудь трасса, то для корректной автотрассировки нужно нажать кнопку "Подготовить к трассировке" в диалоговом окне создания кабелей.
- создание кабелей при помощи диалогового окна. В будущем все программы будут переведены в режим диалога. Это преследовало целью уход от указания блоков кабеля на чертеже, а выбор из списка. ТОже немного подробнее читайте в хелпе.
- немного переделал блоки, теперь длина в блок кабеля вставляется сразу с суффиксом - ВНИМАНИЕ!!!
- на подкачке стоят программы из форума - перенумерация по renum, записная книжка - по NBOOK и NBOOK1 - вызов через комстроку.
- начал работу с БД изделий, пока сделал парочку кранов-вентилей (закладные конструкции) для КИПиА - по крайней мере там. где я работал, мы часто сами учитывали закладные, иногда - технологи.

Главное - хочется, чтобы вы потестили автотрассировку. Я ее гонял во всех режимах - было все ок. Но мало ли... Ну и сам диалог создания кабелей с кучей функций, сохранением настроек диалога на время сеанса - тоже стоило непало усилий.

В общем, жду конструктивной критики и пожеланий по тем моментам, что дополнил в программе

Дополнение - подредактировал программку создания трассы по аналогу. Скачайте лисп-файл и замените им такой же в папке с прогой. Теперь работает как надо! :-)

Дополнение от 21.04.2012:
добавил программку для массовой печати чертежей. Я о ней уже писал в теме, но сейчас выкладываю новую версию, где можно выбрать и самому указать стиль печати - монохром или акад (т.е. цветной) или свой стиль. Справка - в файле readme.txt

ПРограммка - в папке PRINT FORMATS, внутри папки ADV_Toolkit. Но - может работать без проги (сделана независимой).

Дополнение от 16.05.2013:

Прога печати (в архиве PRINT FORMTS_dyn.rar) теперь с динблоком моей новой рамки (саму рамку можно подгонять как вам угодно, лишь только оставьте имя блока и атрибут FORMAT, по которому прога определяет нужный формат листа печатающего устройства.

Вложения
Тип файла: rar ADV_Toolkit_ver.1.1.rar (2.39 Мб, 2688 просмотров)
Тип файла: lsp adv-programme-cable-routings-create-by-analogue.lsp (6.3 Кб, 1622 просмотров)
Тип файла: rar PRINT FORMATS.rar (6.1 Кб, 1195 просмотров)
Тип файла: rar PRINT FORMATS_dyn.rar (41.0 Кб, 859 просмотров)


Последний раз редактировалось Frigate, 16.05.2013 в 01:36.
Просмотров: 294658
 
Непрочитано 28.02.2012, 13:32
#361
WST


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


Цитата:
Сообщение от Frigate Посмотреть сообщение
можешь в окне адаптации интерфейса посмотреть возможные рабочие пространства?
это _wssettings?

Цитата:
Сообщение от Frigate Посмотреть сообщение
сохрани текущее рабочее пространство через меню Сервис-рабочее пространство-сохранить текущее...

переключи на другое рабочее пространство и опять вернись к изначальному рабочему пространству. Менюшка появилась?
не помогает делал я все это не раз
WST вне форума  
 
Непрочитано 28.02.2012, 14:03
#362
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


без разницы что загружать, менюшку в ввиде куи или мну, ее нужно добавлять в панель меню, тогда она появится... с панельками таких заморочек нет... такая уж особенность автокада
gomer вне форума  
 
Автор темы   Непрочитано 28.02.2012, 14:22
#363
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


gomer,

так что конкретно предлагаешь?

вместо _cuiload использовать _menuload и это сработает?

так

Код:
[Выделить все]
(setq menufile "ADV_Toolkit")
(vl-cmdf "_menuload" menufile)
?

у меня от этого ничего не меняется


WST,

нет, _.QUICKCUI
а там смотри в своем текущем рабочем пространстве присутствует ли меню мое

Последний раз редактировалось Frigate, 28.02.2012 в 14:59.
Frigate вне форума  
 
Непрочитано 28.02.2012, 14:49
#364
WST


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


Frigate,
ты про это?
нет там меню
Миниатюры
Нажмите на изображение для увеличения
Название: 2.JPG
Просмотров: 90
Размер:	74.6 Кб
ID:	75626  
WST вне форума  
 
Автор темы   Непрочитано 28.02.2012, 15:01
#365
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


да, про это окошко...

в общем, попробуй

(vl-cmdf "_menuload" "ADV_Toolkit")

если не получится, то надо будет узнавать у мЭтров

или просто ручками в этом же окошке перетащить мое меню
Frigate вне форума  
 
Непрочитано 28.02.2012, 15:08
#366
WST


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


Frigate,
вот
Command: (vl-cmdf "_menuload" "ADV_Toolkit")
_menuload
Enter name of customization file to load: ADV_Toolkit
Unable to load customization file: ADV_Toolkit
That Customization Group name already exists.

Цитата:
Сообщение от Frigate Посмотреть сообщение
или просто ручками в этом же окошке перетащить мое меню
а это как?
WST вне форума  
 
Непрочитано 28.02.2012, 15:31
#367
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Frigate Посмотреть сообщение
так что конкретно предлагаешь?

вместо _cuiload использовать _menuload и это сработает?
нет, не сработает, без разницы, menuload или cuiload, ПОСЛЕ ЗАГРУЗКИ ПУНКТ МЕНЮ НУЖНО ДОБАВИТЬ В ГЛАВНОЕ МЕНЮ... код я выложил... в брикскад загрузил твое меню... все встало на место с первого раза
gomer вне форума  
 
Непрочитано 28.02.2012, 15:45
#368
angel-fear

инженер-электрик
 
Регистрация: 21.10.2010
Краснодар
Сообщений: 134


Не осилил всю ветку, простите. Может задам вопрос повторно.
Можно сделать так, чтобы программа работала с 3d-полилиниями?
angel-fear вне форума  
 
Автор темы   Непрочитано 28.02.2012, 15:52
#369
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


gomer,

а ты можешь выложить код именно для моей надстройки ADV_TOOLKIT?
я что-то не очень пойму. что именно нужно заменить в твоем коде, у меня не работает, не находит .mnu файл
Frigate вне форума  
 
Непрочитано 28.02.2012, 15:53
#370
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Цитата:
Сообщение от gomer Посмотреть сообщение
нет, не сработает, без разницы, menuload или cuiload, ПОСЛЕ ЗАГРУЗКИ ПУНКТ МЕНЮ НУЖНО ДОБАВИТЬ В ГЛАВНОЕ МЕНЮ... код я выложил... в брикскад загрузил твое меню... все встало на место с первого раза
Обычно _.menuload срабатывает более корректно... Даже если ему "подсовывать" cui / cuix.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.02.2012, 16:48
1 | #371
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Код:
[Выделить все]
 (defun _adv-setup ( / oldcmde menufile CNT)
  (vl-load-com)
  (setq oldcmde (getvar "CMDECHO"))
  (setvar "CMDECHO" 0)
  (cond
	((setq MenuFile(findfile "ADV_Toolkit.cui")))
	((setq MenuFile(getfiled "Открыть файл НПИ" "c:/ADV_Toolkit/" "cui" 4))
	  (setenv "ACAD" (strcat(getenv "ACAD") ";" (vl-filename-directory MenuFile)))
	)
  )
  (if (menugroup "ADV_Toolkit")
    (progn
      (prompt "\nУдаление устаревшего меню ADV_Toolkit") 
      (vl-cmdf "_.cuiunload" "ADV_Toolkit")
    )
  )
  (prompt "\nЗагрузка меню. Подождите...")
  (cond
	((findfile (setq menufile "ADV_Toolkit.cui"))
	  (vl-cmdf "_.cuiload" menufile)
	  (setq CNT 1)
	  (while (< CNT 24)
		(if (menucmd (strcat "P" (itoa CNT) ".1=?"))
		  (setq CNT (1+ CNT))
		  (progn
			(if (> CNT 2)
				(setq CNT (- CNT 2))
				(setq CNT 2)
			)
			(menucmd (strcat "p" (itoa CNT) "=+ADV_Toolkit.pop1"))
			(setq CNT 25)
		  )
		)
	  )
	  (setq CNT nil)
	)
	(T (princ "\n"))
  )
  (setvar "CMDECHO" oldcmde)
  (princ)
)

Последний раз редактировалось gomer, 29.02.2012 в 22:21.
gomer вне форума  
 
Автор темы   Непрочитано 28.02.2012, 17:37
#372
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


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

позже проиллюстрирую - сегодня еще много работы
Frigate вне форума  
 
Непрочитано 28.02.2012, 18:02
#373
WST


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


Frigate,
А в картинках для тех кто в танке у меня не русский автокад
WST вне форума  
 
Непрочитано 29.02.2012, 21:27
#374
Nikolay 2


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


Запоздал я немного, но может быть для статистики есть смысл описать мои действия:
Цитата:
Сообщение от Frigate Посмотреть сообщение
Nikolay 2, WST, попробуйте на своих компах, на которых меню не грузится, выполнить след. команду (прямо в комстроку копируйте):
Цитата:
Сообщение от WST Посмотреть сообщение
Frigate, Вот это пишет
CUSTOM
ADV_TOOLKIT
INCDEC
ACAD
EXPRESS
У меня тоже самое. SDI с самого начала в 0.
Цитата:
Сообщение от Frigate Посмотреть сообщение
можешь в окне адаптации интерфейса посмотреть возможные рабочие пространства? В текущем рабочем пространстве у тебя есть меню ADV_TOOLKIT? если есть, то: сохрани текущее рабочее пространство через меню Сервис-рабочее пространство-сохранить текущее...
переключи на другое рабочее пространство и опять вернись к изначальному рабочему пространству. Менюшка появилась?
В моем текущем рабочем пространстве (куда загружал ADV_TOOLKIT) меню нет. Сохранение текущего рабочего пространства не помогло. Переключения на классику и на мое рабочее тоже ни чего на дало. Код из поста 371 от gomer не пробовал, там в 6 строка Prokat фигурирует.
В конце недельного танца, с бубном конечно, создал еще одно рабочее пространство, меню появилось. Теперь имею три рабочих пространства: классическое (которое никогда не трогаю), мое (со всеми моими настройками) и еще ADV_TOOLKIT (надо опять под себя затачивать, потому что оно создалось на базе классического). Frigate, конечно лучше бы без всего этого обойтись, может помогут, мэтры-то?
Сейчас попробовал код из поста 371 от gomer вот что в итоге:
Команда: (_adv-setup)
Файл настройки выгружен успешно. Группа настройки: ADV_Toolkit
Загрузка меню. Подождите...
Файл настройки загружен успешно. Группа настройки: ADV_TOOLKIT
Команда:
Библиотека ADV_Toolkit загружена. Copyright (c): Данила aka Frigate
(lifeisnice81).

В моем рабочем пространстве в меню группа ADV_TOOLKIT появилась, а на панели менюшек нет....
Какие то артефакты, переключился пару раз между рабочими пространствами, и появившаяся было группа ADV_TOOLKIT в меню моего рабочего пространства исчезла. В рабочем пространстве ADV_TOOLKIT (которое третье по счету) все есть. Перезагрузка ACad и компа не помогла.

Последний раз редактировалось Nikolay 2, 29.02.2012 в 21:50. Причина: загрузил код от gomer
Nikolay 2 вне форума  
 
Непрочитано 29.02.2012, 22:30
#375
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Frigate, До меня только сейчас дошло, что у тебя ж нпи грузится и в нем никаких поп нет
Сорри за дезу, заработался, блин
Может поможет InsertMenuInMenuBar?

Последний раз редактировалось gomer, 29.02.2012 в 22:58.
gomer вне форума  
 
Автор темы   Непрочитано 01.03.2012, 07:46
#376
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


Nikolay 2,

ручками сделай _cuiunload и выгрузи мою прогу, а потом вновь установи, но моим инсталлятором

я все делаю в классическом автокаде, который под себя настраиваю. Там все ок. Да ты и сам пишешь, что работает.

WST
Если меню нет в составе рабочего пространства, то тут я бессилен. Попробуй создать рабочее пространство на основе "классического автокада" (как Николай) ТОгда все должно заработать.
Я надеюсь

angel-fear

для чего именно 3Д плинию использовать хъочешь? Чтобы указывать ее при задании трассы? МОжет, это и получится осуществить, но храниться будут данных только двумерной модели.

Последний раз редактировалось Frigate, 01.03.2012 в 07:55.
Frigate вне форума  
 
Непрочитано 01.03.2012, 09:42
#377
Nikolay 2


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


Цитата:
Сообщение от Frigate Посмотреть сообщение
ручками сделай _cuiunload и выгрузи мою прогу, а потом вновь установи, но моим инсталлятором
Вечером попробую...
Цитата:
Сообщение от Frigate Посмотреть сообщение
я все делаю в классическом автокаде, который под себя настраиваю. Там все ок. Да ты и сам пишешь, что работает.
Я классический профиль никогда не ковыряю, создаю свой и там "гуляю". Работать-то работает, вот только не удобно между двумя профилями скакать, хочется в свое рабочее пространство загрузить. А она зараза вылетает из рабочего пространства после смены его пару раз, хотя и появляется после загрузки, но меню не отображается ни разу.
Кстати gomer подправил код, может это поможет? И еще, на работе, на AutoCAD Plant 3D 2012, в мой профиль встала с пол-пинка...

Последний раз редактировалось Nikolay 2, 01.03.2012 в 09:50.
Nikolay 2 вне форума  
 
Автор темы   Непрочитано 01.03.2012, 10:31
#378
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


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

У меня на русифицированном акаде 2009 и 2011 все ставится нормуль, хотя иногда менюшка не появляется после первой поппытки поставить.

код инсталлятора поправлю попозже, щас пока тока по работе программлю...

Учту эти траблы в будущем - все функции продублирую на панельках.
Frigate вне форума  
 
Непрочитано 01.03.2012, 14:31
#379
Nikolay 2


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


Цитата:
Сообщение от Frigate Посмотреть сообщение
попробуй сразу после установки моей проги в рабочее пространство на базе классического автокада пересохранить это рабочее пространство - тогда прога не будет исчезать.
У меня есть некоторые правила работы в ACade, которые я стараюсь не нарушать. Одно из них: ничего не изменять в классическом профиле, только создаю свой и там "гуляй-не хочу".... Ладно будем ждать исправления, а пока использую третий профиль....
Nikolay 2 вне форума  
 
Автор темы   Непрочитано 01.03.2012, 15:24
#380
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


Nikolay 2,

ты только сохраняй рабочее пространство после установки моей проги
Frigate вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > План кабельных сетей - алгоритм автоматизации построения и программирование?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посоветуйте программу для построения профилей наружных сетей? dextron3 Вертикальные решения на базе AutoCAD 18 11.03.2012 16:37
Сводный план сетей proekt_mep Инженерные сети 42 16.06.2011 23:09
Ищу книгу "Проектирование кабельных сетей и проводок" под редакцией Г.Е.Храпченко 1980 Инзиля Поиск литературы, чертежей, моделей и прочих материалов 8 03.02.2009 14:47