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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Макрос VBA Excel для извлечения таблиц из линий, полилиний, текста из DWG файлов в Excel с помощью NanoCAD/AutoCAD

Макрос VBA Excel для извлечения таблиц из линий, полилиний, текста из DWG файлов в Excel с помощью NanoCAD/AutoCAD

Ответ
Поиск в этой теме
Непрочитано 11.07.2016, 12:09 1 | #1
Макрос VBA Excel для извлечения таблиц из линий, полилиний, текста из DWG файлов в Excel с помощью NanoCAD/AutoCAD
JZY
 
Инженер-проектировщик
 
Омск
Регистрация: 30.06.2016
Сообщений: 3

Если Ваши таблицы, спецификации сделаны с помощью линий, полилиний, текста, то для исключения ручного копирования содержимого в ячейки Excel подойдет специальный файл Excel с макросом.
Порядок работы следующий:
1. Скачайте архив и откройте файл “Extract_Line_Tables_from_DWG_to_Excel_NanoCAD.xlsm”, либо “Extract_Line_Tables_from_DWG_to_Excel_AutoCAD.xlsm” который содержит необходимый макрос Excel.
2. Для пользователей Nanocad:
После открытия файла Excel нажмите “ALT+F11”, откроется редактор Microsoft Visual Basic for Application, выберите в меню “Tools - References”, и добавьте в список галочки:
“nanoCAD Type Library (NCAuto.dll)”
“OdaX Type Library (OdaX_csd.dll)”,
нажмите OK.
Для пользователей AutoCAD:
После открытия файла Excel нажмите “ALT+F11”, откроется редактор Microsoft Visual Basic for Application, выберите в меню “Tools - References”, и добавьте в список галочки:
“AutoCAD YYYY Type Library” (acaxXXenu.tlb),
где YYYY – год Вашей версии AutoCAD, XX – 21, 20, 19,…(номер версии);
“AutoCAD Focus Control for VBA Type Library” (AcFocusCtrlXX.dll);
“AXDBLib” (axdbXXenu.tlb),
3. Закройте редактор Microsoft Visual Basic for Application.
4. Включите поддержку макросов в Excel
https://support.office.com/ru-ru/art...1-9efe4f860b12
5. Скопируйте все Ваши DWG файлы в ту же папку, что и файл с макросом Excel. Ваши DWG файлы должны содержать таблицы, созданные с помощью линий, полилиний, текста.
6. Нажмите “ALT+F8” для запуска макроса “Extract_Line_Tables_from_DWG_To_Excel_NanoCAD”, либо “Extract_Line_Tables_from_DWG_to_Excel_AutoCAD.xlsm”.
7. Макрос откроет Ваше CAD приложение и просканирует все таблицы, созданные с помощью линий, полилиний, текста во всех DWG файлах. Таблицы с каждого нового листа файла DWG будут расположены на отдельных листах файла Excel с макросом.

Возможности макроса и ограничения:
а) Максимальное число DWG файлов для сканирования – 1000.
б) Нет ограничений на количество таблиц на одном листе, либо листах в DWG файлах. Если на одном листе расположено несколько таблиц, то их расположение на листе будет зависить от их координат в DWG файлах.
в) Внешний контур каждой таблицы должен быть замкнут.
г) Каждая ячейка таблицы в DWG файле должна быть прямоугольной, ступенчатые ячейки приведут к ошибкам обработки.
д) Весь найденный текст в ячейках таблиц DWG файла будет расположен в ячейках Excel в порядке сверху вниз.
е) Все таблицы в DWG файлах должны быть созданы с помощью примитивов - линий, полилиний (2D полилиния), Текст, МТекст.
ё) Если ваши таблицы созданы из блоков линий, полилиний, расчлените их перед запуском макроса.
ж) Если текст в Ваших таблицах создан с помощью блоков из примитивов Текст, МТекст, также расчлените их перед запуском макроса.
з) Макрос “Extract_Line_Tables_from_DWG_To_Excel” поддерживает сканирование объединенных ячеек в DWG файлах с корректным выводом в Excel.
и) Макрос извлечет текстовые данные даже если не установлены необходимые файлы шрифтов SHX, в Вашей CAD программе вместо текста отображаются символы “?????????”.
й) Весь текст из DWG файлов будет скопирован в ячейки Excel со свойством «Текст»
к) Все форматирование текста будет очищено в соответствии с указанной спецификацией:
https://knowledge.autodesk.com/suppo...E5967-htm.html

Внутри архива две версии макроса: NanoCAD и AutoCAD.
Код макроса открытый, доступен по “ALT+F11”. Принимаются пожелания, замечания, отзывы и т.д.

Вложения
Тип файла: zip Extract_Line_Tables_from_DWG_to_Excel.zip (142.9 Кб, 417 просмотров)


Последний раз редактировалось JZY, 12.07.2016 в 06:52. Причина: Обновление архива - исправление ошибки работы с полилиниями
Просмотров: 11445
 
Непрочитано 11.07.2016, 17:09
#2
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


у нанокада же встроенная функция есть "распознавание таблиц"
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 11.07.2016, 19:22
#3
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


какой треш
trir вне форума  
 
Непрочитано 11.07.2016, 20:55
#4
dim07

инженер-конструктор
 
Регистрация: 09.10.2007
Николаев
Сообщений: 44


да и в автокадовском спсд есть распознавание таблиц
__________________
На самом деле мы знаем больше, чем думаем
dim07 вне форума  
 
Непрочитано 11.07.2016, 21:15
#5
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


https://habrahabr.ru/post/278765/
trir вне форума  
 
Автор темы   Непрочитано 12.07.2016, 07:13
#6
JZY

Инженер-проектировщик
 
Регистрация: 30.06.2016
Омск
Сообщений: 3


Цитата:
Сообщение от swell{d} Посмотреть сообщение
у нанокада же встроенная функция есть "распознавание таблиц"
Все верно, только в версии NanoCAD СПДС. Макрос ориентирован и на Free версию также

Цитата:
Сообщение от trir Посмотреть сообщение
какой треш
Сижу, учусь программировать.
Цитата:
Сообщение от trir Посмотреть сообщение
https://habrahabr.ru/post/278765/
Спасибо за ссылку на Хабр.

Цитата:
Сообщение от dim07 Посмотреть сообщение
да и в автокадовском спсд есть распознавание таблиц
Почти не знаком с СПДС AutoCAD.
Спасибо, буду знать.

Обновил архив с файлами. Пока устранил ошибку разбиения полилинии на сегменты.
Если модератор сочтет нужным, можете удалить тему.
Закину макрос в раздел Download.
JZY вне форума  
 
Непрочитано 12.07.2016, 17:21
#7
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Цитата:
Сижу, учусь программировать.
http://www.ozon.ru/context/detail/id/3997598/
trir вне форума  
 
Непрочитано 13.07.2016, 08:09
#8
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 7,097


Спасибо, применения пока не нашлось. Проделана большая работа.
Да, в автокадовском СПДС есть инструмент распознавания таблиц.
Макрос полезный для организации работы с файлами, и другими кусками... мб для случая обработки информации "чужих чертежей.
v.psk вне форума  
 
Автор темы   Непрочитано 14.07.2016, 06:31
#9
JZY

Инженер-проектировщик
 
Регистрация: 30.06.2016
Омск
Сообщений: 3


Цитата:
Сообщение от v.psk Посмотреть сообщение
Спасибо, применения пока не нашлось. Проделана большая работа.
Да, в автокадовском СПДС есть инструмент распознавания таблиц.
Макрос полезный для организации работы с файлами, и другими кусками... мб для случая обработки информации "чужих чертежей.
Спасибо за Ваш отзыв! Как раз макрос и был написан для извлечения таблиц из чужих DWG файлов 2006 года, порядка 60 листов. С небольшими ручными правками текста в таблицах и использованием макроса управился с работой за 3-4 часа.
JZY вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Макрос VBA Excel для извлечения таблиц из линий, полилиний, текста из DWG файлов в Excel с помощью NanoCAD/AutoCAD

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Подсчет Блоков и Динамических блоков с учетом visibility (видимости) и сумму длин линий, полилиний по слоям и вывод результатов в Ecxel Andrey_nadym Программирование 18 07.01.2014 01:42
програмки в Excel для отрисовки полилиний в AutoCAD Тох@ Программирование 5 22.11.2012 16:38
Как набор линий (отрезков) либо полилиний превратить в 3М тело? Aleksandr907 AutoCAD 2 13.08.2010 12:29