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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Express Tools Bugs ( Ошибки Express Tools )

Express Tools Bugs ( Ошибки Express Tools )

Ответ
Поиск в этой теме
Непрочитано 03.09.2008, 15:56 #1
ExpressTools Bugs ( Ошибки ExpressTools )
VVA
 
Инженер LISP
 
Минск
Регистрация: 11.05.2005
Сообщений: 6,990

В моем арсенале набралось уже как минимум 3 исправленные ошибки Express Tools ( BURST, CLIPIT, TEXTMASK). BURST и CLIPIT были обнаружены по наводке Vova, TEXTMASK моими юзерами. По мере появления свободного времени опишу их все.
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 23.08.2010 в 18:11.
Просмотров: 120279
 
Автор темы   Непрочитано 03.09.2008, 15:57 BURST
#2
VVA

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


BURST (исправлена 13.04.2011).

Вводная: В блоке есть примитивы с типом линии "byblock". Блок расположен не на 0 слое и явно или через слой ему задан тип линии, отличный от "continuous"
Проблема: Если делать Burst таким блокам, то тип линии теряется, хотя в программе (burst.lsp) эта ситуация обрабатывается
Ошибка: В коде идет сравнение типа линии (группа 6) с "BYBLOCK", хотя в описании блока эта строка хранится как "ByBlock". Естественно условие никогда на выполнится.
Исправленная версия находится в файле bursfix.lsp. Можно переименовать в burst.lsp и заменить стандартный в папке Express Tools.
В файле burstfix.dwg находится пример.
Сделайте burst блокам ниже надписи BURST it and look at result сначала стандартным BURST из Express Tools, затем BURST из burstfix.lsp
и сравните результат.
Изменения в файле помечены как
;_Rem by VVA
;_Change by VVA

*** Добавлено 09.02.2009
Внес изменения. Выложено 2 файла
Файл burstfix.lsp - исправлена ошибка наследования примитивом с типом линии BYBLOCK типа линии блока, вес линий, проверка на vla-get-explodable (см #12)
Файл burstfix.dwg примеры.
Дана таблица сравнения работы команд Burst из Express Tools и BurstFix.
В файле burstfix.dwg одну строчку блоков взорвать Burst из Express Tools,
вторую Burst из BurstFix и сравнить с примером.
*** Добавлено 20.03.2009
Исправлено Атрибуты и Видимости ( Visibility ) динамического блока. См. пример
*** Добавлено 09.10.2009
Исправлена ошибка в соответствии с #22
*** Добавлено 09.06.2010
Изменения в соответствии с #33
*** Добавлено 13.04.2011
Обработка многострочных атрибутов. Пример см здесь

Подробнее читать пост №7
Применение: Переименовать burstfix.lsp в burst.lsp и заменить в папке Express Tools
Дальнейшее развитие - сборник LISP. Подготовка подосновы
Вложения
Тип файла: rar Burstfix.rar (23.6 Кб, 570 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 18.09.2014 в 22:40. Причина: Обработка многострочных атрибутов
VVA вне форума  
 
Автор темы   Непрочитано 03.09.2008, 15:58 CLIPIT
#3
VVA

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


В общем то основное про CLIPIT было сказано здесь:
Wipeout, дуги и окружности
Возможно будут просто некие исправления редакционного характера.
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 03.09.2008 в 16:16.
VVA вне форума  
 
Автор темы   Непрочитано 03.09.2008, 15:58 TEXTMASK
1 | #4
VVA

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


При маскировка текста иногда текст исчезал. Причины:
1. Связано было с тем, что по какой-то причине не удалялись расширенные (РД) данные о маскировке текста
Добавил строчку принудительного удаления РД ACET-TEXTMASK
Код:
[Выделить все]
(vva-Delete_XData ENT (list "ACET-TEXTMASK"))  ;;;======>>>>>> CHANGE by VVA MIP
Так как это было у меня сделано давно, то найти файл с примером не удалось. Ссылки на темы гда описывалась подобная проблема
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=27771EB
http://dwg.ru/f/showthread.php?t=424
http://www.cadtutor.net/forum/showthread.php?t=6940
http://www.cadtutor.net/forum/showthread.php?t=9931
http://discussion.autodesk.com/threa...sageID=5247366
Описание проблемы и решение
http://www.theswamp.org/index.php?topic=14599.0
2. Непонятно откуда взявшаяся группа 284 см. тему dxf код 284
Добавил функцию удаления "вредных" групп vva-prepare-text-list
3. Аннотативность текста - читать Неадекватность работы TEXtMASK
Вложения
Тип файла: lsp textmaskmip2011-28-07.lsp (41.8 Кб, 300 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 02.07.2014 в 14:00. Причина: Новая версия textmaskmip.lsp
VVA вне форума  
 
Непрочитано 03.09.2008, 16:16
#5
Кулик Алексей aka kpblc
Moderator

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


Тему перевести, может, в "Важные"? Уж больно интересно...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.09.2008, 16:25
#6
VVA

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


В конечном итоге хотелось бы чтобы в 2010 Автокаде все это было исправлено. По textmask постараюсь побыстее отписаться. Вся проблема в примере. По рукой сейчас нет. А получится или нет быстро не знаю.
Суть проблемы в том, что применяя TEXTMASK текст просто исчезает. Если у кого есть такой чертеж, то просьба выложить сюда.
Ссылки на проблему
Textmask Deletes Text
Textmasking erases text
http://discussion.autodesk.com/threa...sageID=5247366
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 04.09.2008, 05:54
#7
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Уточню сказанное VVA чтобы стала понятной важность исправленной им ошибки для рядовых автокадчиков, всех теток и дядек.
Допустим, есть блок. Пусть его три элемента сделаны так: первый-прерывистой линией Hidden. Второй-типом линии byLayer, третий-ByBlock. Все это лежит в слое 0 и из них сделан блок. Вставляем блок в слой "A", тип линии которого Zigzag. Получим: первый элемент Hidden. Второй и третий-Zigzag. Поменяем блоку свойство Тип линии, на Dashdot. Первый элемент останется Hidden. Второй останется Zigzag. Третий станет Dashdot. Но это все прописные истины. А мы-тетка, и нам приспичило блок взорвать. На дух не переносим, не знаем что с ним делать и так далее. Короче, Explode (Расчленить). Что получим? Первый останется Hidden. Второй и третий.... превратятся в сплошные. Причем неважно, меняли-ли до этого свойства блоку или нет. То есть начерченное ранее поменяло информацию, возможно, очень важную с точки зрения автора чертежа. Кроме того, если в блоке есть атрибуты, то их слова поменяли содержание.
При расчленении блока командой Explode может получиться не только куча разрозненных объектов, но и потеряться важная информация. Так и скажите своим теткам.
Есть малоизвестная команда из Express. называется Burst. Она предназначена для взрыва блока и при этом атрибуты преврaщаются в текст. То есть не теряется текстовое содержание. Правда, при этом вылезают и невидимые атрибуты, то есть может проявится ненужная инфа. Об этом HELP умалчивает. И ничего не сказано о том, что команда была задумана так, чтобы подрывать блок и оставлять при этом типы линий такие, которые имел блок до подрыва. Потому и не сказано, что авторы не довели до конца задумку. Ошибка обнаружилась при нашей совместной с VVA работе над одной прогой, которая должна облегчить жизнь при..... Но пока молчу.
А пока сделайте подарок своим теткам. Исправьте у них в Экспрессах лисп Burst.lsp и слезно попросите вместо Explode для блоков применять Burst
Если заинтересовала информация о расчлененке то напоминаю o существовании команды _Xplode (взорвать). Кто и что про нее может сказать?
Vova вне форума  
 
Непрочитано 04.09.2008, 07:32
#8
Dukk


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


с 2007 акада из expressa исчезли работа со слоями и команда pljoin работает неверно, вот исправления -
в команды работы со слоями внесены изменения:
layoff -при выборе активного слоя по умолчанию предлагается ответ <YES>
layulk -разблокирует все слои а не только те что указаны
+добавлены иконки для вынесения на toolbar
Вложения
Тип файла: zip Express.zip (21.1 Кб, 390 просмотров)
Dukk вне форума  
 
Непрочитано 04.09.2008, 08:30
#9
Makswell

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


Есть ещё баг с OVERKILL, на который я когда-то натолкнулся. Описано здесь:
http://dwg.ru/f/showpost.php?p=235685&postcount=185

VVA, у тебя нет желания с этим поразбираться?

Добавлено:
Вот комментарии Kpblc'a по этой трабле:
http://dwg.ru/f/showpost.php?p=235726&postcount=187
Makswell вне форума  
 
Автор темы   Непрочитано 04.09.2008, 10:48
#10
VVA

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


Внес изменения в #2. Выложил 2 варианта burst. С исправлением только наследования типа линии (burstfix.lsp) и исправлением наследования типа линии и удалением невидимых атрибутов (burstfix+Attr.lsp).
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 09.06.2010 в 17:04. Причина: Неактуально
VVA вне форума  
 
Непрочитано 06.09.2008, 23:31
#11
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Цитата:
В конечном итоге хотелось бы чтобы в 2010 Автокаде все это было исправлено
А Автодеск ничего не исправляет в Экспресе. Автодеск эти функции не разрабатывал и такое впечатление что им на них глубоко наплевать. Даже иконки не обновляют.
__________________
Блог
Red Nova вне форума  
 
Непрочитано 22.10.2008, 11:28
#12
Александр Бауск

FEA/CAD/МКЭ/САПР
 
Регистрация: 20.03.2007
48,38°:35,03°
Сообщений: 1,056
Отправить сообщение для Александр Бауск с помощью Skype™


Выдает ошибку, не находит функцию (vla-get-explodable).
AutoCAD 2005 En.

У меня что, что-то не установлено?

Миниатюры
Нажмите на изображение для увеличения
Название: burst.png
Просмотров: 312
Размер:	3.7 Кб
ID:	11356  
__________________
Reshaping the STEM field
Александр Бауск вне форума  
 
Непрочитано 22.10.2008, 11:40
#13
Кулик Алексей aka kpblc
Moderator

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


Свойство "разбиваемости" блоков появилось только в 2006-м, кажется.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.10.2008, 11:44
#14
Александр Бауск

FEA/CAD/МКЭ/САПР
 
Регистрация: 20.03.2007
48,38°:35,03°
Сообщений: 1,056
Отправить сообщение для Александр Бауск с помощью Skype™


Сто двадцать девятый луч смерти в Автодеск - пошел.
__________________
Reshaping the STEM field
Александр Бауск вне форума  
 
Непрочитано 22.10.2008, 11:48
#15
Кулик Алексей aka kpblc
Moderator

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


Да вбей элементарную проверку на версию:
Код:
[Выделить все]
(atoi (vl-string-trim "VISUAL LISP " (strcase (ver))))
Если возвращаемое значение больше 2006, то функция вернет t. Иначе - проверку по полной гнать
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 22.10.2008, 12:39
#16
VVA

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


Проверил, в burst 2005 нет функции explodable, в 2006 есть. Надо добавлять проверку
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 09.02.2009, 11:17
#17
VVA

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


Обновил #2
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 20.03.2009, 18:40
#18
VVA

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


Внес исправления #2. Обработка атрибутов и Visibility динамических блоков.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 02.10.2009, 08:39
#19
kshatriy


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


Замечена некорректная работа команды "TCASE": при изменении регистра букв, буквы"Ё,Я,Ч" не меняют своего регистра(Остаются заглавными)см.видео.
AutoCad 2008RUS,2009RUS
ps. исправьте пожалуйста ,если это возможно...
Вложения
Тип файла: rar tcase.rar (119.2 Кб, 260 просмотров)
Тип файла: rar Чертеж1.rar (31.9 Кб, 270 просмотров)

Последний раз редактировалось kshatriy, 02.10.2009 в 09:41.
kshatriy вне форума  
 
Непрочитано 02.10.2009, 12:27
#20
Дима_

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


К сожалению это не ошибка express'ов в Autolisp есть встроенная функция (strcase) которая переводит строку в нижний\верхний регистр, с ней-то именно эти быквы и не работают, ее можно переназначить НО в автолиспе ПОЧЕМУ-ТО не предусмотренно создания пользовательских функций с произвольным числом аргументов а внутреннея strcase - именно такая - то есть по умолчанию второй аргумент принимаеться как nil. Но экспресы запускают ее всегда в 2 агрументами, то есть 3 пути решения втавить свою лисп функцию с 2 аргументами - экпрессы заработают, но возможно в других лиспах вызывающих strcase с одним аргументов будет ошибка, переписать функцию на чем-либо более продвинутом (типа net - но я его не знаю) с поддержкой разного числа аргументов, либо-же создать доп. фнкцию (например strcaseru), попросить VVA (он в этом мастер), найти где идет вызов (strcase) и переправить на strcaseru.
Код:
[Выделить все]
(vl-load-com)
(defun strcase (str flag / abc)
(setq abc (if flag '(65 90 192 223 168 32) '(97 122 224 255 184 -32)))
(vl-list->string (mapcar '(lambda (char)
(if (= char (nth 4 abc)) (setq char (+ char (/ (last abc) 2)))); буква "йо".
(if (or (and (>= char (car abc)) (<= char (cadr abc)))
	(and (>= char (caddr abc)) (<= char (cadddr abc)))
);end of or
(+ char (last abc)) 
char
);end of if
);end of lambda
(vl-string->list str)))
);end of strcase
p.s. При всавки этой функиии tcase работает правильно, но возможны проблеммы с другими лиспами.
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 02.10.2009 в 12:35.
Дима_ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Express Tools Bugs ( Ошибки Express Tools )

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Express Tools Perezz!! AutoCAD 483 13.02.2015 10:57
Исчезновение части Express Tools SlayERR AutoCAD 4 09.10.2006 15:55
Express tools под Acad2005 AutoCAD 16 18.07.2004 01:58
express tools для autocad 2005 Савва AutoCAD 5 01.04.2004 09:52
Не загружается меню Express Tools. Mikhail AutoCAD 3 17.10.2003 14:16