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

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

Автозамена последовательности чисел?

Ответ
Поиск в этой теме
Непрочитано 11.05.2011, 11:44 #1
Автозамена последовательности чисел?
UnAtom
 
Регистрация: 10.02.2007
Сообщений: 1,077

Проблема такая: есть некая последовательность чисел или букв с числами на чертеже в разных метсах, необходимо заменить эту последовательность другой последовательностью.
Например есть последовательность символов на чертеже "л1,л2,л3...л250", нужно чтоб стало "50,51,52...300".
Или "001,002...075" нужно заменить на "36,37...111" или "н36,н37...н111"
Возможно ли такое стандартными средствами Автокада или какими-нибудь Lisp-примочками?
Просмотров: 8045
 
Непрочитано 11.05.2011, 12:16
#2
vrtm

рисование
 
Регистрация: 19.02.2009
Сообщений: 212
<phrase 1=


UnAtom, команда "найти", "_find" или правка==>найти.
Работает так же как и "найти и заменить" в Word
vrtm вне форума  
 
Непрочитано 11.05.2011, 12:38
#3
nik_mb

конструктор
 
Регистрация: 23.03.2009
Волгоград
Сообщений: 120


В своей программе "Строитель" я написал команду "ПНУМ_ЧИС". Которая перенумеровывает числа в отдельно стоящих примитивах. Можно перенумеровать обьекты с текстом типа: "R40050верх", "R40250верх" "R40550верх" и т.д. Указываются префикс ("R" или "*") и суффикс ("верх" или "****") заменяемого текста с увеличением (уменьшением) значений чисел.
Набил около 8000 символов Lisp кода вместе с управлением диалоговыми окнами.
Хотя, для вашего варианта (одной очень длинной строки с набором чисел, разделенных каким либо символами), нужна другая програмка (если команда "НАЙТИ" не годится). Может быть значительно короче, в комбинации со стандартной "НАЙТИ".
__________________
Мой сайт ingnmb.wixsite.com/acad-s
nik_mb вне форума  
 
Автор темы   Непрочитано 11.05.2011, 13:17
#4
UnAtom


 
Регистрация: 10.02.2007
Сообщений: 1,077


Давайте уйдём от букв, и оставим только цифры...как заменить последовательность чисел, на другую?
Я найти все эти числа диапазоном типа [a-b] могу, а вот заменить этот диапазон на другой не могу.
UnAtom вне форума  
 
Непрочитано 11.05.2011, 13:41
#5
nik_mb

конструктор
 
Регистрация: 23.03.2009
Волгоград
Сообщений: 120


Цитата:
Сообщение от UnAtom Посмотреть сообщение
Давайте уйдём от букв, и оставим только цифры...как заменить последовательность чисел, на другую?
Я найти все эти числа диапазоном типа [a-b] могу, а вот заменить этот диапазон на другой не могу.
Так понимаю, что разные числа, в разных текстовых примитивах? И надо увеличить или уменьшить числа на определенное значение? Тогда скачивайте: http://www.acad-s.narod.ru/Stroy1.zip. Затем распаковываете "Stroitel.VLX", подгружаете в чертеж, набираете ПНУМ_ЧИС. Выбираете все нужные примитивы. Появится окошко. В суффикс и префикс ничего не вводите. В поле "Увеличение на" можно ввести число на которое "сьежает" последовательность. Если перед числом поставить минус, то все выбранные числа будут уменьшаться. Вот такой вариант.
__________________
Мой сайт ingnmb.wixsite.com/acad-s
nik_mb вне форума  
 
Автор темы   Непрочитано 11.05.2011, 15:24
#6
UnAtom


 
Регистрация: 10.02.2007
Сообщений: 1,077


nik_mb
Интересный набор команд у вас. И функция достаточно полезная, что вы привели, но немного не то, так как заданные значения встречаются не только в примитивах, но и в Текстах среди прочих других символов. Я так понимаю что заменить сразу последовательность очень трудно.
Тогда упростим задачу. Мне нужно примерно следующие действия например для ЛИСПа:
1.Нахождение примитива во всех возможных объектах (включая М_Текст и СПДС) значением x (напр. 11111).
2.Предложение заменить и замена этого объекта на y (напр. 42). <Enter>
3.Нахождение примитива во всех возможных объектах (включая М_Текст и СПДС) значением x+1 (напр. 11112).
4.Предложение заменить и замена этого объекта на y+1 (напр. 43). <Enter>
...и т.д.
И так раз 100 нажимать Enter. Меня бы даже такое устроило.

Остаётся вопрос о возможности указать диапазон например найти все числа х, х+1...х+n (где n возможно задаваемый параметр) и замена в автоматическом режиме соответственно на у, у+1...у+n.

Я не программист и мышление не столько в этом направлении задействовано, может можно всё это сделать как-то проще.
UnAtom вне форума  
 
Непрочитано 11.05.2011, 16:02
#7
nik_mb

конструктор
 
Регистрация: 23.03.2009
Волгоград
Сообщений: 120


Цитата:
Сообщение от UnAtom Посмотреть сообщение
Я не программист и мышление не столько в этом направлении задействовано, может можно всё это сделать как-то проще.
Так как вы изложили возможно выполнить простым "НАЙТИ" (и соответственно с заменой) или я не понимаю изложенного. В таких случаях лучше чуть программировать, хотя бы для себя (не надо никому обьяснять последовательность действий в программе и предусматривать всевозможные конфигурации настроек автокада).
А к СПДС у меня отношение не очень позитивное - внешне эффективна, а по сути малополезна.
Обьекты СПДС "видит" только программа СПДС. А "Строитель" поддерживает только текстовые примитивы автокада "МТекст" и "Текст" (для Пнум_чис).
__________________
Мой сайт ingnmb.wixsite.com/acad-s
nik_mb вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Автозамена последовательности чисел?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DwgRuLispLib: Генератор случайных чисел VVA Библиотека функций 16 11.03.2013 21:21
Произведение нескольких чисел на чертеже? Нужен Lisp по типу sum.lsp UnAtom LISP 2 24.11.2010 20:18
12. Задано кілька числових списків. Обчислити максимальний і мінімальний модулі різниці двох чисел malenka Программирование 38 29.05.2010 12:27
Точность чисел возращаемых LISP ActiveX [N.S] LISP 20 28.03.2008 13:59
Генератор случайных чисел на Lisp Cleper Прочее. Программное обеспечение 22 13.08.2006 19:03