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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Состояние внешней ссылки Xref и ее перезагрузка

Состояние внешней ссылки Xref и ее перезагрузка

Ответ
Поиск в этой теме
Непрочитано 12.10.2009, 17:34 #1
Состояние внешней ссылки Xref и ее перезагрузка
petr.vubrikv
 
Регистрация: 14.03.2006
Сообщений: 23

Будьте добры, подскажите пожалуйста, как лиспом узнать состояние Xref в чертеже: выгружена или загружена?
И как лиспом перезагрузить Xref: только командным способом?
Спасибо

Последний раз редактировалось petr.vubrikv, 12.10.2009 в 17:43.
Просмотров: 3294
 
Непрочитано 12.10.2009, 19:26
#2
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Где объектную модель автокада смотреть знаешь?
у объекта block есть методы unload reload detach и т.д. вот только статус к сожалению я не знаю как посмотреть.
Sleekka вне форума  
 
Непрочитано 13.10.2009, 07:16
#3
kheylan


 
Регистрация: 24.05.2009
Екатеринбург
Сообщений: 86


Сервис-Палитры-Внешние ссылки...
там все: и статус и выгружена-загружена
kheylan вне форума  
 
Непрочитано 13.10.2009, 08:02
#4
Кулик Алексей aka kpblc
Moderator

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


kheylan, состояние надо получать и обрабатывать програмно.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.10.2009, 13:08
#5
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну, как вариант через тунель:
Надо во внешней ссылке иметь блок с конкретным именем, скажем из точки сделать.
Если в коллекции BLOCKS поиск по имени через метод Item
Код:
[Выделить все]
(setq obj (vla-get-Blocks actdoc))
(vla-Item obj "Имяссылки|имяблока")
дает положительный результат, значит ссылка загружена и видна в модели (конечно только если ей видимость не выключили), а если нет - ей надо делать Reload.
Supermax вне форума  
 
Автор темы   Непрочитано 13.10.2009, 16:53
#6
petr.vubrikv


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


Здесь
http://www.caduser.ru/forum/index.ph...D=23&TID=47364
"Vovka" подсказал по поводу загружена-выгружена
Код:
[Выделить все]
(if (assoc 71 (entget (tblobjname "BLOCK" "some_xref_name"))) "unloaded" "loaded")
.
Только вот (vla-reload blk) выдает почему-то "ошибка: ActiveX Server возвратил ошибку: неизвестное имя: Reload". Это в автокадах 2005 и 2008. В качестве "blk" использовался параметр ссылки типа "#<VLA-OBJECT IAcadExternalReference 055b6c24>".

Последний раз редактировалось petr.vubrikv, 13.10.2009 в 17:00.
petr.vubrikv вне форума  
 
Непрочитано 13.10.2009, 17:05
#7
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


думаецца что ты перепутал block и block reference
Sleekka вне форума  
 
Непрочитано 13.10.2009, 17:36
#8
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Приведенный код проверяет не загру(выгру)женность, а наличие/отсутствие.
ытя вне форума  
 
Непрочитано 13.10.2009, 18:29
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


petr.vubrikv,
Код:
[Выделить все]
(vl-load-com)
(setq xrefname "0022") ;_Имя внешней ссылки
(if (assoc 71 (entget (tblobjname "BLOCK" xrefname)))
  (progn ;;; "unloaded"
    (vl-catch-all-apply
      '(lambda ()
	 (vla-reload
	   (vla-item (vla-get-Blocks
		       (vla-get-activedocument (vlax-get-acad-object))
		     )
		     xrefname
	   )
	 )
       )
    )
  )
)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 13.10.2009, 18:54
#10
petr.vubrikv


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


VVA

Вот это оно, дай Вам Бог крепкого здоровья.
Теперь все работает. СПАСИБО!
petr.vubrikv вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Состояние внешней ссылки Xref и ее перезагрузка



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись параметров вставки внешней ссылки в саму внешнюю ссылку. Supermax Программирование 72 27.07.2009 16:30
Как программно определить путь файла внешней ссылки kp+ Программирование 3 11.08.2005 10:39
Не явный путь задания внешней ссылки Елена AutoCAD 2 05.11.2004 00:21