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

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

Помогите заполнить Lookup динамического блока.

Ответ
Поиск в этой теме
Непрочитано 20.08.2012, 21:36 #1
Помогите заполнить Lookup динамического блока.
Mozgunov
 
Начинающий проектировщик
 
Санкт-Петербург
Регистрация: 07.02.2008
Сообщений: 443

Помогите заполнить Lookup динамического блока. Пробовал функцией от Supermax. Что-то не получилось. Или из-за версии автокада или ещё по какой-то причине. Функция возвратила 17 nil. Может есть метод заполнения блока через текстовый файл?
Просмотров: 4010
 
Непрочитано 21.08.2012, 17:59
#2
Unfamous

Визайнер-дизуализатор в отставке
 
Регистрация: 12.11.2009
Сообщений: 133


Лисп от Supermax работает под Excel 2003. Какая версия офиса у Вас?
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук
Unfamous вне форума  
 
Автор темы   Непрочитано 21.08.2012, 21:08
#3
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


Unfamous, я сохраниил файл в формате 97-2003. Я видел в описании, что работает с 2003. Что-то другое.

Последний раз редактировалось Mozgunov, 21.08.2012 в 21:17.
Mozgunov вне форума  
 
Непрочитано 21.08.2012, 22:00
#4
Кулик Алексей aka kpblc
Moderator

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


Формат записи ИМХО роль имеет весьма малозначащую.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 21.08.2012, 22:52
#5
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


Кулик Алексей aka kpblc, А в чём может быть дело не знаете?
Mozgunov вне форума  
 
Непрочитано 21.08.2012, 23:03
#6
Кулик Алексей aka kpblc
Moderator

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


Может быть, в реализации механизма OLE. На моей практике это первая причина проблем
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.08.2012, 10:24
#7
Unfamous

Визайнер-дизуализатор в отставке
 
Регистрация: 12.11.2009
Сообщений: 133


В скрипте устанавливается связь с Excel, и именно с 2003:

Excel-Lookup.lsp:
Код:
[Выделить все]
 ;функция установки связи с Excel
(defun ex12_set_connect (vis / )
  (setq g_oex (vlax-get-or-create-object Excel.Application.11))
; Если связь не установлена, то аварийно завершить работу
  (if (null g_oex) (progn (alert "Невозможно запустить Microsoft Excel 2003") (exit)))
; Сделать Excel видимым в зависимости от параметра vis
 (if vis (vlax-put-property g_oex "Visible" :vlax-true))
); конец функции ex12_set_connect
Для 2007 офиса я ".11" поменял на ".12" и у меня все заработало.
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук
Unfamous вне форума  
 
Непрочитано 22.08.2012, 10:33
#8
Кулик Алексей aka kpblc
Moderator

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


Может, тогда попробовать нечто типа такого (ну, чтоб от версии отвязаться)?
Код:
[Выделить все]
 (defun ex12_set_connect (vis / res obj)

  ;; функция установки связи с Excel

  (if (=
        (type
          (setq obj (vl-catch-all-apply (function (lambda () (vlax-get-or-create-object "Excel.Application")))))
          ) ;_ end of type
        'vla-object
        ) ;_ end of =
    (progn
      (vlax-put-property obj
                         'visible
                         (if vis
                           :vlax-true
                           :vlax-false
                           ) ;_ end of if
                         ) ;_ end of vlax-put-property
      obj
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun
P.S. Хотя я бы делал по-другому немного, наверное: учитывал бы еще и запущенные копии Excel, подключался бы к ним, а если такое невозможно - то указывал бы необходимость "очистки" Excel.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.08.2012, 10:45
#9
Unfamous

Визайнер-дизуализатор в отставке
 
Регистрация: 12.11.2009
Сообщений: 133


Ошибку выдает
Цитата:
; error: bad argument type: VLA-OBJECT nil
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук
Unfamous вне форума  
 
Непрочитано 22.08.2012, 10:51
#10
Кулик Алексей aka kpblc
Moderator

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


Код:
[Выделить все]
_$ (ex12_set_connect t)
#<VLA-OBJECT _Application 000000002ada1758>
Приложение Excel корректно создается и показывается. Пустое, конечно - туда надо еще документы добавлять / открывать и т.д.
Аналогичный результат и при
Код:
[Выделить все]
(ex12_set_connect nil)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.08.2012, 18:00
#11
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Версия Автокада?
Цитата:
Сообщение от Makswell Посмотреть сообщение
Подтверждаю. С Автокадом 2012 программа не дружит.
Когда нужно, специально запускаю Автокад 2008 и работаю в нём. Пока только так.
и
Цитата:
Сообщение от VVA Посмотреть сообщение
Да я тоже проверил в 2012 SP2 - не работает. Причем трассировка показала, что не работает ф-ция entmod. Т.е. если в 2-х словах то она не обновляет список для объекта (0 . "BLOCKLOOKUPACTION"). С чем это связано - не понятно, то ли баг Автокада, то ли такая политика . Если у кого стоит Автокад 2013 - проверьте работу #495

Читать с #490 и далее
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Помогите заполнить Lookup динамического блока.

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои динамические блоки [2] Кулик Алексей aka kpblc Динамические блоки 4334 22.04.2019 09:16
Как с помощью lisp получить список всех состояний видимости динамического блока crosandr LISP 4 11.04.2012 22:33
прошу помощи. Коллеги помогите найти информацию для диплома Схема, чертеж опорного блока и верхнего строения морской стационарной платформы, или любо cudarikovn Поиск литературы, чертежей, моделей и прочих материалов 0 04.12.2010 13:50
Автоматом заполнить 2й атрибут Блока по формуле DonJad Программирование 3 17.02.2009 14:17
Помогите автоматизировать вставку блока Непке Программирование 3 07.05.2007 09:15