Почему при экспорте атрибутов при помощи attout в колонке BLOCKNAME отображается *U...?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Почему при экспорте атрибутов при помощи attout в колонке BLOCKNAME отображается *U...?

Почему при экспорте атрибутов при помощи attout в колонке BLOCKNAME отображается *U...?

Ответ
Поиск в этой теме
Непрочитано 13.04.2016, 12:28 #1
Почему при экспорте атрибутов при помощи attout в колонке BLOCKNAME отображается *U...?
XoRys
 
Медицинская технология
 
Москва
Регистрация: 12.11.2012
Сообщений: 121

Доброго времени суток!
Собственно, узнал про attout и attin, захотел воспользоваться, но при применении attuot к динамическим блокам, их имя отображается в формате "*U..." (см. вложения). Данное обстоятельство мешает однозначной идентификации определения блока. Можно ли это как-то исправить? Отказываться от динамических блоков не хочется

Вложения
Тип файла: dwg
DWG 2013
Пример.dwg (96.1 Кб, 19 просмотров)
Тип файла: xlsx Пример.xlsx (9.4 Кб, 26 просмотров)

Просмотров: 3610
 
Непрочитано 13.04.2016, 12:50
#2
Oleg T


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


Потому что так его определяет программа.
На запрос (entget (car (entsel))) выдает список
((-1 . <Entity name: 188c42c0>) (0 . "INSERT") (5 . "72F") (102 . "{ACAD_XDICTIONARY") (360 . <Entity name: 188c4300>) (102 . "}") (330 . <Entity name: 188b2a80>) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "ОБОРУДОВАНИЕ") (100 . "AcDbBlockReference") (66 . 1) (2 . "*U6") (10 2991.21682185345 1381.24228035886 0.0) (41 . 1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0))

В нем (2 . "*U6") - это имя блока. Копия этого блока будет уже (2 . "*U7") и так далее.
У обычного же блока - (2 . "Инкубатор новорожденных")

Может, кто что и подскажет.
Oleg T вне форума  
 
Непрочитано 13.04.2016, 12:55
1 | #3
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,919


Цитата:
Сообщение от XoRys Посмотреть сообщение
Данное обстоятельство мешает однозначной идентификации определения блока. Можно ли это как-то исправить?
Забить еще один атрибут с "идентификатором блока".
engngr вне форума  
 
Непрочитано 13.04.2016, 13:00
1 | #4
kp+

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


Цитата:
Сообщение от XoRys Посмотреть сообщение
Собственно, узнал про attout и attin, захотел воспользоваться, но при применении attuot к динамическим блокам, их имя отображается в формате "*U..." (см. вложения)
Не грусти, похрусти воспользуйся вместо attout "извлечением данных" (_dataextraction), оно адекватно обрабатывает дин. блоки.

Цитата:
Сообщение от XoRys Посмотреть сообщение
Данное обстоятельство мешает однозначной идентификации определения блока. Можно ли это как-то исправить?
Если же есть настоятельная необходимость пользоваться связкой attout и attin, то в дин. блоки можно добавить постоянные невидимые атрибуты, содержащие "нормальное" имя для "опознания".

PS
engngr опередил

PPS
Oleg T, LISP'ы для определения "нормального" имени дин. блока по vla-объекту, entity и вроде бы даже по *U.... давно написаны, поиск в помощь.

Последний раз редактировалось kp+, 13.04.2016 в 13:05.
kp+ вне форума  
 
Автор темы   Непрочитано 13.04.2016, 13:03
#5
XoRys

Медицинская технология
 
Регистрация: 12.11.2012
Москва
Сообщений: 121
Отправить сообщение для XoRys с помощью Skype™


Цитата:
Сообщение от engngr Посмотреть сообщение
Забить еще один атрибут с "идентификатором блока".
А слона-то я и не приметил... Действительно, тогда можно будет просто забить на BLOCKNAME. Правда, наличие еще одного атрибута в каждом из блоков едва ли хорошо скажется на производительности. Да и простое непонимание того почему так происходит, мне покоя не дает
Спасибо, в общем

Цитата:
Сообщение от kp+ Посмотреть сообщение
Не грусти, похрусти воспользуйся вместо attout "извлечением данных" (_dataextraction), она адекватно обрабатывает дин. блоки.
Да, действительно. Только тогда встает вопрос - как потом использовать полученный файл для attin, я в свойствах не могу найти handle, чтоб его тоже извлечь.

Последний раз редактировалось XoRys, 13.04.2016 в 13:13.
XoRys вне форума  
 
Непрочитано 13.04.2016, 13:10
#6
kp+

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


Цитата:
Сообщение от XoRys Посмотреть сообщение
Да и простое непонимание того почему так происходит, мне покоя не дает
потому что статические блоки не являются частным случаем динамических, а наоборот - динамические являются "надстройкой" над статическими. Кстати, размеры и таблицы - тоже надстройка над статическими блоками, правда, более капитальная
kp+ вне форума  
 
Непрочитано 13.04.2016, 13:17
#7
Oleg T


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
Oleg T, LISP'ы для определения "нормального" имени дин. блока по vla-объекту, entity и вроде бы даже по *U.... давно написаны, поиск в помощь.
Спасибо за информацию, может, когда-нибудь пригодится (пока не актуально).
Oleg T вне форума  
 
Непрочитано 13.04.2016, 13:33
#8
kp+

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


Цитата:
Сообщение от XoRys Посмотреть сообщение
Правда, наличие еще одного атрибута в каждом из блоков едва ли хорошо скажется на производительности
В эпоху IBM PC 286 об этом можно было бы говорить, но не сейчас.
kp+ вне форума  
 
Автор темы   Непрочитано 13.04.2016, 13:50
#9
XoRys

Медицинская технология
 
Регистрация: 12.11.2012
Москва
Сообщений: 121
Отправить сообщение для XoRys с помощью Skype™



Цитата:
Сообщение от XoRys Посмотреть сообщение
Только тогда встает вопрос - как потом использовать полученный файл для attin, я в свойствах не могу найти handle, чтоб его тоже извлечь.
м?
XoRys вне форума  
 
Непрочитано 13.04.2016, 14:22
#10
Кулик Алексей aka kpblc
Moderator

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


Насколько я помню, HANDLE идет в первой колонке. Анализируй полученный файл - там есть вся необходимая информация.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.04.2016, 14:30
#11
kp+

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Насколько я помню, HANDLE идет в первой колонке
...результата attout. А вот как вытащить handle в результатах _dataextraction (с целью дальнейшего использования в attin) - это интересный вопрос...
kp+ вне форума  
 
Непрочитано 13.04.2016, 14:38
#12
Кулик Алексей aka kpblc
Moderator

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


При чем тут _.dataextraction?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.04.2016, 14:44
#13
XoRys

Медицинская технология
 
Регистрация: 12.11.2012
Москва
Сообщений: 121
Отправить сообщение для XoRys с помощью Skype™


Цитата:
Сообщение от kp+ Посмотреть сообщение
...результата attout. А вот как вытащить handle в результатах _dataextraction (с целью дальнейшего использования в attin) - это интересный вопрос...
В общем, не ломайте голову, добавление еще одного атрибута будет наиболее рациональным решением, я полагаю.
XoRys вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Почему при экспорте атрибутов при помощи attout в колонке BLOCKNAME отображается *U...?