|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.09.2014, 15:50 | #1 |
Пользователь
Регистрация: 05.06.2010
Сообщений: 53
|
перемещение блоков в автокаде используя excel vba
Вновь обращаюсь к ВАМ за помощью. Пытаюсь немножко автоматизировать процесс построения чертежей используя excel.
Есть .dwg-файл , где располагаются несколько блоков. Хочу один блок (со всеми атрибутами) переместить на новое место. Как мне это сделать? Конечно, я знаю команду move(откуда, куда). Но не получается переместить блок. Нужно как-то найти определенный блок (скорее всего по elem.handle) и указать нужную точку. На данный момент у меня получается просто вставить блок, подобный какому-нибудь, в определенное место, НО без атрибутов. Пожалуйста, подскажите |
27.09.2014, 16:15 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Kefirrr, на ошибках не учимся.
Анализ,обработка данных Недорого
|
27.09.2014, 16:19 | #3 |
Пользователь
Регистрация: 05.06.2010
Сообщений: 53
|
закинула версию 2004 autocad-а
|
27.09.2014, 19:37 | #4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Всё тот же принцип поиска блока.
Код:
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 27.09.2014 в 19:40. |
30.09.2014, 06:55 | #5 |
Пользователь
Регистрация: 05.06.2010
Сообщений: 53
|
Все работает, спасибо.
Только единственное, что я не могу понять, почему используется команда insertblock? а блок перемещается. Из-за того, что вставляется именно определенный блок? Туплю страшно, но очень хочется понять, если не сложно, можете последние строчки объяснить |
30.09.2014, 13:26 | #6 | |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Цитата:
В базе данных все примитивы и объекты хранятся с ключом ID. Объект же можно найти и по координатам,что я и делал. Есть блок,все его свойства хранятся в объекте типа AcDbBlockReference. InsertionPoint-это координаты точки расположения блока на чертеже. Это свойство блока.Меняя координаты точки положения-мы меняем положение блока на чертеже. Команды здесть нигде не используются. Если вам надо,я могу привести здесь пример использования хендла объекта и команды автокада
Анализ,обработка данных Недорого
|
|
01.10.2014, 15:49 | #7 |
Пользователь
Регистрация: 05.06.2010
Сообщений: 53
|
Doober, спасибо, что разъяснили в чем я заблуждалась.
Если не сложно, можете привести какие-нибудь примеры с Handle, чтобы иметь небольшое представление |
01.10.2014, 17:26 | #8 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Поиск на листах Автокада внедренных листов Excel,открытие их по очереди.
Анализ,обработка данных Недорого
|
01.10.2014, 22:55 | #9 |
Пользователь
Регистрация: 05.06.2010
Сообщений: 53
|
Doober, простите, что вновь к Вам обращаюсь, надеюсь вы подскажите в чем ошибка.
у меня есть файл с несколькими блоками, эти блоки мне нужно расположить определенным образом. я для каждого блока прописываю нужную координату, а затем(пользуясь кодом, который вы подсказали) хочу переместить на свое место. Все работает, но почему-то некоторые блоки наслаиваются на другие блоки (хотя их координаты разнятся). Я решила сделать промежуточное перемещение, чтобы проанализировать какие блоки не туда перемещаются,но и при промежуточном такая же фигня получается. Если не сложно- посмотрите плиз. У меня есть предположение, что дело в самих блоках, но что именно с ними, не знаю |
02.10.2014, 04:20 | #10 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
У вас ошибка есть,нижние блоки остаются на местах.
Подкрасил повторы красным. С вашего разрешения удалил лишние листы и модули с кодом. Применил свой подход. Я долго не мог понять,что должно в итоге получиться. В результате отсортировал блоки по индексу. И немного уменьшил количество сторок кода Вы такой результат ожидали?
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 02.10.2014 в 16:44. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Совместимость Excel 2007 VBA - Excel 2010 VBA | Genas | Microsoft Office Excel | 2 | 28.11.2012 15:33 |
VBA autocad БД динамичных блоков | shutup | Фриланс | 2 | 05.12.2011 11:23 |
по VBA, используя МАКРОРЕКОДЕР! | avensis | Помощь студентам | 3 | 11.06.2011 08:23 |
по VBA, используя МАКРОРЕКОДЕР! | avensis | Microsoft Office Excel | 6 | 11.06.2011 08:13 |
Чертежи в автокаде | Lemo | Фриланс | 4 | 02.06.2010 06:37 |