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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Извлечение атрибутов одной кнопкой

Извлечение атрибутов одной кнопкой

Ответ
Поиск в этой теме
Непрочитано 09.09.2011, 09:50 #1
Извлечение атрибутов одной кнопкой
Trasher
 
Регистрация: 08.07.2008
Сообщений: 118

Подскажите пожалуйста!
С коллегой на пару сейчас делаем большую базу дин блоков для последующего составления монтажных схем. В блоках есть ключевые атрибуты (те что попадут в спецификацию) и вспомогательные (для личного пользования скажем). При нажатии "Извлечение атрибутов" появляется мастер извлечения, в котором мы указываем из каких блоков извлекать, какие атрибуты (а так как блоки динамические, то извлечь предлагается множество ненужных параметров), а в конце можно сохранить шаблон этого извлечения. Собственно вопрос такой: возможно ли создать такую кнопку (макросом видимо), которая по уже имеющемуся шаблону сразу выдаст готовую табличку значений атрибутов. Вцелом с макросами что и как понятно, но в данном случае работа идет с "мастером" и как быть - ума не приложу...
Просмотров: 6702
 
Непрочитано 09.09.2011, 10:01
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Ну раз вопрос в программировании, и нужно извлекать атрибуты, то есть старая добрая команда _-ATTEXT, которая позволяет извлекать атрибуты в файл по выбранным критериям на основе шаблона в формате CDF или SDF. Описание шаблона ( Extract Block Attribute Data (Advanced) )
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 09.09.2011, 10:46
#3
Trasher


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


На сколько я понял, команда _-ATTEXT выведет мне инфу согластно шаблона или в *.тхт или в *.dxx. Текстовый вариант не подходит - сложно будет перенести в табличку. dxx не сильно разобрался, но как я понял, что инфа будет в табличке автокада, а нам еще в эксель надо бы, поэтому и пытюсь макросом "упростить" работу с _eattext
Trasher вне форума  
 
Непрочитано 09.09.2011, 11:15
#4
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Почитай Extract Data from Block Attributes. TXT - это условно. CDF - это Comma-delimited format., t.е. csv. Инструкциями
Цитата:
C:QUOTE c (Character string delimeter)
C:DELIM c (Field delimeter)
можно сделать получение csv файла. Файл будет с расширение txt, но по содержанию csv. Переименовав в csv напрямую откроешь в Excell
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 09.09.2011 в 11:23.
VVA вне форума  
 
Автор темы   Непрочитано 09.09.2011, 14:13
#5
Trasher


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


Пока писал очередной ответ, в голову пришло рещение!)
Я в макросе использовал команду _eattext, а надо было _-eattext. Все заработало!
Итого команда получилась: ^C^C_-eattext;ш;C:/Documents and Settings/K/Рабочий стол/шаблон1.blk;;
"Ш" в коменде означает что работа идет по шаблону, акад русский.

Спасибо, что натолкнули на путь истинный!

Рано радуюсь...
Вот еще чего придумал: Если создать шаблон извлечения атрибутов в файл экселя через "мастер извлечение атрибутов", то к сожаленью, шаблон все время будет сохранять данные в один и тот же файл, т.е. будет перезаписывать его. Я же хочу естесственно, что бы каждый раз я сам задавал имя нового экселевского файла. Для этого хочу в свой макрос в конец добавить экспорт в формат CSV, но что-то не выходит. Должно получиться так, что одной командой мы сначала получаем таблицу (это слава богу уже работает), и сразу делаем ее экспорт в csv. Это вообще возможно? ^C^C_-eattext;ш;C:/Documents and Settings/K/Рабочий стол/шаблон1.blk;;_экспорттабл

Последний раз редактировалось Trasher, 09.09.2011 в 14:29.
Trasher вне форума  
 
Непрочитано 09.09.2011, 14:22
#6
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


_-eattext сразу запрашивает шаблон. Поэтому "Ш" лишняя. Из меню со слэшами могут быть всякие сюрпризы, поэтому рекомендую такую запись
Цитата:
^^C^C_-eattext;(findfile "C:/Documents and Settings/K/Рабочий стол/шаблон1.blk");;
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 09.09.2011, 15:07
#7
Trasher


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


У меня такой метод на работает, т.к. по умолчанию предлагает извлечь из текущего файла. Ну это ладно.
А вот как автоматизировать экспорт... я понял где у меня еще ошибка. Прежде чем экспортировать, табличку ее нажно вставить на чертеж и выделить! Вот такие операции мне пока неподвластны(

Вот это уже похоже на то, что я ожидаю
^C^C_-eattext;ш;C:/Documents and Settings/K/Рабочий стол/шаблон1.blk;;\_tableexport
Но перед последней командой _tableexport явно нужно вставить команду выбора последнего вставленного элемента... need help

Последний раз редактировалось Trasher, 09.09.2011 в 16:23.
Trasher вне форума  
 
Непрочитано 22.01.2017, 15:00
#8
x1076


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


Уважаемые коллеги! Помогите пожалуйста с командой _eattext или _-eattext!
Autocad 2007. Английский.
Использую только один файл .blk , который извлекает атрибуты из динамических блоков нескольких типов в файл Excel (тоже один и тот же). В связи со спецификой задачи операцию приходится повторять много десятков раз, меняя какие то параметры блоков. Очень напрягает, что приходится проходить всю цепочку по выбору template-файла и кучу подтверждений. никак не удается запустить командную строку, типа указанных выше - в основном спотыкается на выборе файла...
Вот такой последний вариант: ^^C^C_-eattext;(findfile "C:/Users/ivan/YandexDisk/AvtoPoliv/Sprinklers.blk");;
Мне надо чтоб просто обрабатывал уже выбранные блоки!
x1076 вне форума  
 
Непрочитано 24.01.2017, 11:34
#9
kp+

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


Цитата:
Сообщение от x1076 Посмотреть сообщение
Очень напрягает, что приходится проходить всю цепочку по выбору template-файла и кучу подтверждений....Мне надо чтоб просто обрабатывал уже выбранные блоки!
А не проще задать извлечению данных вывод в таблицу Акада? Если блоки все одни и те же - она будет обновляться (автоматически или по запросу). Экспорт во внешний файл - два щелчка мышью. Единственній минус - экспорт будет в формат csv, с которым Excel работает через два раза на пятый
kp+ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Извлечение атрибутов одной кнопкой

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Извлечение атрибутов в файл Excel Kotsar AutoCAD 5 20.03.2014 14:44
Извлечение атрибутов из блоков в список proektant-minsk Программирование 10 28.01.2012 13:10
Извлечение значений атрибутов блоков AutoCAD Electrical с помощью AutoLisp zaraki_kenpachi LISP 16 19.02.2011 15:30
Извлечение атрибутов блока и вставка атрибутов в формулу andery AutoCAD 38 15.06.2009 02:39