|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Увеличение всех отметок на определенную величину
Регистрация: 22.11.2007
Сообщений: 10
|
||
Просмотров: 42022
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,594
|
Пока не будет образца, решения будут "не те". Отметка - это что? Блок с атрибутом? Просто атрибут? Однострочный текст? Многострочный текст? Поле? Еще-какая-то-фигня?
--- Добавлено: в этом "неизвестно что" отметка с префиксами / суффиксами? Без? С какой точностью после запятой надо добавлять? Блин, когда научатся вопросы задавать...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,594
|
Прочти что "добавлено" у меня в посте.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 22.11.2007
Сообщений: 10
|
То есть я себе представляю это так - я выделяю весь текст, который нужно изменить, программуля меня спрашивает величину прироста - и я не теряю 1.5 дня на тупое механическое перебивание 1.5 тысяч отметок =)
Отметка выглядит, к примеру как "15.32". Точность до второго знака. ЗЫ: Что за преффиксы и суффиксы? =) |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,594
|
Отметка как "Отм.+16.656". "Отм." - префикс.
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 22.11.2007
Сообщений: 10
|
Спасибо за помощь. Но ничего не происходит! Просит выбрать объекты - выбираю несколько текстовых строк. Допустим, нужно увеличить отметку на 0.08 (8 сантиметров) - ввожу 0.08, Enter - ничего. Текст не меняется. В чем баг?
Блин, то есть мне нужно получить из текста ЧИСЛО, прибавить к нему другое число и засунуть назад в текст. =) |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,594
|
Образец "до" и "после" выполнения команды plus с заданием величины смещения = 6.65
Код немного модифицировал для корректной обработки отрицательных значений: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 22.11.2007
Сообщений: 10
|
Нашел такие баги - при получении в итоге ровной суммы (к примеру 16.00) получаем в результате просто "16". А результат необходим именно как "16.00". Отбрасывание нулей не нужно! Приходится забивать ручками ".00". И еще - не производятся никакие операции с числами, у которых на конце 0. То есть имеем отметку 13.10 - она видимо не переводится в число, не знаю почему. Поможете, господа хорошие?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,594
|
Тогда так.
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,648
|
Кулик Алексей aka kpblc, протестировал твой последний код. Вот что я обнаружил:
1) Число вида ХХХ.ХХ (Х- любая цифра, кроме нуля) считается только если точность выставлена на "0.00" (формат->единицы), при этом числа вида ХХХ.Х0 и ХХХ.00 игнорируются лиспом; 2) При установке точности на "0.0" считаются только числа ХХХ.Х0; 3) А если поставить точность на "0" считаются числа ХХХ.00, (что вполне закономерно), но ответ выдается в виде ХХХ.00.00 Очень полезный лисп, жаль, что так ошибается....Можешь подправить? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,594
|
Какая точность имеется в виду? luprec? Если есть возможность - пример с указанием версии AutoCAD'a (чтоб мне тут не гадать)
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,648
|
Точность, которая выставляется через меню Формат>Единицы(Units). АКАД 2008 русский. Конкретный пример: надо числа 177.26; 177.10; 177.00 увеличить на 10. Ввожу "_PLUS", на приглашение ком. строки выбираю эти три текста, ENTER, "сколько добавлять" пишу 10, и изменяется только один из них, тот, в котором целых цифр(не нулей) после запятой столько, на сколько установлена точность. Т.е. если установлена "0.00", то посчитается только 177.26, если "0.0", то только 177.10
|
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,648
|
Решил проверить предыдущий код с поста #10 - все работает как ни странно... Обрабатывает все числа (ХХХ.ХХ; ХХХ.Х0; ХХХ.00) И в результате в случае нулей пишет "ХХХ.00" или "ХХХ.Х0"
Drweb, может, тебе поможет выставление точности на "0.00" в меню Формат->Единицы (Format->Units). Так что пользуемся и выпускаем во Вселенную позитив, адресованный kpblc'у, пусть поикает ![]() |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,648
|
Подскажите пожалуйста, что надо добавить в лисп, чтоб увеличенные лиспом тексты меняли цвет при изменении значения.... Ну чтоб определять, какие из текстов уже обработаны, а какие - нет. По совету VVA с пробовал вставить в лисп
Код:
![]() |
|||
![]() |
|
||||
Покажи используемый код или дай ссылку
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |