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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > 2008. Глюк с назначением текущего цвета из Lisp?

2008. Глюк с назначением текущего цвета из Lisp?

Ответ
Поиск в этой теме
Непрочитано 25.10.2007, 12:44 #1
2008. Глюк с назначением текущего цвета из Lisp?
_Andre_
 
механизатор
 
Самара
Регистрация: 28.12.2004
Сообщений: 312

Добрый день
Обратил внимание на забавный глюк (или фичу) продуктов Autodesk линейки 2008 при назначении текущего цвета из функций lisp.
Глюкофича заключается в следующем:
Имеем код примерно такого вида

(defun c:test (/) (setvar "CECOLOR" "1"))

После выполнения подобной функции преполгается создание примитивов обычными командами Autocad.
СОбсвенно глюк - после выполнения функции цвет на панели свойств не меняется, а остается тем что был до выполнения. Но примитив создаваемый после выполнения функции создается именно тем цветом, который был установлен функцией. Уже после того как создан примитив цвет в панели свойств меняется на то что задан.

Код самой функции немного сложнее, но сам глюк назначения цвета можно увидеть и на таком примере.

Тестировал на Autocad 2008 и Civil 3D 2008 , на разных компьютерах.
Эта же функция на этих же компьютерах но на Autocad 2007 работает исправно. Весь софт лицензионный оффициально локализованный.

Собственно вопрос. Протестируйте на своих 2008-ых Autocad-ах такую функцию, будут ли "тормоза" в смене цвета на панели свойств? И, второе, есть ли предложения как избавиться от такого глюка/фичи?
Просмотров: 4489
 
Непрочитано 25.10.2007, 13:00
#2
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от _Andre_ Посмотреть сообщение
...Собственно вопрос. Протестируйте на своих 2008-ых Autocad-ах такую функцию, будут ли "тормоза" в смене цвета на панели свойств? И, второе, есть ли предложения как избавиться от такого глюка/фичи?...
Подтверждаю. Избавится, например, так:
Код:
[Выделить все]
(defun c:test (/) 
 (command "_.UNDO" "_BE")
 (setvar "CECOLOR" "1")
 (command "_.UNDO" "_E")
)
Александр Ривилис вне форума  
 
Непрочитано 25.10.2007, 13:05
#3
Кулик Алексей aka kpblc
Moderator

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


Тормозов не увидел (AA2008 RUs, запущен как AutoCAD 2008). Предложение: ставь SP
---
Добавлено: выполнял проверку кодом
Код:
[Выделить все]
(defun test (/ cecol)
  (setq cecol (getvar "cecolor"))
  (setvar "cecolor" "1")
  (command "_.line")
  (while (/= (getvar "cmdactive") 0)
    (command pause)
  )
  (setvar "cecolor" cecol)
)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.10.2007, 13:12
#4
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Добавлено: выполнял проверку кодом
Код:
[Выделить все]
(defun test (/ cecol)
  (setq cecol (getvar "cecolor"))
  (setvar "cecolor" "1")
  (command "_.line")
  (while (/= (getvar "cmdactive") 0)
    (command pause)
  )
  (setvar "cecolor" cecol)
)
Проверь кодом, который автор темы привел. Тормоза есть и в SP1. Важно, что должна быть хоть одна команда, чтобы поменялся цвет в панели.
Александр Ривилис вне форума  
 
Непрочитано 25.10.2007, 13:37
#5
Кулик Алексей aka kpblc
Moderator

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


Проверял. Работало...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.10.2007, 13:50
#6
_Andre_

механизатор
 
Регистрация: 28.12.2004
Самара
Сообщений: 312
<phrase 1=


SP1 стоит и на Autocad и на Civil 3D.

Спасибо за подсказку, проверю

--------------------

Проверил, работает с вариантом
Код:
[Выделить все]
(command "_.UNDO" "_BE")
 (setvar "CECOLOR" "1")
 (command "_.UNDO" "_E")
Спасибо еще раз

Последний раз редактировалось _Andre_, 25.10.2007 в 14:53.
_Andre_ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > 2008. Глюк с назначением текущего цвета из Lisp?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lisp и Acad2004, глюк или где? SergSch LISP 5 25.03.2004 10:57