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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Выгрузить XData в csv (txt)

Выгрузить XData в csv (txt)

Ответ
Поиск в этой теме
Непрочитано 10.07.2021, 22:20 #1
Выгрузить XData в csv (txt)
АлексЮстасу
 
топограф, технолог
 
Москва
Регистрация: 24.05.2009
Сообщений: 3,031

Пытался найти экспорт содержания XData в csv, txt.
Нашел лисп Renseignements-XDATA.lsp с командой XdataXL, выгружающей XData в csv для указанных объектов.
И нашел лисп WXD_XData-Excel.lsp, команда WXD, выгружающий указанный Application в открывающийся Excel для указанных объектов.
Но оба выгружают не все из XData. Пропускают какие-то данные, выгружают, допустим, из "Code 1010, 3 real numbers" в нечитаемом виде.

Можно ли какой-то из этих лиспов модифицировать, чтобы выгружал в csv все данные из Application?
Лучше всего для выделенных до/после объектов в духе ATTOUT из Express: с HANDLE объектов, с названиями колонок из типов данных ("ASCII_string", "3_real_numbers", "Real_number", "16-bit_integer" и т.п.).
Можно, допустим, без выбора Application - выгружать все XData у выбранных объектов, каждый в свой csv с названием из названия dwg&appname.

Вложения
Тип файла: lsp Renseignements-XDATA.lsp (4.9 Кб, 63 просмотров)
Тип файла: lsp WXD_XData-Excel.lsp (2.7 Кб, 57 просмотров)

__________________
количество моих сообщений не говорит о знании Автокада
Просмотров: 21554
 
Непрочитано 10.07.2021, 22:52
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,839


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Можно ли какой-то из этих лиспов модифицировать, чтобы выгружал в csv все данные из Application?
Можно. Модифицируй. Если что - вали на меня, типа я разрешил.
Offtop: Код (по первому просмотру) не то чтобы очень сложный (и не сильно дураказащищенный), так что меняй.
P.S. Я у себя на сайтике делал альтернативный варинат attin / attout, можешь забирать.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 11.07.2021, 00:22
#3
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Можно. Модифицируй. Если что - вали на меня, типа я разрешил.
Грешно смеяться над больными людьми.
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Я у себя на сайтике делал альтернативный варинат attin / attout, можешь забирать.
Для атрибутов или для XData?
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 11.07.2021 в 00:30.
АлексЮстасу вне форума  
 
Непрочитано 11.07.2021, 00:29
#4
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Можно ли какой-то из этих лиспов модифицировать, чтобы выгружал в csv все данные из Application?
Лучше написать .net плагин по мотивам этого лиспа специально для этого. А можно для выгрузки в проприетарный .xlsx
румата вне форума  
 
Автор темы   Непрочитано 11.07.2021, 00:33
#5
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от румата Посмотреть сообщение
Лучше написать .net плагин
К лисп я сейчас склоняюсь, т.к. это и по его возможностям, и чтобы не зависеть от версий AutoCAD.
Но почему нет...
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 11.07.2021, 01:29
#6
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


Цитата:
Сообщение от румата Посмотреть сообщение
Лучше написать .net плагин по мотивам этого лиспа специально для этого.
специально для чего? У ТС уже не первый год навязчивая идея фикс - что кто-то будет использовать XData для массового обмена информацией...
Сергей812 вне форума  
 
Непрочитано 11.07.2021, 08:54
#7
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
специально для чего?
Как раз для массового обмена информацией XData.
румата вне форума  
 
Непрочитано 11.07.2021, 09:33
#8
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


Цитата:
Сообщение от румата Посмотреть сообщение
Как раз для массового обмена информацией XData.
XData - это просто потоковый контейнер значений, единственным отличительным идентификатором которых является имя приложения. А массовый обмен информации подразумевает гибкую структуру данных, которая подстраивается под возникающие в процессе работы новые потребности.

Вот лежит БД на диске - она может быть размерами в гигабайты и даже терабайты, но путем запроса из нее получаешь лишь небольшой объем конкретно необходимых в данный момент данных. A XData: чтобы получить хоть одно значение - надо загрузить полностью файл *.dwg в память, найти по определенным критериям примитив(ы) с необходимыми присоединенными данными и при этом еще правильно интерпретировать последовательность данных в контейнере XData.
Сергей812 вне форума  
 
Непрочитано 11.07.2021, 09:42
#9
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Сергей812, все верно. Тем не менее XData вполне можно использовать для обмена дополнительной информацией без создания дополнительных структур и баз данных.
румата вне форума  
 
Непрочитано 11.07.2021, 09:55
| 1 #10
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


Цитата:
Сообщение от румата Посмотреть сообщение
Тем не менее XData вполне можно использовать для обмена дополнительной информацией без создания дополнительных структур и баз данных.
можно все - но для большинства пользователей формата *.dwg (как самого акада, что его альтернатив) XData - абсолютно бесполезный ввиду недоступности в явном виде) Если, конечно, сделать нормальный ГУИ с набором функций обработки данных - то и такой костыль найдут куда приспособить. Только делать костыль ради костыля
Сергей812 вне форума  
 
Непрочитано 12.07.2021, 08:27
| 1 #11
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
У ТС уже не первый год навязчивая идея фикс - что кто-то будет использовать XData для массового обмена информацией...
Лет через ХХ он откроет для себя базы данных. Может быть...
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 13.07.2021, 01:11
#12
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Обычная просьба к программистам помочь с конкретной задачей. Примерно такой же, как выгрузка содержания атрибутов в csv, как ATTOUT.
Прошу помочь с программой экспорта содержания XData в csv.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 13.07.2021, 07:04
#13
nickname2019


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Обычная просьба к программистам помочь с конкретной задачей. Примерно такой же, как выгрузка содержания атрибутов в csv, как ATTOUT.
Прошу помочь с программой экспорта содержания XData в csv.
Вы можете сформулировать, какого функционала Вы собираетесь добиться, выводя XData в csv?
Вы собираетесь сделать в экселе спецификации по модели в DWG?
Вы собираетесь связать эксель с моделью dwg, чтобы при изменении екселя менялась автоматически модель dwg?
Сам факт вывода XData в csv не имеет практического смысла, так как эти данные с успехом можно обрабатывать внутри базы данных dwg, не подключая промежуточный файл csv.
nickname2019 на форуме  
 
Непрочитано 13.07.2021, 08:04
#14
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>Сам факт вывода XData в csv не имеет практического смысла
Почему не имеет та? иногда надо. если в импорт+экспорт = вообще красота
zamtmn вне форума  
 
Непрочитано 13.07.2021, 08:40
#15
nickname2019


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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Почему не имеет та? иногда надо. если в импорт+экспорт = вообще красота
Offtop: Напомнило .Приходит мужик в овощной магазин:
- У вас морква есть?
Продавщица:
- Есть.
- Тогда 2 штуки, пожалуйста.
Она продает ему две морковки он вставляет их в уши и убегает.
На следующий день:
- У вас морква есть?
Продавщица:
- Есть.
- Тогда 2 штуки, пожалуйста.
Она продает ему две морковки он вставляет их в уши и убегает.
Так продолжается и на следующий день. Продавщица офигивает и в очередной
раз на вопрос есть ли морква, отвечает нет.
Мужик:
- А свекла есть?
Она:
- Есть.
- Тогда 2 штуки, пожалуйста.
Продавщица дает ему 2 свеклы, мужик ее тоже в уши вставляет. Продавщица
не выдерживает:
- А можно поинтересоваться, чтой то вы всякую х.. ню в уши вставляете?
На что мужик:
- А что, морква есть?

Ответа на вопрос "зачем" я пока так и не понял. Подозреваю, что есть пути решения без XData.
nickname2019 на форуме  
 
Непрочитано 13.07.2021, 09:25
#16
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Почему не имеет та? иногда надо. если в импорт+экспорт = вообще красота
Ну была бы написана уже такая программа, если реально нужда была) Встроенные attin / attout и аналог от Алексея, работа со свойствами динблоков от Boxa, работа с пользовательскими свойства документов от azetown и т.д. - есть конкретная задача и есть какой то вариант ее решения.

----- добавлено через ~14 мин. -----
Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Ответа на вопрос "зачем" я пока так и не понял
да сам ТС не знает - зачем, похоже. Он зациклился на одной промежуточной чисто технической задаче по хранению данных в XData и выпал из реальности)
Сергей812 вне форума  
 
Автор темы   Непрочитано 13.07.2021, 15:08
#17
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от zamtmn Посмотреть сообщение
если в импорт+экспорт = вообще красота

Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Вы можете сформулировать, какого функционала Вы собираетесь добиться, выводя XData в csv?
1. Посмотреть в целом, какие данные в XData есть, каких нет.
2. Для отчетов, экспликаций и т.п.
3. Заполнить-заменить значения другими средствами - в Excel или т.п. (Для обратной загрузки).
4. Для загрузки в атрибуты блоков ATTIN.
5. Для передачи данных в другие средства их хранения. В вертикальных приложениях, в словарях или т.п.
6. Для сохранения данных.

Есть лисп-программы экспорта/импорта (приложил) сразу всех указанных дополнительных данных Object Data (лучший аналог XData) для Map/Civil 3D. Они еще хороши тем, что после изменения последовательности и числа полей данных в csv при импорте соответственно изменяются и описания таких данных в dwg.
Если не сложно в этих лиспах заменить относящееся к Object Data на соответствующее для XData, то было бы то, что нужно.
Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Сам факт вывода XData в csv не имеет практического смысла, так как эти данные с успехом можно обрабатывать внутри базы данных dwg, не подключая промежуточный файл csv.
Программист "с успехом" - может, а пользователь же - нет.
Опыт работы с аналогом XData в Map/Civil 3D показывает, что постоянно возникают вопросы как бы что-то сделать с дополнительными данными, что не сложно сделать средствами того же Excel. Создать, изменить идентификаторы, подсчитать, взять данные из других полей и пр.
И рекомендации выгрузить в csv, изменить в нем, загрузить, на практике даются постоянно.
Вложения
Тип файла: lsp All_OD2CSV.lsp (5.7 Кб, 20 просмотров)
Тип файла: lsp CSV2OD.lsp (5.2 Кб, 21 просмотров)
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 13.07.2021, 15:33
#18
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


программист даже с минимальным опытом вздрогнет, представив себе процесс связи между приложениями на csv-файлах)

Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Заполнить-заменить значения другими средствами - в Excel или т.п. (Для обратной загрузки).
ну так выгрузите в эксель через COM и обратно)
Сергей812 вне форума  
 
Непрочитано 13.07.2021, 23:23
#19
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>программист даже с минимальным опытом вздрогнет, представив себе процесс связи между приложениями на csv-файлах)
ничем не лучше не хуже других форматов
zamtmn вне форума  
 
Непрочитано 14.07.2021, 00:15
#20
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


Цитата:
Сообщение от zamtmn Посмотреть сообщение
ничем не лучше не хуже других форматов
но тот же XML был бы лучше, имхо. Это печально - если в XData примитивов напиханы табличные данные: когда csv явно имеет преимущество. Но пустой разговор - все в конечном итоге свелось к выклянчиванию готового кода ради счастья мифического большинства...
Сергей812 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Выгрузить XData в csv (txt)

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автокад 2010 виснит намертво при сохранении файла LenaE AutoCAD 18 04.05.2020 12:59
Как принято, как лучше описывать Xdata у элементов? АлексЮстасу AutoCAD 96 08.01.2020 09:25
Описание xdata АлексЮстасу Программирование 68 09.10.2014 11:46
Ищу способы упрощения работы с XData (расширенными данными) в VBA, Lisp RasRuf LISP 1 29.01.2009 10:55