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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Работа с табличными данными БД рисунка.

Работа с табличными данными БД рисунка.

Ответ
Поиск в этой теме
Непрочитано 17.03.2008, 16:44 #1
Работа с табличными данными БД рисунка.
Makswell
 
Инженер-строитель
 
Киров
Регистрация: 15.08.2007
Сообщений: 2,204

Вопрос такой. Чем отличается (tblsearch) от (entget (tblobjname))? Читаю книгу Полещука (правда старенькую 2001года). Там написано, что в итоге должно получиться одно и тоже. Однако это не так. (entget (tblobjname)) возвращает список намного длиннее, хотя там присутствуют все элементы, которые встречаются в списке, который возвратила (tblsearch).
Просмотров: 2418
 
Автор темы   Непрочитано 18.03.2008, 08:25
#2
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Может просто не понятна суть вопроса. Вот конкретный пример:
Цитата:
_$ (tblsearch "LAYER" "0")
((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous"))
_$
_$ (entget (tblobjname "LAYER" "0"))
((-1 . <Имя объекта: 7efb5c80>) (0 . "LAYER") (5 . "10") (102 . "{ACAD_XDICTIONARY") (360 . <Имя объекта: 7efb82f0>) (102 . "}") (330 . <Имя объекта: 7efb5c10>) (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous") (290 . 1) (370 . -3) (390 . <Имя объекта: 7efb5c78>) (347 . <Имя объекта: 7efb76e0>))
_$
В обоих случаях получаем списки с характеристиками слоя "0". Но первый список какой-то обрезанный что ли.

У меня сложилось впечатление, что лучше всегда применять entget (tblobjname ... )) вместо (tblsearch ...). Или я где-то торможу?
Makswell вне форума  
 
Непрочитано 18.03.2008, 11:12
#3
ShaggyDoc

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


tblsearch применяется для того, чтобы проверить существование слоя или другого объекта.

Если просто применить (entget (tblobjname "LAYER" "Несуществующий")), то будет сбой в программе, так как tblobjname вернет NIL, а в entget NIL передавать нельзя.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 18.03.2008, 13:34
#4
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Ага, понятно.
Спасибо за разъяснения.
Makswell вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Работа с табличными данными БД рисунка.