|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как выделить отдельные ветви электроцепи с помощью VBA? Автокад 2012.
Регистрация: 16.09.2020
Сообщений: 15
|
||
Просмотров: 7807
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,238
|
По-моему, через чистый VBA выполнить выделение не получится. И что-то у меня подозрения, что надо работать не с ACAD, а с ACAD Electrical.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 10,459
|
Чтобы выделить - должны быть заданы взаимосвязи между элементами: слой, XData, группа и т.д. Либо пытайтесь искать ближайшие подходящие элементы по вертикали. Сам акад ничего не знает о схеме, и, соответственно, не сможет выдать никакой информации для выделения.
|
|||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 210
|
Цитата:
Я электрик, но я ничего не понял. Зачем вам выделять электрическую цепь, если у Вас несовпадение в виде динамического блока - и атрибута который прописан. Не надо трогать провода. |
|||
![]() |
|
||||
Регистрация: 16.09.2020
Сообщений: 15
|
Цитата:
Цитата:
Цитата:
Работаю с тем, что есть. Последний раз редактировалось deaf red, 29.10.2020 в 14:52. |
|||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 210
|
Плохо понятно. Объясните на пальцах. Что Вы понимаете под присоединением? И зачем Вам видеть все присоединение? Относительно чего программа должна понять что блок находится не в нормальном состоянии, относительно одного из атрибутов или относительно того что происходит в других местах электрической схемы?
|
|||
![]() |
|
||||
Регистрация: 16.09.2020
Сообщений: 15
|
Присоединение
– электрическая цепь (оборудование и шины) одного назначения, наименования и напряжения, присоединенная к шинам РУ, генератора, щита, сборки и находящаяся в пределах электростанции, подстанции и т. п. Электрические цепи разного напряжения одного силового трансформатора (независимо от числа обмоток), одного двухскоростного электродвигателя считаются одним присоединением. В схемах многоугольников, полуторных и т. п. схемах к присоединению линии, трансформатора относятся все коммутационные аппараты и шины, посредством которых эта линия или трансформатор присоединены к РУ. А если на пальцах, то, например, от шин щита отходит рубильник, от рубильника идут шины к предохранителям, далее -- пускатель, далее -- электродвигатель. Это и есть присоединение. Цитата:
Это нужно чтобы знать в каком присоединении произошли отклонения от нормальной схемы. Потом этот кусочек схемы пойдет в другой файл. |
|||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 210
|
Задача, конечно своеобразная, но я думаю что решаемая. Я бы стал решать на С#.net, но думаю VBA тоже должно хватить.
Что нужно что бы выделить электрическую цепь, как я вижу решение, а я подобное уже решал: 1. Шины должны быть выделены, скорее всего лучше сделать жирной полилинией и дать атрибут, если так нельзя то поместить на определенный слой 2. Внутрь каждого динамического блока поместите еще один блок с именем "connector". 3. Все провода лучше сделать полилиниями, так будет быстрее сделать, но и отрезки тоже можно. Все провода будут начинаться на коннекторе и на коннекторе заканчиваться. 4. Организуете перебор, находите неправильный динамический блок -> ищете внутри него коннекторы -> организуете перебор всех отрезков(полилиний) ищем ту у кого начало/конец лежит в координате коннектора - > ищем другой конец и то что на той стороне находится и тд пока не дойдете до ШИНЫ или не упретесь в двигатель. По ходу сохраняйте координаты движения, габариты устройств что бы их обвести красной линией. |
|||
![]() |
|
||||
Регистрация: 16.09.2020
Сообщений: 15
|
veb86, извините, я наверное вас запутал своим неправильным объяснением. Под выделением я имел ввиду выбор, как например секущей рамкой выбрать элемент чертежа. Т.е. я нашел блок, и выбрал всю линию, связанную с этим блоком. Мне не нужно было ее обводить, просто выбрать. Как через БВЫБОР.
|
|||
![]() |
|
||||
Регистрация: 23.04.2016
Сообщений: 4
|
Возможно это поможет http://vbamodel.narod.ru/AutoCAD/idh_select.htm
|
|||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 210
|
Цитата:
А так если вы хотите городить программу через постоянный выбор секущей рамкой и перебор того чего в него попал, с последующей опять выбор сек рамкой. То это очень медленно и запутанно. Проще один раз собрать в список все устройства и узловые точки проводов. И их быстренько перебрать. Будет проще и быстрее |
|||
![]() |
|
||||
Регистрация: 16.09.2020
Сообщений: 15
|
В итоге группировка -- хорошее решение. Но как группу или даже несколько отдельных групп скопировать в буфер обмена через ВБА? Это нужно, чтобы вставить группу как часть чертежа в ворд через специальную вставку. Как я понял, группы не добавляются в SelectionSet.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 10,459
|
Цитата:
Может быть, давно уже акадовский VBA не использовал. Но что мешает создать пустой набор, получить AcadGroup и в цикле занести данные из AcadGroup в набор? |
|||
![]() |
|
||||
Регистрация: 16.09.2020
Сообщений: 15
|
Скриншот -- не совсем то, что нужно. Нужны чертежи с белым фоном, как получается при спец.вставке -> рисунок(метафайл виндоуз).
Цитата:
При этом с группами не получается провернуть CopyToClipboard или PutInClipboard не помню уже точно как пишется. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как выделить всю штриховку с помощью Командной строки? | G1SG1SG1S | AutoCAD | 14 | 18.01.2018 11:04 |
Как правильно настроить Автокад 2012 ( Штриховки и Вставку растра) | Tornado | AutoCAD | 5 | 03.12.2014 13:43 |
Окно свойств открывается поверх командной строки и области рисования. Автокад 2012. | Баловник | AutoCAD | 6 | 10.12.2012 17:26 |
Ошибка при работе с чертежем сделанным в учебной версии автокад. | Raison | AutoCAD | 1 | 16.11.2012 09:11 |
Проблема с переустановкой A-CAD 2012 и Civil 3D 2012 | black_mts | AutoCAD | 1 | 24.11.2011 12:24 |