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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Статистика об XData в dwg

Статистика об XData в dwg

Ответ
Поиск в этой теме
Непрочитано 22.07.2021, 19:50
Статистика об XData в dwg
АлексЮстасу
 
топограф, технолог
 
Москва
Регистрация: 24.05.2009
Сообщений: 3,031

Для общего анализа dwg и объектов.

Может быть что-то подобное на лиспе или др. уже существует?
Выводить статистику об XData в dwg. Для всего dwg или для выбранных объектов.
Использовать выбранные объекты, если не выбраны, то запрос выбора.
Отобразить, например, как на картинке. Вместо Object Data писать XData, конечно.

Сколько всего объектов, сколько Apps XData, сколько объектов с XData, сколько объектов без XData, у скольких объектов несколько Apps, для каждого из App XData - у скольких объектов.
Особенность - определить и отобразить, какие App XData имеют одновременно разные описания. Т.е. название App одно и тоже, а количество кодов, последовательность разные.
Например, отметить такие Apps обозначением DD - от Different Definition (или Different Description - не знаю, как правильнее).
Простейший пример приложен. По-разному определены MYAPP (у полилиний, у Civil/Proxy) и ACAD (у размера и штриховки) - разное число и тип данных.

Вывести статистику в свое окно. (Возможно, аналогичное AutoCAD Message или т.п. - не знаю, что на лиспе возможно).
Желательно с возможностью копирования этих данных. Чтобы анализировать и после закрытия окна.
Лучше, чтобы данные были сразу выделены.

Миниатюры
Нажмите на изображение для увеличения
Название: odedit_stat.png
Просмотров: 132
Размер:	27.3 Кб
ID:	239149  

Вложения
Тип файла: dwg
DWG 2004
XData_Different_Definition.dwg (583.9 Кб, 17 просмотров)

__________________
количество моих сообщений не говорит о знании Автокада
Просмотров: 10614
 
Непрочитано 10.11.2021, 09:14
#21
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Проверил XDTOOLS_STAT на тяжелом файле в 24 мб, 96000 объектов - https://forums.autodesk.com/t5/visua...725219#M422725
Сделала, но слишком медленно - почти за 9 минут.
И это можно понять - написана новичком-любителем.
При том, что его же XDTOOLS_CHECK, похожей сложности, cправилась с этим файлом за 2.5 минуты.

Посоветуйте, как-то эту XDTOOLS_STAT можно ускорить?
1. В файле полно мусора.
2. Есть следы вертикальных решений (а они нередко используют вместо xdata другие механизмы, более интересные).
3. На код даже смотреть страшно. Ускорить? Да этот код проще пристрелить, чтоб не мучался, и написать с нуля.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.11.2021, 14:53
#22
АлексЮстасу

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
1. В файле полно мусора.
2. Есть следы вертикальных решений (а они нередко используют вместо xdata другие механизмы, более интересные).
3. На код даже смотреть страшно. Ускорить? Да этот код проще пристрелить, чтоб не мучался, и написать с нуля.
1., 2. Файл тем и хорош как тестовый, что большой и реальный - с мусором, концами вертикальных приложений и т.п.
3. И код хорош тем, что реальный - он есть, и работает.
Поскольку другого нет, то как ускорить его работу, что бы в нем изменить?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 10.11.2021, 15:39
#23
Кулик Алексей aka kpblc
Moderator

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


Либо тебя все устраивает, либо занимайся переработкой кода. Я, например, даже примерно не смог понять, чего он должен вываливать в результате
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.11.2021, 15:56
#24
АлексЮстасу

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Либо тебя все устраивает, либо занимайся переработкой кода.
Что именно в ней поменять, чтобы ее ускорить? Что в первую очередь влияет на ее низкую скорость?
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Я, например, даже примерно не смог понять, чего он должен вываливать в результате
В смысле? Что написано в названии и в 1-м сообщении темы, то и выдает.
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 10.11.2021 в 16:05.
АлексЮстасу вне форума  
 
Непрочитано 10.11.2021, 15:58
#25
Кулик Алексей aka kpblc
Moderator

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


И все? Только количество??
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.11.2021, 16:21
#26
АлексЮстасу

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
И все? Только количество??
Можно еще что-нибудь полезное попросить вывести.
Что еще имело бы смысл?
Миниатюры
Нажмите на изображение для увеличения
Название: XDTOOLS_STAT.png
Просмотров: 27
Размер:	18.8 Кб
ID:	242588  
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 10.11.2021 в 16:32.
АлексЮстасу вне форума  
 
Непрочитано 10.11.2021, 16:28
#27
Кулик Алексей aka kpblc
Moderator

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


К вопросу о качестве кода. Мой вариант, нескомпилирован. Основные потери времени - тупо на реакцию ACAD'a на выбор. Все остальное записано "вживую", без монтажа:
https://autode.sk/3knEUM5

----- добавлено через 18 сек. -----
Видео еще обрабатывается, будет доступно примерно через полчаса, кмк
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.11.2021, 16:32
#28
Сергей812


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Можно еще что-нибудь полезное попросить вывести.
Что еще имело бы смысл?
1. Тема изначально не имеет смысл, так как потоковый низкоуровневый контейнер данных под задачи обмена данными между пользователями/приложениями изначально не айс. Приспособить можно любой костыль - вопрос: какой в этом коммерческий профит в конечном итоге для пользователей, чтобы их заинтересовать?
2. Делать обработку большого количества распределенных данных на лиспе, причем зная его поверхностно - радуйтесь, что 10 мин, а не все 2..3 часа колупается)
Сергей812 вне форума  
 
Непрочитано 10.11.2021, 16:35
#29
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Что еще имело бы смысл?
Тебе уже много раз говорили, что наличие XData само по себе ничего не значит. Имеет значение только софт, который эти данные записывает-читает-обрабатывает. Без софта все это - как машина без двигателя.

----- добавлено через 37 сек. -----
Видео, кстати, уже доступно, проверил только что.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.11.2021, 16:36
#30
АлексЮстасу

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Основные потери времени - тупо на реакцию ACAD'a на выбор.
Внешне AutoCAD в этом тестовом файле реагирует на выбор - думает, отображает ручки, опять думает, выдает в окне Свойства информацию - секунд 20-30.
Но программа же еще 8 минут что-то делает...
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 10.11.2021, 16:45
#31
Кулик Алексей aka kpblc
Moderator

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


Ты мое видео смотрел?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.11.2021, 16:58
#32
АлексЮстасу

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ты мое видео смотрел?
Теперь посмотрел.
Очень быстро.

Отличия XDTOOLS_STAT:
1. Отображение ручек выделенного в программе нужно, чтобы лучше видеть это выделенное. Ведь в задаче было не только для всего dwg, но и для указанных объектов.
2. Программа выдает еще количество-названия одноименных Apps, имеющих различный состав/последовательность данных (кодов).
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 10.11.2021, 17:03
#33
Кулик Алексей aka kpblc
Moderator

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


Мне а) лень б) некогда и в) я не вижу во всем этом смысла. Выбор всего состава пространства модели я сделал только для одной цели - показать, что при более-менее нормальной организации кода можно добиться приемлемого быстродействия.
Я не зря сказал, что я не вкурил, что должно вываливаться в результате. Ты попросил "как в начальном посте" - я сделал. Все, дальше без меня
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.11.2021, 17:11
#34
Сергей812


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


По поводу быстродействия. На .Net - загрузил сборку, нажал Ctrl+A, меньше чем через 10 сек выдало результат.

----- добавлено через ~1 ч. -----
причем на сам проход по всем расширенным данным всех примитивов потрачено 230мс, остальное время акад занимался своими внутренними делами типа отрисовки выделения и т.п.
Миниатюры
Нажмите на изображение для увеличения
Название: Фигня_XData.JPG
Просмотров: 41
Размер:	67.3 Кб
ID:	242590  
Сергей812 вне форума  
 
Автор темы   Непрочитано 10.11.2021, 21:57
#35
АлексЮстасу

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ты попросил "как в начальном посте" - я сделал.
В начальном посте было и про выбранные пользователем объекты, и про одноименные Apps с различными описаниями.
Как и про окно с результатами, из которого удобно их быстро и полно сохранить.
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Все, дальше без меня
Что это было-то?
1. Про узкие места автору кода не подсказал.
2. Советов ему не дал.
3. Свой альтернативный код не опубликовал.
4. Продемонстрировал издалека, что лучше новичка-любителя.
???
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 11.11.2021, 14:06
1 | #36
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Если очень хочется "допилить это", то расставь по коду (после завершения
выборок, циклов и т.п.) с десяток "выводов текущего времени".

Увидишь, какой блок программы тратит самое большое время.

Там и копай дальше.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 17.11.2021, 08:32
#37
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
1. Про узкие места автору кода не подсказал.
2. Советов ему не дал.
3. Свой альтернативный код не опубликовал.
А должен был? Точно?

ЗЫ.
Сейчас в конторе активно используют ADT, включая проект, из-за этого в файлах и в объектах столько XData и ExtDict, что волосы на голове седеют, при этом сторонних приложений не используется.
Юзают и экспортированные листы из Ревит, там вообще каждая линия в XData подписана какому объекту в Ревите она принадлежала, используют Civil3d с его объектами и дополнительными данными в примитивах
и я ведь голловой понимаю, что это не мусор, все эти данные прописывают взаимодействие объектов в рамках чертежа, или обеспечивают обратную совместимость или еще как то помогают,
и смотрю я на все это безобразие в файлах, читаю эту, и не только эту, тему про статистику XData и не могу понять зачем, зачем нужна эта статистика, что бы оценить что?
Поясните мне пожалуйста сирому и убогому, а то так и помру неучем.
Boxa вне форума  
 
Непрочитано 17.11.2021, 08:55
| 1 #38
Сергей812


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


Offtop: Boxa, идея фикс и желание сделать хайп, когда поезд уже давно ушел.. Если бы действительно хотел - за эти годы "обсасывания" XData можно было вполне научиться программированию и сделать, например, некий универсальный аналог того же извлечения данных для любых типов примитивов. Люди до сих пор этим извлечением данных пользуются, поэтому нашло бы применение, имхо
Сергей812 вне форума  
 
Автор темы   Непрочитано 17.11.2021, 14:41
#39
АлексЮстасу

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


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

Было бы здорово посмотреть такие файлы.
Я пока видел только одно App от Revit - "REVIT".

В нашем Map 3D (Civil всегда его включает) есть аналог XData (Object Data) с буквально только четырьмя командами для пользователей. Но даже при этом ничтожном наборе команд Object Data применяют 99% пользователей Map 3D. (Или другие аналоги, имеющиеся в Map 3D). Добровольно и с удовольствием.
И рады, когда кто-то делает дополнительные инструменты. И хотят еще.
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 17.11.2021 в 15:01.
АлексЮстасу вне форума  
 
Непрочитано 17.11.2021, 14:50
#40
trir


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


Цитата:
Но даже при этом ничтожном наборе команд Object Data применяют 99% пользователей Map 3D
сказки, 0.0001% - ближе к правде
к моему большому сожалению...
trir вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Статистика об XData в dwg

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выгрузить XData в csv (txt) АлексЮстасу LISP 55 14.03.2022 20:31
Автокад 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