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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Автоматическая маркировка кабельных линий и составление КЖ

LISP. Автоматическая маркировка кабельных линий и составление КЖ

Ответ
Поиск в этой теме
Непрочитано 08.02.2017, 17:06 1 | #1
LISP. Автоматическая маркировка кабельных линий и составление КЖ
valerik88
 
Регистрация: 02.07.2016
Сообщений: 251

Программка имеет следующие функции:
cableObject - добавить область в которую будут заводится кабели (выполняет роль шкафов, потребителей, всего что связывается кабелем. Область не выводится на печать)
cableObjectRename - переименование области
cable - задать параметры кабеля для полилинии
cableMark - промаркеровать кабели на плане
cableJ - выбрать кабели и составить на их основе кабельный журнал.
cableObjectScheme - отрисовка однолинейной схемы для объекта cableObject
cableReactor - включить реакторы, для редактирования системы через однолинейную схему
cableReactorOff - выключить реакторы

При изменении маркировки кабеля, все маркировки на плане обновляются автоматически.

Демонстрация работы на видео:
https://youtu.be/9I_4Io_HvZs

Размеры ячеек кабельного журнала - не по ГОСТу, из личных соображений (в гостовские размеры надписи не влазят), кому нужно, отредактируйте в коде размеры ячеек.


Добавил функцию отрисовки однолинейной схемы
https://youtu.be/DnnqxkNkSKU
Для работы этой функции необходимо, что бы в файле присутствовали мои блоки, файл с блоками прикладываю. Для работы, нужно скопировать однолинейку из моего файла в Ваш чертёж, тогда все нужные блоки будут в чертеже.
Заменить их на свои блоки будет проблематично, поэтому однолинейка будет выглядеть именно так, как я её всегда рисую, если вы рисуете по своему, возможно вам эта функция не поможет.

Выкладываю новую версию скрипта.
Сделал возможность редактирования кабелей через однолинейную схему. Демонстрация на видео
https://youtu.be/Z1kiSPiydDM

Для этого использую реакторы, т.е. реакция автокада на определённые действия пользователя, в частности на редактирование текста.
Для включения реактора - команда cableReactor для выключения - cableReactorOff

Протестировано на Autocad 2016.

У кого старый автокад - не качайте, работать не будет. Старая версия без функции отрисовки однолинейки есть в 23 посте http://forum.dwg.ru/showpost.php?p=1617136&postcount=23, она должна работать на старом автокаде.

Вложения
Тип файла: lsp cable.lsp (75.6 Кб, 1122 просмотров)
Тип файла: dwg
DWG 2013
cable-блоки для однолинейки.dwg (70.0 Кб, 1225 просмотров)


Последний раз редактировалось valerik88, 13.03.2017 в 16:18.
Просмотров: 54462
 
Непрочитано 08.02.2017, 18:16
#2
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,010


valerik88, функции getpropertyvalue нету и прога не работает
Nike вне форума  
 
Автор темы   Непрочитано 08.02.2017, 18:22
#3
valerik88


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


Почему нету? Это же стандартная функция
https://knowledge.autodesk.com/searc...2E899-htm.html
valerik88 вне форума  
 
Непрочитано 08.02.2017, 18:26
#4
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,010


А што у мене рухаесе

Команда: cable Выберите Полилинию
Выберите объекты:
; ошибка: no function definition: GETPROPERTYVALUE

----- добавлено через ~1 мин. -----
ЗЫ у мене 2011
Nike вне форума  
 
Автор темы   Непрочитано 08.02.2017, 18:32
#5
valerik88


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


Напишу в первом посте, что протестировано на Autocad 2016
valerik88 вне форума  
 
Непрочитано 09.02.2017, 00:23
#6
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Имеется возможность "множественного" редактирования? т.е. выделил несколько полилиний и задал им свойства за раз?

Есть похожее кино https://youtu.be/ZvgW7uB2R30

Последний раз редактировалось zamtmn, 09.02.2017 в 00:28.
zamtmn вне форума  
 
Автор темы   Непрочитано 09.02.2017, 06:57
1 | #7
valerik88


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



Сделаю
valerik88 вне форума  
 
Непрочитано 09.02.2017, 09:32
| 1 #8
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


Еще предложение, начало и конец полилинии находятся внутри блоков щитков, соответственно программа сама может заполнить поля начала и конца кабеля в форме.
Boxa вне форума  
 
Непрочитано 09.02.2017, 10:19
#9
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,169


Цитата:
Сообщение от valerik88 Посмотреть сообщение
Почему нету? Это же стандартная функция
https://knowledge.autodesk.com/searc...2E899-htm.html
Цитата:
Сообщение от valerik88 Посмотреть сообщение
На 2011 не работает.
GETPROPERTYVALUE появилась с 2015. На старых версиях можно заменить на (vlax-get-property (vlax-ename->vla-object n) "Length") или просто (vla-get-Length (vlax-ename->vla-object n)). Чуть позже опробую и отпишусь.
kp+ вне форума  
 
Автор темы   Непрочитано 09.02.2017, 10:52
1 | #10
valerik88


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Еще предложение, начало и конец полилинии находятся внутри блоков щитков, соответственно программа сама может заполнить поля начала и конца кабеля в форме.
Уже обдумываю как это лучше сделать
valerik88 вне форума  
 
Непрочитано 09.02.2017, 11:19
#11
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>Уже обдумываю как это лучше сделать
А еще надо возможность "разрывов" кабельной линни - для черчения одной кл на разных планах с разными масштабаими, "вертикальные" участки...
Имхо на лиспе такое не сделать удобным
zamtmn вне форума  
 
Непрочитано 09.02.2017, 12:49
#12
skkkk


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


Цитата:
Сообщение от Nike Посмотреть сообщение
GETPROPERTYVALUE
Несколько удивился тому, что в лиспе что-то еще появляется (слышал только про command-s).
Почитал, что getpropertyvalue появилась в 2011-м. Однако у меня и у Nike ее нет. Почему, интересно?
skkkk вне форума  
 
Автор темы   Непрочитано 09.02.2017, 14:08
#13
valerik88


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


Сделал возможность редактировать сразу несколько КЛ
Заменил функцию getproperyvalue на (vlax-get-property), проверьте у кого старый автокад.

В шапке файл тоже обновлю.
Вложения
Тип файла: lsp cable.lsp (22.8 Кб, 100 просмотров)
valerik88 вне форума  
 
Непрочитано 10.02.2017, 12:39
| 1 #14
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,010


С setpropertyvalue та же беда..
Nike вне форума  
 
Автор темы   Непрочитано 10.02.2017, 13:07
1 | #15
valerik88


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


Исправлю в следующем релизе... Пока не нашёл как изменять свойства TextLocation/X и TextLocation/Y через vlax-put-property... там таких свойств как будто нет... или называются по другому.

Уже сделал автозаполнение полей "Начало Кл" и "Конец КЛ", вечером выложу.
valerik88 вне форума  
 
Непрочитано 10.02.2017, 14:06
1 | #16
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,169


Цитата:
Сообщение от valerik88 Посмотреть сообщение
там таких свойств как будто нет
Здесь было по прогр. работе с мультивыносками
Лисповый вариант - в #16
kp+ вне форума  
 
Автор темы   Непрочитано 10.02.2017, 14:39
#17
valerik88


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
Спасибо, помог!
valerik88 вне форума  
 
Непрочитано 10.02.2017, 15:28
#18
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


А что там с трубами?
Profan вне форума  
 
Автор темы   Непрочитано 10.02.2017, 15:37
#19
valerik88


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


с какими трубами?
valerik88 вне форума  
 
Непрочитано 10.02.2017, 16:01
#20
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Таблица же называется "Кабельно-трубный журнал". И в ней присутствует несколько граф с параметрами труб. А сами трубы где определяются?
Таблица украдена, что ли?
Profan вне форума  
 
Автор темы   Непрочитано 10.02.2017, 16:05
#21
valerik88


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


"Украдена" из какого-то госта оформления кабельных журналов... бывает таблица и без труб, но я как-то всегда этой пользуюсь в проектах... если труб нет, просто не заполняю эти столбцы.
valerik88 вне форума  
 
Непрочитано 10.02.2017, 16:25
#22
mavik


 
Регистрация: 05.08.2013
Казань
Сообщений: 650


Возможно добавить длины труб? (равными длине кабеля и =0 по запросу)
mavik вне форума  
 
Автор темы   Непрочитано 10.02.2017, 17:30
1 | #23
valerik88


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


Цитата:
Сообщение от mavik Посмотреть сообщение
Возможно добавить длины труб? (равными длине кабеля и =0 по запросу)
Пока не буду делать этого. Во первых длина труб как правило меньше длины кабеля, во вторых пока не вижу необходимости.. может потом.

Выкладываю последнюю версию программы.
Теперь можно обводить области - я назвал их cableObject - это всевозможные объекты, которые связываются кабелями (щиты, потребители...). Области рисуются на отдельном непечатаемом слое. Т.е. в модели вы их видите, на печать они не выводятся. Заполнили области, соединили их кабелями (полилиниями), после этого редактируем кабели, пункты "Начало" и "Конец" уже заполнены в зависимости от того, в какой области лежат концы кабеля.
Для старых автокадов где не поддерживается версия setpropertyvalue сдел костыль, вроде должно работать, проверьте у кого старый автокад.

Демонстрация работы на видео https://youtu.be/9I_4Io_HvZs
Файл в шапке тоже обновлю
Вложения
Тип файла: lsp cable.lsp (31.8 Кб, 192 просмотров)

Последний раз редактировалось valerik88, 10.02.2017 в 17:44.
valerik88 вне форума  
 
Непрочитано 14.02.2017, 12:11
#24
ekrnbabaj


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


Мужик, ты гений!
сколько лет маялся с этими выносками и каб. журналами!
Периодически пытался сам сделать что-то аналогичное стандартными средствами автокада, но получалось только жалкое подобие.
Спасибо!

----- добавлено через ~1 ч. -----
А нельзя ли сделать для этого лиспа вывод в чем-то аналогичный стандатрному извлечению данных?
Поясняю, например, соединить кабелем щит с розеткой, обозвать кабель в этой программе как положено, а на однолинейку вывести название группы и ее длину. Аналогично тому как это сейчас выводится в кабельном журнале?
только при соединении нескольких потребителей "шлейфом" надо как-то замророчится с суммирование длины в группе...

----- добавлено через ~1 ч. -----
а еще было бы здорово, чтобы выноски тоже автоматически были на отдельном слое

----- добавлено через ~1 ч. -----
быстро же я зажрался)))
уже хотелки пошли)

----- добавлено через ~2 ч. -----
А еще было бы здорово выпадающий список мерок кабеля и сечений, когда забиваешь свойства кабеля.
а то ВБШвнг FRLS 4х6 писать ручками лениво)

----- добавлено через ~3 ч. -----
Безумно не хочу бесить, но еще было бы здорово.
добавить возможность маркировать потребителей, например делать выноски для распред. коробок, розеток, щитков и прочего.
Удобно было бы очень их все равно делать приходится.
это можно было бы делать из той же рамки в которой начало и конец кабеля обводим
ekrnbabaj вне форума  
 
Автор темы   Непрочитано 14.02.2017, 16:30
#25
valerik88


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


Добавил функцию отрисовки однолинейной схемы
https://youtu.be/DnnqxkNkSKU
Для работы этой функции необходимо, что бы в файле присутствовали мои блоки, файл с блоками прикладываю. Для работы, нужно скопировать однолинейку из моего файла в Ваш чертёж, тогда все нужные блоки будут в чертеже.
Заменить их на свои блоки будет проблематично, поэтому однолинейка будет выглядеть именно так, как я её всегда рисую, если вы рисуете по своему, возможно вам эта функция не поможет.

На старые версии автокада забил. У кого нет функций setpropertyvalue и getpropertyvalue - у того будут вылетать ошибки и работать не будет, поэтому предыдущий файл из шапки не удаляю, пусть будет. Старый файл случайно удалил.
Цитата:
Сообщение от ekrnbabaj Посмотреть сообщение
а еще было бы здорово, чтобы выноски тоже автоматически были на отдельном слое
Дык они и так на отдельном слое

Цитата:
Сообщение от ekrnbabaj Посмотреть сообщение
А еще было бы здорово выпадающий список мерок кабеля и сечений, когда забиваешь свойства кабеля.
а то ВБШвнг FRLS 4х6 писать ручками лениво)
Марок кабеля слишком много всяких разных, поэтому делать этого не буду

Цитата:
Сообщение от ekrnbabaj Посмотреть сообщение
добавить возможность маркировать потребителей, например делать выноски для распред. коробок, розеток, щитков и прочего.
Удобно было бы очень их все равно делать приходится.
это можно было бы делать из той же рамки в которой начало и конец кабеля обводим
Подумаю над этим

Ещё на видео забыл продемонстрировать: Если кабель 3х жильный, то автомат на однолинейке рисуется однополюсный.
Вложения
Тип файла: lsp cable.lsp (49.1 Кб, 92 просмотров)
Тип файла: dwg
DWG 2013
cable-блоки для однолинейки.dwg (70.0 Кб, 141 просмотров)

Последний раз редактировалось valerik88, 14.02.2017 в 16:40.
valerik88 вне форума  
 
Непрочитано 15.02.2017, 08:45
#26
ekrnbabaj


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


Цитата:
Сообщение от valerik88 Посмотреть сообщение
Дык они и так на отдельном слое
странно у меня почему-то вчера вставлялись на активный слой, сегодня проверил, действительно в отдельный. либо это чудеса либо я вчера был в сомнамбуле

----- добавлено через ~5 мин. -----
Цитата:
Сообщение от valerik88 Посмотреть сообщение
Марок кабеля слишком много всяких разных, поэтому делать этого не буду
да, я вчера вечером тоже об этом подумал. Получается или теряем универсальность программы или кабели вводим вручную.
Я для себя придумал такой способ, присваиваю маркам кабеля короткие имена, например ВВГнг зову _1, ВВНнгLS зову _2 и т.д,
А после вывода кабельного журнала заменяю эти _1 и _2 на нормальные обозначения быстрым выбором. При большом объеме ускорение значительное
Может кому идея пригодится.

----- добавлено через ~11 мин. -----
Цитата:
Сообщение от valerik88 Посмотреть сообщение
Ещё на видео забыл продемонстрировать: Если кабель 3х жильный, то автомат на однолинейке рисуется однополюсный.
у меня почему-то команда "cableObjectScheme" не заработала.
правда на работе у меня акад 2011 и ютуб прикрыт, посмотреть видео и опробовать лисп на 2016 акаде смогу только в выходные дома.
по результатам отпишусь.
Но мне в любом случае это не совсем подойдет. у меня дин. блоков автоматов больше, включая выкатные, блочные и т.п. + на предприятии немного другие традиции рисования схем.

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

Уважаемый Валерик88, не откажите в советах по редактированию кода Вашего лиспа?
Я к сожалению, в лиспах полный чайник, но надеюсь на то чтобы, создать простой блок и вывести в него данные по аналогии с вашим кодом моих способностей и полузабытых с института знаний паскаля с фортраном хватит

----- добавлено через ~25 мин. -----
Кстати, еще появилась мысль.
было бы здорово вводить сечение кабеля в программу не при его прокладке, а на однолинейке.
Т.к. когда видишь номинал автомата, можешь прикинуть потери напряжения и т.п. удобнее выбирать сечение.
но уж это мне точно нериализовать(

----- добавлено через ~29 мин. -----
и еще кстати)
если привязывать вывод информации о кабеле не к блоку автомата, а к блоку кабеля, то появляется возможность на однолинейке отображать подключение "шлейфом".
ekrnbabaj вне форума  
 
Автор темы   Непрочитано 15.02.2017, 11:00
#27
valerik88


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


Вы сначала потестируйте, часть вопросов, возможно отбросится. Информация по кабелям на однолинейке обычным текстом выводится, а не частью блока.
valerik88 вне форума  
 
Непрочитано 15.02.2017, 12:02
#28
ekrnbabaj


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


Цитата:
Сообщение от valerik88 Посмотреть сообщение
Вы сначала потестируйте, часть вопросов, возможно отбросится. Информация по кабелям на однолинейке обычным текстом выводится, а не частью блока.
Конечно, так и сделаю. Но раньше выходных не получится(
про текст я понял. Только я решил, что положение текста при выводе привязывается к положению блока автомата. а это было бы неудобно, если пользоваться другими блоками.
Но вы правы, сначала надо все протетстить.

----- добавлено через ~8 ч. -----
Уважаемый, Валерик88.
Я не утерпел посмотрел дома после работы.
снимаю шляпу просто и со вкусом
не так сложно как нанокад электро, но вполне достаточно для работы.

В порядке личного одолжения могу я попросить сделать версию чтобы вместо однолинейки выводился просто текст из марки кабеля, длины и названия группы с определенным промежутком?
Я бы его тогда просто накладывал на свою схему. Сам попытался разобраться с кодом, но видно после института изрядно отупел
ekrnbabaj вне форума  
 
Автор темы   Непрочитано 15.02.2017, 22:00
#29
valerik88


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


Цитата:
Сообщение от ekrnbabaj Посмотреть сообщение
В порядке личного одолжения могу я попросить сделать версию чтобы вместо однолинейки выводился просто текст из марки кабеля, длины и названия группы с определенным промежутком?
Я бы его тогда просто накладывал на свою схему. Сам попытался разобраться с кодом, но видно после института изрядно отупел
Нарисуй как хочешь что бы выводило и сбрось чертёж, я посмотрю и закомментирую тебе нужные строки, что бы лишнее не выводилось.


Цитата:
Сообщение от ekrnbabaj Посмотреть сообщение
было бы здорово вводить сечение кабеля в программу не при его прокладке, а на однолинейке.
Т.к. когда видишь номинал автомата, можешь прикинуть потери напряжения и т.п. удобнее выбирать сечение.
Сейчас думаю как это лучше сделать. Действительно выбрать кабель удобней глядя на однолинейку, а не однолинейку рисовать по выбраному кабелю. Хочу замутить, что бы можно было отредактировать однолинейку, запустить какую-то команду типа cableUpdate и нужные кабели автоматом обновились.
valerik88 вне форума  
 
Непрочитано 16.02.2017, 09:05
#30
ekrnbabaj


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


Цитата:
Сообщение от valerik88 Посмотреть сообщение
Нарисуй как хочешь что бы выводило и сбрось чертёж, я посмотрю и закомментирую тебе нужные строки, что бы лишнее не выводилось.
сейчас попробую выложить. файл старый без блоков, но суть будет понятна.
За подсказки с редактированием лиспа буду очень признателен
ekrnbabaj вне форума  
 
Непрочитано 16.02.2017, 09:07
#31
ekrnbabaj


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


вроде выложил

----- добавлено через ~26 мин. -----
Цитата:
Сообщение от valerik88 Посмотреть сообщение
Сейчас думаю как это лучше сделать. Действительно выбрать кабель удобней глядя на однолинейку, а не однолинейку рисовать по выбраному кабелю. Хочу замутить, что бы можно было отредактировать однолинейку, запустить какую-то команду типа cableUpdate и нужные кабели автоматом обновились.
я мыслю над решением этой проблемы немного иначе.
1) сечение кабеля вообще не вводить в программу при задавании параметров кабеля
2) вывести однолинейку в автокад и кабельный журнал в эксель
3) в однолинейке забить сечение кабелей в поле, в атрибут или как-то еще
4) извлечь данные в эксель из однолинейки (название группы и сечение)
5) сделать консолидацию в экселе между кабельным жарналом из п2 и извлечением однолинейки из п4
6) получить итоговый кабельный журнал в экселе и делать с ним что угодно

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

Если мне время позволит могу попробовать проработать этот вариант

----- добавлено через ~30 мин. -----
Кстати, вы не пробовали программу "Assi Прокладка кабелей" она тоже с кабельным журналом работает. Проверяет заполнение лотков.
Я сам еще не пользовался, сейчас только готовлюсь. если ваш каб жур вывести в эксель, перегнать в Assi и еще там обработать, то было бы классно.
По результатам отпишусь
Вложения
Тип файла: dwg
DWG 2010
вывод однолинейки.dwg (1.02 Мб, 122 просмотров)
ekrnbabaj вне форума  
 
Автор темы   Непрочитано 16.02.2017, 11:03
#32
valerik88


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


Добавил в этот файл функцию Shema, она выведет то что надо, но расстояния между надписями и размер шрифта настройте сами в функции addQFgroup1

Расстояние можно отредактировать в этой строке (setq pt (list (+ (* 25 qf_i) 27.5) 10 0)) (тут 25 - это интервал между надписями)
А шрифт в строке (cableAddMtext str pt 3 (/ pi 2) 4) (тут 3 - это размер шрифта)

Цитата:
Сообщение от ekrnbabaj Посмотреть сообщение
что думаете по этому поводу?
Чё то сложно. Я экспортом и импортом из экселя вообще не пользуюсь, и наверное не буду.

Хочу что-то на реакторах попробовать сделать... назначать нужным объектам реактор на редактирование и редактировать соответственно связанные объекты.

Цитата:
Сообщение от ekrnbabaj Посмотреть сообщение
Кстати, вы не пробовали программу "Assi Прокладка кабелей"
, неа даже не слышал.
Вложения
Тип файла: lsp cable_1.lsp (53.1 Кб, 92 просмотров)
valerik88 вне форума  
 
Непрочитано 16.02.2017, 11:59
#33
ekrnbabaj


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


Цитата:
Сообщение от valerik88 Посмотреть сообщение
Добавил в этот файл функцию Shema, она выведет то что надо, но расстояния между надписями и размер шрифта настройте сами в функции addQFgroup1

Расстояние можно отредактировать в этой строке (setq pt (list (+ (* 25 qf_i) 27.5) 10 0)) (тут 25 - это интервал между надписями)
А шрифт в строке (cableAddMtext str pt 3 (/ pi 2) 4) (тут 3 - это размер шрифта)
Спасибо огромное!
вечером побегу проверять)

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от valerik88 Посмотреть сообщение
Чё то сложно. Я экспортом и импортом из экселя вообще не пользуюсь, и наверное не буду.

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

----- добавлено через ~6 мин. -----
Цитата:
Сообщение от valerik88 Посмотреть сообщение
неа даже не слышал.
Вообще софтина интересная
вот ссылка, если их тут вставлять можно
https://sites.google.com/site/engass...i-cable-laying

но я сейчас попробовал интегрировать в нее кабельный журнал из вашего лиспа через эксель. столкнулся с тем, что надо перегонять в xml а там еще куча связанных данных. В общем, больше возни.
а вручную каб жур в этот софт перебивать это надо быть фанатиком)

----- добавлено через ~8 ч. -----
Валерик, сейчас дома протестил ваши лиспы
из постов #32 и #25 у меня почему-то команды на извлечение однолинейки и кабелей "Shema" и "cableObjectScheme не работают.
акад написал "неизвестная команда". при этом превоначальные команды работают как и прежде.
автокад у меня дома 2016, все как положено.
Проверил код этих 2-х лиспов поиском в блокноте команд "Shema" и "cableObjectScheme" и обнаружил, что этих команд в коде нет.
Вы случайно выложили не итоговый лисп или я что-то не так понял с его применением?
ekrnbabaj вне форума  
 
Автор темы   Непрочитано 17.02.2017, 12:14
#34
valerik88


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


Цитата:
Сообщение от ekrnbabaj Посмотреть сообщение
из постов #32 и #25 у меня почему-то команды на извлечение однолинейки и кабелей "Shema" и "cableObjectScheme не работают.
акад написал "неизвестная команда". при этом превоначальные команды работают как и прежде.
автокад у меня дома 2016, все как положено.
Проверил код этих 2-х лиспов поиском в блокноте команд "Shema" и "cableObjectScheme" и обнаружил, что этих команд в коде нет.
Вы случайно выложили не итоговый лисп или я что-то не так понял с его применением?
В файле в 32 посте строка 1234
Код:
[Выделить все]
  (defun c:Schema( / *error* cableObjectData title p1 p2 pt n n1 n2 blk_n vla
Это вы что то перепутали похоже. Есть там такая функция
valerik88 вне форума  
 
Непрочитано 17.02.2017, 22:10
#35
ekrnbabaj


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


Цитата:
Сообщение от valerik88 Посмотреть сообщение
В файле в 32 посте строка 1234
Код:
[Выделить все]
  (defun c:Schema( / *error* cableObjectData title p1 p2 pt n n1 n2 blk_n vla
Это вы что то перепутали похоже. Есть там такая функция
Да, вы правы.
сейчас разобрался.
оказывается дело было в том что я вставлял команду в акад копипастой из описания программы на форуме.
когда набрал вручную и в коле нашлось и в акаде заработало!

отдельная благодарность за команду, схема. как раз то что мне нужно! в мою однолинейку вставляется отлично
скоро избавлюсь от стадии П и буду тестить программу на рабочке
ekrnbabaj вне форума  
 
Непрочитано 13.03.2017, 08:44
#36
ekrnbabaj


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


Здравствуйте, Валерик!
довелось мне активно попользоваться вашей программкой в последнее время. Очень она меня выручила с кабельным журналом.
Обнаружился один недостаток.
нельзя прописать одну группу сразу нескольким полилиниям одной операцией. например у меня от коробки расходятся кабели. Я выделяю полилинию "до коробки" все отходящие полилинии, прописываю им марку кабеля и название группы, например "ГР1". в кабельный журнал в этом случае ГР1 не выводится. Приходитсяприменять команду cable к каждой полилинии по отдельности.
можно это поправить? при разветвленных сетях неудобно получается
ekrnbabaj вне форума  
 
Автор темы   Непрочитано 13.03.2017, 16:12
#37
valerik88


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


Цитата:
Сообщение от ekrnbabaj Посмотреть сообщение
нельзя прописать одну группу сразу нескольким полилиниям одной операцией
Да вроде можно всё.. тоже самое как марку кабеля прописываю ВВГнг, так же и маркировка прописывается одновременно... у меня с этим проблем не возникло.
valerik88 вне форума  
 
Автор темы   Непрочитано 13.03.2017, 16:15
#38
valerik88


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


Выкладываю новую версию скрипта. Давно сделал, выкложить руки не доходили.
Сделал возможность редактирования кабелей через однолинейную схему. Демонстрация на видео
https://youtu.be/Z1kiSPiydDM

Для этого использую реакторы, т.е. реакция автокада на определённые действия пользователя, в частности на редактирование текста.
Для включения реактора - команда cableReactor для выключения - cableReactorOff
Вложения
Тип файла: lsp cable.lsp (75.6 Кб, 116 просмотров)
valerik88 вне форума  
 
Непрочитано 14.03.2017, 14:29
#39
ekrnbabaj


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


Цитата:
Сообщение от valerik88 Посмотреть сообщение
Да вроде можно всё.. тоже самое как марку кабеля прописываю ВВГнг, так же и маркировка прописывается одновременно... у меня с этим проблем не возникло.
Cтранно, у меня 100% не получалось, долго с этим промучился.
Может быть сам файл у меня переглючило, в разных версиях акада работал.
проверю на следующем проекте
ekrnbabaj вне форума  
 
Непрочитано 19.07.2017, 14:54
#40
Mike Vaghur


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


Спасибо, конечно, за такой плагин. Начал осваивать работу с ним.
Однако в шапке похоже старое описание, так как добавляется объект по CableObjectAdd, а не просто CableObject и ничего не сказано про задание имени ещё и в выноске.
И насчёт этих выносок - если у меня блоки уже промаркированы, то эти доп выноски мне совсем не нужны. Было-бы неплохо сделать их отключение или тоже не печатать.
Mike Vaghur вне форума  
 
Непрочитано 03.10.2017, 12:28
#41
alexfin86


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


Скрипт отличный. По-моему, пока единственный в своём роде. Давно искал решение для автоматизации составления КЖ силами AutoCAD без использования векторных решений. Всё понравилось, но при дальнейшем развитии скрипта хотелось бы увидеть следующие возможности:
1. Возможность выбора вставлять выноску для объекта или нет. У некоторых блоки могут быть уже промаркированы.
2. Возможность в форме редактирования информации по кабелю выбирать галочками какие поля выводить в выноску. Иногда просят, чтобы в маркере кабеля был не только номер, но и информация о типе и сечении кабеля (хочется возможность выводить в выноске что-то типа такого <тип кабеля><сечение и кол-во жил> - <номер кабеля>).
3. Возможность группировать одинаковые кабели в трассе, т. е. если в жгуте идут несколько кабелей одинаковой марки и сечения, то они бы могли группироваться в одну строку типа <кол-во кабелей в жгуте> <тип кабеля><сечение и кол-во жил> - <номер кабеля1>,<номер кабеля2> и т. д. Если выводить в одну строку, то будет значительно экономиться пространство чертежа.
4. Возможность выводить данные в обычную таблицу стиля Standart, т. к. данную форму КЖ используют не все и проще отредактировать обычную таблицу под свои нужды.

Но это так....хотелки на будующие, а в общем скрипт отличный и сильно упрощает жизнь.

Последний раз редактировалось alexfin86, 09.10.2017 в 23:21.
alexfin86 вне форума  
 
Непрочитано 07.11.2017, 13:09
#42
Makros


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


А у меня не работает однолинейная схема.
1 Вставляю Ваш файл с блоками:
Команда: _pasteclip Повторное определение блока ол-схема-соединение пропущено.
Повторное определение блока ол-схема-шина пропущено.
Повторное определение блока ол-схема-вводной-qf пропущено.
Повторное определение блока ол-схема-отходящий-qf пропущено.
Повторное определение блока ол-схема-таблица пропущено.
Повторное определение блока ол-схема-ячейка пропущено.
Точка вставки:
2 Создаю однолинейную схему:
Команда: CABLEOBJECTSCHEMA
Выберите CableObject
Выберите объекты:
Команда: Ошибка c:cableObjectSchema
неверная DXF-группа: (1)завершить / выйти прервать
Команда:
Makros вне форума  
 
Непрочитано 12.03.2018, 10:21
1 | #43
Doctor_Che


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


Цитата:
Сообщение от Makros Посмотреть сообщение
А у меня не работает однолинейная схема.
Команда: CABLEOBJECTSCHEMA
Выберите CableObject
Выберите объекты:
Команда: Ошибка c:cableObjectSchema
неверная DXF-группа: (1)завершить / выйти прервать
Команда:
Аналогичная ошибка. AutoCAD 2018

Понял почему вызывается ошибка.
Пытался для построения схемы выделять кабельные линии, а надо выбирать область, создаваемую по команде "cableObjectAdd".
Всё работает.

Последний раз редактировалось Doctor_Che, 12.03.2018 в 13:04. Причина: Найдена причина ошибки
Doctor_Che вне форума  
 
Непрочитано 19.03.2018, 10:23
#44
Scared


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


У меня почему-то cablemark не работает в 2014 Каде.
Выбираю щиты выбираю полилинию, забиваю свойства кабеля - вроде все ок. Когда пытаюсь выбранный кабель промаркировать - при создании выноски просит ввести текст.
Соответственно, этот текст и отображается в выноске. Хотя должны вроде названия кабелей автоматически подцепляться
Scared вне форума  
 
Непрочитано 04.04.2018, 17:54
#45
posetitel


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


Можно ли доработать лисп, чтобы:
1) если кабель проходит шлейфом через несколько устройств, то все устройства отмечались в кабельном журнале (например, в конце трассы через запятую);
2) была команда, при вызове которой сразу спрашивали маркировку кабеля (только маркировку, без вызова диалогового окна с указанием типа кабеля, жил, сечения и т.д.), а потом предлагали уже начертить полилинию этого кабеля ?
posetitel вне форума  
 
Непрочитано 06.02.2019, 18:18
#46
Ivanov Denis


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


Здравствуйте! установил себе на 2016 автокад данную программу. Возможно делаю что-то не так, но у меня когда использую маркировку кабеля в месте где больше 8 кабелей, маркировка не происходит.
До 4х кабелей все в порядке. Это у меня одного такая проблема или это недочет ?
Ivanov Denis вне форума  
 
Непрочитано 26.02.2019, 16:53
#47
URAN9


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


Доброго времени суток! Уважаемый автор программы, имеется ли у Вас возможность внести следующее изменение в код программы - чтобы при задании параметров кабеля командой "cable" полю "маркировка" для всех выделенных кабельных присваивалось значение имени слоя в, в котором эта кабельная линия находится. Заранее спасибо.
P.S. Я полный ноль в AutoLisp.
URAN9 вне форума  
 
Автор темы   Непрочитано 28.02.2019, 08:55
#48
valerik88


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


Цитата:
Сообщение от Ivanov Denis Посмотреть сообщение
Это у меня одного такая проблема или это недочет
У меня всё нормально с любым количеством


Цитата:
Сообщение от URAN9 Посмотреть сообщение
имеется ли у Вас возможность внести следующее изменение в код программы - чтобы при задании параметров кабеля командой "cable" полю "маркировка" для всех выделенных кабельных присваивалось значение имени слоя в, в котором эта кабельная линия находится
Сейчас мне слишком сложно будет в том коде разбираться... 2 года назад писал

Последний раз редактировалось valerik88, 28.02.2019 в 09:09.
valerik88 вне форума  
 
Непрочитано 15.04.2019, 19:01
#49
commonsense


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


Здравствуйте! В восторге от автоматической генерации кабельного журнала, спасибо большое!
Единственное, при команде cableObjectSchema вылетает ошибка:
Ошибка c:cableObjectSchema
Function cancelledquit / exit abort
Не подскажете, из-за чего это может быть?

Последний раз редактировалось commonsense, 15.04.2019 в 19:07.
commonsense вне форума  
 
Автор темы   Непрочитано 18.04.2019, 13:44
#50
valerik88


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


Не могу сказать... Давно этой программой не пользовался, и писал её тоже давно, уже не разберусь
valerik88 вне форума  
 
Непрочитано 26.12.2020, 22:48
#51
sasha_proekt


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


Здравствуйте! Очень классная программка. Я очень далек от программирования, но получилось методом тыка подкорректировать код под себя в плане однолинейки - расстояние между автоматами, размер шрифта и расположение надписей. Но я пытался аналогичным методом найти как проставить маркировку вводной линии щита и источник откуда она приходит (сейчас есть марка и сечение кабеля + его длина) - безуспешно. Но ведь в свойствах каждой линии есть эта информация. Возможно ли это добавить в код или ткнуть меня носом, где это можно подправить? Спасибо.
sasha_proekt вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Автоматическая маркировка кабельных линий и составление КЖ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расценки на проектирования кабельных линий ИгорьН Прочее. Архитектура и строительство 0 05.09.2016 15:08
Как удалить тип линии Tolyanovich AutoCAD 48 20.11.2014 09:24
Автоматическая маркировка дверей в AutoCAD Architecture Rombler Вертикальные решения на базе AutoCAD 2 11.11.2013 18:05
Зачем кладут "катанку" сталь круглую 6 мм в резервные трубы при прокладке кабельных линий в земле? Mustanger72 Электроснабжение 11 02.08.2013 07:22
Электрика: Транспозиция экранов одножильных кабелей для кабельных линий 6-10 кВ в земле. mistasn Электроснабжение 1 15.01.2010 14:07