VetCAD

Довольно мощный автонумератор и не только.

    8 оценок

den001

размещено: 03 Января 2007
обновлено: 13 Октября 2011
Программа на VBA для автоматической нумерации (или автоматического изменения значений) текстовых строк, изменяющихся по некоторой закономерности, в т.ч. и не самой простой (напр: TE11-S, TE12-S, TE21-S, TE22-S, TE31-S, TE32-S). Также включает дополнительные возможности для работы с текстом (добавление префиксов/суффиксов, удаление крайних пробелов).
Работает с заранее созданными текстом, мтекстом и атрибутами блоков (если в блоке несколько атрибутов, то с первым). Новые объекты не создаются.
Есть сортировка прямая и обратная по одной и по 2-м координатам, возможность работы с таблицами (ACAD 2005 и выше).

Текст1 (верхняя строка) - текст, помещаемый перед номером (если не нужен, то пустой)
Текст2 (нижняя строка) - текст, помещаемый за номером (если не нужен, то пустой)
Введенные значения сохраняются в виде списка, чтобы снова не набирать.

Number - число, изменяющееся от заданного значения на Приращение после нумерации количества объектов, заданного Числом проходов.
Прим.: Number = 1, Приращение = 1, Число Проходов = 3
Number принимает значения: 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4...

Проход - число, циклически изменяющееся от 1 до Числа проходов с нумерацией каждого объекта.
Прим.: Число проходов = 3
Проход принимает значения: 1, 2, 3, 1, 2, 3, 1, 2, 3...

Delta - вспомогательная величина; число, добавляемое к Number'у или Проходу в зависимости от режима.

Строка - текстовое значение выбранного объекта

В названии режима указано, какие из перечисленных величин и в какой последовательности задействуются при работе программы.

Самое простое - 1, 2, 3, 4... получается при Number = 1, Приращение = 1, Число проходов = 1, Delta = 0 в режиме Текст1 + Number + Текст2 (по умолчанию).
Чтобы получить пример, приведенный в начале описания, устанавливаем
Текст1 = "TE", Текст2 = "-S"
Number = 1, Приращение = 1, Число проходов = 2, Delta = 0
Режим - Текст1 + Number + Проход + Текст2

_________________
Пример: Number = 10, Приращение = 3, Число проходов = 2
Текст1 и Текст2 - пустые.
Выбрано 6 объектов (примитивов).
---
Delta = 0

Режим: Текст1 + Number + Текст2
Результат: 10, 10, 13, 13, 16, 16

Режим: Текст1 + Number + Проход + Текст2
Результат: 101, 102, 131, 132, 161, 162
---

То же, Delta = 1

Режим: Текст1 + Number + Текст2
Результат: 10, 11, 13, 14, 16, 17

Режим: Текст1 + Number + Проход + Текст2
Результат: 102, 103, 132, 133, 162, 163
______________

Настройка - для произвольной последовательности Текст1, Текст2, Number, Проход, и т.д., если шибко замороченая закономерность (! Проход здесь считается как Проход + Delta, а Delta, если выбрана, то просто как текст)
______________

Удалить крайние пробелы - " АБВ " -> "АБВ"
______________

Плюс/минус Number

Добавляет Number (может быть отрицательным) к числу, заключенному между Текст1 и Текст2 (если Текст1, Текст2 пустые, то просто к числу)
Пример:
Текст1 = "1-", Текст2 = "X", Number = 10
Выбраны текстовые объекты:
"1-101X", "1-215X"
Результат: "1-111X", "1-225X"
______________

Текст1 + строка + Текст2

Просто добавить к выбранной строке Текст1 и/или Текст2
Пример:
Текст1 = "1-", Текст2 = "X"
Выбраны: "101", "АБВ"
Результат: "1-101X", "1-АБВX"
______________

Сортировка.
Значения присваиваются объектам с учетом их расположения, в соответсвии с режимом сортировки (по Y сортируется "вниз"). Если Нет - то в последовательности выбора. Если поднят флажок "Inv" - то в обратном порядке. Допуск отклонения по одной координате для двухкоординатной сортировки - высота текста.

X
1 2 3

Y
1
2
3

XY
1 2 3
4 5 6

YX
1 4
2 5
3 6

XY+Inv
6 5 4
3 2 1

YX+Inv
6 3
5 2
4 1
______________

Префикс/Суффикс.
Полученная строка не заменяет значение выбранного объекта, а добавляется в начало/конец, соответственно.
______________

Таблица.
Работа с таблицей. Предлагает сначала выбрать таблицу (объект Table), затем, если установлен режим сортировки - то регион (несколько ячеек рамкой), если нет - то произвольную последовательность ячеек. Полученные результаты записываются, как значения ячеек.

===============
Кнопка "Очистить текст"
Присваивает Текст1, Текст2 пустые значения

Кнопка "Сбросить все"
Приводит форму в исходный вид

================
Добавлено 06.03.07
Добавил RunNumber.lsp. Позволяет пользоваться Number'ом, как обычной акадовской командой. Загрузить его вместе с Number.dvb (или Number2004.dvb), запуск из командной строки: Number, макрос для кнопки ^C^CNumber
=================

-----------------
Добавлено 13.10.2011
Добавил Number x64 для 64-битных версий
Соответственно, загружать его вместо Number.dvb
-----------------
Довольно мощный автонумератор и не только.1

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 81-90 из 123
voltron , 19 апреля 2013 в 09:27
#81
Спасибо, все работает. Но кажется еще надо поставить галочку Autocad 2013 type library.
PavlovA , 20 июня 2013 в 11:00
#82
Программа супер, спасибо огроменное от всей проектантской души! С 2013 действительно не работает, поэтому на машине стоит 2 версии - 2013 и 2012, это решает еще одну проблему - ну оооочень долго думает при сохранении чертежа. Глюк проверенный, на домашнем ноуте поставила Нумератор, сражу же при первом сохранении задумался минут на 5(((( Убрала, все стало вновь летать. Теперь, если надо что-то пронумеровать запускаю 2012 нумерую, сохраняю, жду, открываю 2013 AutoCAD, быстро работаю...
Sher-Khan , 18 сентября 2013 в 09:12
#83
читайте внимательнее, все с 2013 работает, надо просто поправить библиотеки!
vik74 , 03 октября 2013 в 08:51
#84
Den001, а как сделать приращение к примеру 0,01
den001 , 03 октября 2013 в 21:24
#85
vik74
Никак, только Текст1 = "0,0", Приращение = 1 и нумеровать десятками, потом текст менять.
vik74 , 04 октября 2013 в 09:25
#86
den001, все равно хорошая прога!
но такая функция оказывается реализована в наборе Beruf.
finch84 , 28 ноября 2013 в 11:15
#87
Установил RunNumber, редактирую нумерацию, но после попытки сохранить ( а также при процессе автосохранения) CAD виснет. Обмануть баг не получается, ибо копируя блоки в новый файл при попытки вставки -та же хрень! Сталкивался кто -нибудь с подобным при использовании Rnumber?
odinokiyklaus , 27 мая 2014 в 12:49
#88
Спасибо огромное за полезное приложение! Мне как проектировщику-электрику оно оказалось очень актуальным в плане перемаркировки кабелей. автоматов и т.д.
Есть вопрос-предложение.
При нумерации нескольких отдельных элементов текста необходимо каждый текст выделять поэлементно. То есть если у меня в схеме 10 автоматов и соответственно 10 порядковых номеров к ним, приходится 10 раз тыкать каждый текст. Если Выделить все элементы сразу, то автоматическая нумерация отработает не корректно, и номера будут расстановлены не по порядку, а в какой то непонятной последовательности.
Возможно ли при выполнении нумерации выполнить их сортировку так, чтобы они стояли по порядку. ну или хотябы по порядку с привязкой к оси Х или У. то есть увеличение номнров по оси Х или У?
Был бы премного благодарен. елси бы Вы учли такую возможность.
Спасибо за приложение!!
omega2 , 20 июня 2014 в 10:28
#89
Цитата:
Сообщение #88 от odinokiyklaus

Возможно ли при выполнении нумерации выполнить их сортировку так, чтобы они стояли по порядку. ну или хотябы по порядку с привязкой к оси Х или У. то есть увеличение номнров по оси Х или У?


день добрый
обратите внимание на поле сортировка. там есть возможность выставить как в прямом порядке по осям, так и в обратном
odinokiyklaus , 22 июня 2014 в 02:49
#90
Цитата:
Сообщение #89 от omega2
Цитата:Сообщение #88 от odinokiyklaus
Возможно ли при выполнении нумерации выполнить их сортировку так, чтобы они стояли по порядку. ну или хотябы по порядку с привязкой к оси Х или У. то есть увеличение номнров по оси Х или У?


день добрый
обратите внимание на поле сортировка. там есть возможность выставить как в прямом порядке по осям, так и в обратном


Круто! Спасибо!
А настройки последних введённых данных можно как-то сохранять??
zip

0.1 МБ

СКАЧАТЬ