| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
20.03.2010, 10:24 | #1 | |
Автоматический выбор объектов в последовательном порядке.
Регистрация: 20.03.2010
Сообщений: 11
|
||
Просмотров: 5266
|
|
||||
Регистрация: 20.03.2010
Сообщений: 11
|
В чертеже площадные объекты, рядом с ними номера. Их нужно выбирать в таком порядке в каком они пронумерованы, без разницы, справа налево или слева направо, главное чтобы по цепочке шел выбор как в примере. Чтобы совершить импорт в стороннюю программу нужно чтобы объекты были выделены в правильном порядке в самом автокаде, после того как они выбраны не закрывая автокад перехожу в сторонню программу и там делаю импорт, то есть программа соображает что в автокаде выделены в данный момент площадные объекты и импорт происходит в таком порядке в каком я их выбрал, этот порядок очень важен для дальнейшей обработки в этой сторонней программе. Приходится каждый раз их так вручную выбирать по одному друг за другом, что очень долго, возможно было бы просто проводить направление выбора каким то образом или что то тому подобное.
Заранее спасибо! |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Цитата:
|
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Решил было попробовать написать код, но осекся:
1) в некоторых местах нумерация сбивается с ритма "сверху-вниз-слева-направо". Это наводит на мысль, что все опоры должны быть соединены линией (а иначе зачем они нужны? ), и нумеруются именно в порядке следования по ней. Будет ли на чертеже эта линия (лучше всего, представленная полилинией)? Если нет, то прога не имеет смысла, т. к. никто кроме тебя не может знать порядок следования в узловых точках и ответвлениях. 2) нумерация поставлена только для примера или действительно присутствует в чертеже? Является ли она результатом работы таинственной проги, или проставляется до ее запуска? В принципе, она может быть проставлена по результатам выполнения п. 1. 3) могут ли опоры быть представлены блоками с атрибутами, отображающими нумерацию, а не просто полилиниями с отдельно стоящим текстом? Это упростило бы задачу по п. 2. |
|||
|
||||
Регистрация: 20.03.2010
Сообщений: 11
|
1) в принципе они должны быть соединены линией, но не обязательно, просто последовательность должна быть примерно друг за другом, а опоры это я сам пронумеровал для примера чтобы было примерно понятно в каком порядке они должны выбираться. И для меня не важно с какой стороны начинать выбор главное чтобы он примерно шел от одного конца линии к другому. В примере она начинается с левого конца, на самом деле если мне захочется я могу выбирать с правого конца и не придерживаться строгой последовательности при этом, главное чтобы следующая выбранная опора была рядом с предыдущей ну и если идет ответвление то нумерация пойдет до конца ответвления а потом продолжится снова по главной линии.
2) Нумерация проставлена для примера 3) Опоры не рекомендуется представлять в виде блоков с атрибутами, так как блоки не импортируются в программу. Последний раз редактировалось Terminator637, 22.03.2010 в 19:56. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Лови код. сырой и примитивный. Сортировка (для начала) справа налево.
Ответвления обрабатываются некорректно. Код:
Последний раз редактировалось kp+, 25.03.2010 в 14:29. |
|||
|
||||
Регистрация: 20.03.2010
Сообщений: 11
|
Спасибо огромнейшее! Протестировал Ваш код. В программу всё импортируется в таком порядке в каком показано линиями, выбор происходит с подсвечиванием ручками как и требовалось, просто насколько я знаю у автокада есть еще другой режим выбора когда ручками не подсвечивается ничего, а просто контур выделяется пунктиром, независимо от количества выбранных объектов, а программа не видит выделенных объектов если они не подсвечены именно ручками. Если линия из объектов горизонтально протянута, то в принципе можно пользоваться и этим кодом. А если вертикально или смешанно, то конечно уже не то получается. Вообще если бы при выборе последующего сегмента линии предлагалось выбирать направление выбора, то любую линию можно было бы просто выбирать по сегментам, потому что полностью автоматически это наверно слишком сложно будет реализовать. Ну а насчет ответвлений да, действительно некорректность наблюдается, что связано с фиксированным порядком выбора, ну вы это и сами знаете
Последний раз редактировалось Terminator637, 25.03.2010 в 13:41. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Чтобы сортировать по вертикали, надо помеченное красным заменить на
Код:
Выбор по сегментам можно добавить. Будет время - сделаю. Более серьезную автоматизацию - тоже можно, но, понятно, далеко не сразу. Последний раз редактировалось kp+, 25.03.2010 в 14:45. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
FILTER / фильтр | BM60 | Справочник команд | 0 | 08.07.2008 15:35 |
Выбор объектов с учетом XData (VBA) | e_v_a | Программирование | 2 | 23.08.2007 13:32 |
Выбор объектов в VBA | Бродяга | Программирование | 19 | 12.03.2007 09:33 |
Выбор объектов подобных данному | DEM | AutoCAD | 7 | 05.06.2005 13:40 |