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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Handle не уникален. как жить дальше ??

Handle не уникален. как жить дальше ??

Ответ
Поиск в этой теме
Непрочитано 06.08.2013, 09:08 #1
Handle не уникален. как жить дальше ??
swkx
 
Регистрация: 22.01.2010
Сообщений: 311

Недобрый день.

Создал блок, состоящий из одной строки текста.
Дважды вставил в чертеж этот блок. У этих двух блоков Handle разные, а Handle составляющих текстов - одинаковые.

У меня какой-то глюк или всё законно ?

Во вложении сам чертеж. А на картинке видно, что Handle у текстовых строк одинаковые: 25C
Кстати, если в блок добавить атрибут, то атрибуты у вставляемых блоков всё же разные: 263 и 266

Изображения
Тип файла: jpg Чертеж2.jpg (36.7 Кб, 321 просмотров)

Вложения
Тип файла: dwg
DWG 2010
Чертеж2.dwg (73.6 Кб, 1031 просмотров)

Просмотров: 3938
 
Непрочитано 06.08.2013, 09:09
#2
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от swkx Посмотреть сообщение
У меня какой-то глюк или всё законно ?
Законно. Вхождения блоков разные, а описания одинаковы. Это не касается атрибутов - они живут немного по другим законам.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.08.2013, 09:14
#3
swkx


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


(Handle блока + Handle текста) обеспечит уникальность или опять нарвусь на какой-нибудь сюрприз ?
swkx вне форума  
 
Непрочитано 06.08.2013, 09:22
#4
trir


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


Цитата:
а Handle составляющих текстов
текст один, в описании блока. Курить маны, например описание dxf
trir вне форума  
 
Непрочитано 06.08.2013, 09:50
#5
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Это все равно что "создал две линии их хэндлы неодинаковы, пойду застрелюсь"
Все логично, разные объекты - разные хэндлы, иначе толку от них никакого не было бы.
Цитата:
Handle не уникален. как жить дальше ??
P.S. Хенлы-таки уникальны
Do$ вне форума  
 
Автор темы   Непрочитано 06.08.2013, 09:56
#6
swkx


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


Цитата:
Сообщение от Do$ Посмотреть сообщение
Это все равно что "создал две линии их хэндлы неодинаковы, пойду застрелюсь"
Ты всё перепутал))

Цитата:
Сообщение от Do$ Посмотреть сообщение
Все логично, разные объекты - разные хэндлы, иначе толку от них никакого не было бы.
Совершенно верно


Цитата:
Сообщение от Do$ Посмотреть сообщение
.S. Хенлы-таки уникальны
Дудки! Можно спорить о терминологии, но факт налицо: в чертеже 6 (шесть) объектов, у двух хэндлы одинаковые.
swkx вне форума  
 
Непрочитано 06.08.2013, 09:58
#7
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


А вот и не дудки. Одинаковы потому, что это один и тот же объект. Измени один - изменится и другой.
Do$ вне форума  
 
Непрочитано 06.08.2013, 10:11
#8
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Вы (впрочем не только Вы) путаете понятия вхождения и описания блока - 25c от дескриптор слова Text внутри описания блока - который Вы увидите ткнув в любой Text (cdr (assoc 5 (entget (car (nentsel))))), если ткнете в аттрибуты - то они действительно будут разные, чтоб посмотреть дескрипторы вхождений блоков используйте (cdr (assoc 5 (entget (car (entsel))))) и тут Вы увидите, что дескрипторы вхождений разные.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 06.08.2013, 10:47
#9
Boxa

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


Цитата:
Сообщение от swkx Посмотреть сообщение
У меня какой-то глюк или всё законно ?
А Вы хендлы линий в блоке посмотрите =о)
Внутри файла примерно такой расклад:
Есть таблица блоков, в ней хранятся описания блоков, т.е. объекты составляющие блок.
Есть таблица лэйаутов (пространство модели, листа и т.п.), в ней хранятся вхождения блоков , т.е. ссылки на описания.
Запрашивая Хендл текста в блоке, вы по ссылки спрашивайте хендл объекта из таблицы блоков.
А так как он не меняется, вы спрашиваете хендл одного и того же объекта.

С атрибутами немного другая история, атрибуты для каждого вхождения (ссылки) блока создаются заново и
привязаны атрибуты к конкретному вхождению блока, потому и хендлы у них разные.

Как-то так.
Boxa вне форума  
 
Непрочитано 06.08.2013, 10:54
#10
trir


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


Цитата:
BLOCKS section. Contains block definition and drawing entities that make up each block reference in the drawing.
ENTITIES section. This section contains the graphical objects (entities) in the drawing, including block references (insert entities).
BLOCKS section - тута описание
ENTITIES section - здесь вхождение
trir вне форума  
 
Автор темы   Непрочитано 06.08.2013, 10:54
#11
swkx


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


Да ладно вам, чего накинулись...
Разобрался, всё логично.Можно жить дальше)
swkx вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Handle не уникален. как жить дальше ??



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автокад 2010 виснит намертво при сохранении файла LenaE AutoCAD 18 04.05.2020 12:59
AutoCAD 2012 zenon AutoCAD 168 08.04.2013 16:01
Сетчатые фильтры! Как дальше жить!?? Rjkz Инженерные сети 8 23.05.2008 06:14