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

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

Автоматическое изменение атрибутов блоков

Ответ
Поиск в этой теме
Непрочитано 30.09.2010, 16:19
Автоматическое изменение атрибутов блоков
Zaghim
 
Регистрация: 01.07.2010
Сообщений: 521

Добрый день. Тема уже была, но ответа там, к сожалению, не было.
Как при помощи лиспа сделать так, что бы при вставке блока, автоматически заполнялись его атрибуты. Скажем порядковый номер - вставляем блок первый раз, соответственно атрибут - Блок 1, второй - Блок 2 и тд. Ну и таким же образом некоторые другие параметры. И самое главное реально ли, что, если я вышел из программы вставки блоков и закончил, например, на 10 блоке, что-то порисовал на чертеже, и теперь хочу продолжить вставлять блоки - запускаю заново прогу и блок у меня вставляется с номер 11, т.е. след по списку. Заранее всем спасибо!
Просмотров: 22898
 
Непрочитано 23.09.2011, 11:21
#21
angel-fear

инженер-электрик
 
Регистрация: 21.10.2010
Краснодар
Сообщений: 134


VVA, спасибо, полезная вещь!

А как можно подправить код, чтобы лисп работал не с одним набором block/tag, а с несколькими типа:

block1/tag1, block2/tag2... а еще лучше по маске - со всеми блоками block*/tag*?
хм... хотя пожалуй, маска для атрибута тут ни к чему. Просто block*/tag

а если еще добавить нумерацию блоков, вставленных в таблицу.... вообще сказка будет )
и поддержку префиксов/суффиксов ) запросы растут )

кстати, если из середины списка был удален какой-то блок, назад его уже никак не поставить?

Последний раз редактировалось angel-fear, 23.09.2011 в 12:36.
angel-fear вне форума  
 
Непрочитано 23.09.2011, 14:00
#22
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


совсем малюсенькая хотелочка
Nike на форуме  
 
Непрочитано 01.03.2012, 14:53
#23
Роман Амосов

энергетик
 
Регистрация: 01.03.2012
Владивосток
Сообщений: 72


Цитата:
Сообщение от hwd Посмотреть сообщение
Я не понимаю, какая сложность в алгоритме реализации этого? Пример, в котором используется так вами желаемая автонумерация с произвольным начальным значением.
Мне тоже интересно решение этого вопроса, но в этой ссылке нечего найти не смог
Роман Амосов вне форума  
 
Непрочитано 07.05.2012, 16:47
#24
Роман Амосов

энергетик
 
Регистрация: 01.03.2012
Владивосток
Сообщений: 72


Отличная програмка вышла. Спасибо.
Можно ли сделать так чтобы к нумерации добавлялась литера "а", "б", "с" поочередно. Чтобы нумерация выглядела так 1а, 2б, 3с, 4а, 5б, 6с, 7а .....
Роман Амосов вне форума  
 
Непрочитано 22.06.2012, 11:01
#25
Роман Амосов

энергетик
 
Регистрация: 01.03.2012
Владивосток
Сообщений: 72


Цитата:
Сообщение от angel-fear Посмотреть сообщение
кстати, если из середины списка был удален какой-то блок, назад его уже никак не поставить?
Здорово было бы доработать код.
1. Имя блока и тег изменять не в тексте кода, а чтобы програмно был запрос на ввод имени блока и тега
2. Чтобы бобавить блок с № n надо скопировать блок с атрибутом № n-1 с нажатой (с удерживанием) определеной комбинацией клавиш.
Если это конечно возможно
Роман Амосов вне форума  
 
Непрочитано 22.06.2012, 23:42
#26
VVA

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


Роман Амосов, по п.1 ничего сложного нет. Тебе любой подскажет, как написать эти 2 строчки. Я сейчас не могу, т.к. нахожусь в отпуске с планшетом. По п.2 - ничего пока сказать не могу.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 30.07.2012, 13:21
#27
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 101
<phrase 1=


Прикольная программка. Но бестолковая без доработки.
http://www.lee-mac.com/autolabelattributes.html
Мне бы она пригодилась если бы нумерация происходила с 001, 002, 003...015, 016....051, 052...125, 126 и т.д.
И перед работой проги указывать диапазон мышью где нумерация начинается с 001, и т.д. Если блок не попадает в указанный диапазон то нумерация не срабатывает.
Если указанно несколько диапазонов то в каждом из диапазонов нумерация начинается с 001.
Указать зависимость. В блоке к примеру есть 2 атрибута.
"tag" - атрибут который пронумеровывается
"text" - атрибут в котором забивается значение. (К примеру "Мама")
Если в указанном диапазоне вставлены блоки с одинаковыми значениями "Мама" в атрибуте "text". То нумерация начинается с 001, и т.д. (Таким образом происходит разная нумерация в одних и тех же блоках с одними и теми же атрибутами.) Если нужна нумерация единая, то значение в атрибуте "text" одно и то же везде.
Короче другими словами все одинаковые значения в атрибуте "text" нумеровать с 001, в указанном диапазон.

Ого закрутил. Но реально унифицировать цены бы не было.
VVA, Ты можешь я знаю

А лучше не выделять диапазон мышью, а указывать замкнутый контур. Неважно чем выполнен контур (Линиями, полилниями,область) главное что бы контур был замкнутый.

Добавил файл с примером для наглядности
Вложения
Тип файла: dwg
DWG 2007
test1.dwg (72.7 Кб, 2367 просмотров)

Последний раз редактировалось Eddicordo, 30.07.2012 в 17:24. Причина: Добавление файла с примером
Eddicordo вне форума  
 
Непрочитано 28.11.2012, 13:41
#28
Palomnic

ПГС
 
Регистрация: 22.05.2007
Москва
Сообщений: 638


Покрутился я тоже с AutoLabelAttributesV1-0, вроде усе заработало. Проблему с маской решил временно, просто добавил еще один атрибут окурат положив его перед "счетчиком" получилось BR4.1 - BR4.X, ну пока вроде и этого хватает, но вот расставил я блоки, от нумеровались они... А как мне к следующим блокам переходить? Менять строчки лиспа с нейма "Block"? А если он уже подгружен в автозагрузку? А как его изменить, когда он уже внутри Акада сидит? Ну конечно же его изменить можно, я не спорю, но хотелось бы как-то не по строчкам кода бегать, а так с помощью двух кнопок как-нибудь))...
Я уж думал, грешным делом, взрывать блоки и переназначать имя для следующих блоков. Вот для моих заний с программированием это ей богу проще)
В общем, автономераторов полно, но все равно вопросов пока больше чем ответов

Последний раз редактировалось Palomnic, 14.07.2014 в 16:28.
Palomnic вне форума  
 
Непрочитано 29.11.2012, 11:54
#29
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 425
<phrase 1=


Цитата:
Сообщение от Zaghim Посмотреть сообщение
Добрый день. Тема уже была, но ответа там, к сожалению, не было.
Как при помощи лиспа сделать так, что бы при вставке блока, автоматически заполнялись его атрибуты.
Numinc от Lee-mac.com с этим справляется, но только с одним атрибутом

Цитата:
Сообщение от Zaghim Посмотреть сообщение
Скажем порядковый номер - вставляем блок первый раз, соответственно атрибут - Блок 1, второй - Блок 2 и тд. Ну и таким же образом некоторые другие параметры. И самое главное реально ли, что, если я вышел из программы вставки блоков и закончил, например, на 10 блоке, что-то порисовал на чертеже, и теперь хочу продолжить вставлять блоки - запускаю заново прогу и блок у меня вставляется с номер 11, т.е. след по списку. Заранее всем спасибо!
Алгоритм такой:
1. Выбор блока.
2. Выбор атрибута в выбранном блоке
3. Программа ищет количество существующих блоков и смотрит значения атрибутов. Если блоков нет, то "Блок 1". Если блоки есть, то находит блок с наибольшим атрибутом (речь же идет о числах???) и вставляет блок со следующим порядковым номером.
4. Если вставили 10 блоков, а потом удалили блок №3, то при запуске программы она должна выдать сообщение "Нет блока с №3!!! Переименовать блоки???" Жмешь "Да! Переименовать!" и она переименовывает 4 в 3, 5 в 4 и т.д. Или жмешь "НЕТ! Вставить блок с №3 заново!", и вставляешь блок с №3, а далее вставляешь блок с №11, №12,.....итд.
Alexeipost вне форума  
 
Непрочитано 29.11.2012, 12:12
#30
VVA

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


Удалено
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 29.11.2012, 12:31
#31
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 425
<phrase 1=


#18 не подходит - потому что допустим все расставил, а потом надо где-то посередине удалить - хорошо, удалил. А еще через пару дней надо примерно в тоже место вставить ещё два блока, то они получатся с последними номерами. Что несколько сбивает общую картину.
#12 - много программ, причем и работающих и не работающих - покопался в них в очередной раз - ничего полезного для себя не нашел. BINCA при выделении блока, выдает кучу атрибутов, а потом выдает ошибку (это в блоке с многими атрибутами), с одним атрибутом работает, но не нашел как делать замену. Т.е. он вставляет к уже существующему тексту ещё и свой текст.
Более того со всем этим лучше и быстрее справляется number.dvb и numinc.lsp
Alexeipost вне форума  
 
Непрочитано 30.11.2012, 09:14
#32
VVA

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


Alexeipost, Проверил BINCA - у меня работает без ошибок. Пришли мне почтой образец. Посмотрю в чем проблема.

Цитата:
Сообщение от Alexeipost Посмотреть сообщение
с одним атрибутом работает, но не нашел как делать замену
Опять у меня все меняет. Присылай образец. Или здесь выложи
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 14.07.2014, 14:31
#33
Screemer


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


Нужно тело программы для данного блока. Так чтобы атрибут был К1 до бесконечности и имя атрибута менялось в зависимости от изменения размера блока только по высоте и длине блока . Помогите пожалуйста чайнику который не шарит в программировании.
Вложения
Тип файла: dwg
DWG 2013
2000.dwg (30.3 Кб, 1436 просмотров)
Screemer вне форума  
 
Непрочитано 15.07.2014, 02:31
#34
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,040


Цитата:
Сообщение от Screemer Посмотреть сообщение
имя атрибута менялось в зависимости от изменения размера блока только по высоте и длине блока
если нужны просто размеры - то те же поля в атрибутах, настроить на параметры растяжения и соответствующую точность отображения. Только нужно их принудительно обновлять для отображения новых значений. А автонумеровалок атрибутов различного вида только ленивый не может найти.
Сергей812 вне форума  
 
Непрочитано 15.11.2017, 07:02
#35
serega374


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


В некоторых файлах AutoLabelAttributesV1-2 выдаёт ошибку:

"Введите значения атрибутов
TAG:
; ошибка: ActiveX Server возвратил ошибку: неизвестное имя: ContentType"

Причём до этого в этих же файлах всё работало.
serega374 вне форума  
 
Непрочитано 30.03.2018, 14:35
#36
Роман Амосов

энергетик
 
Регистрация: 01.03.2012
Владивосток
Сообщений: 72


Всем доброго времени суток. Можно ли сделать так чтобы к нумерации добавлялась литера "а", "б", "с" поочередно. Чтобы нумерация выглядела так 1а, 2б, 3с, 4а, 5б, 6с, 7а ..... ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ нааааадо. Помогите пожалуйста.
Роман Амосов вне форума  
 
Непрочитано 30.03.2018, 14:44
#37
Роман Амосов

энергетик
 
Регистрация: 01.03.2012
Владивосток
Сообщений: 72


А вот и код
Вложения
Тип файла: lsp Автонумерация_СВ.lsp (7.8 Кб, 68 просмотров)
Роман Амосов вне форума  
 
Непрочитано 30.10.2023, 12:35
#38
Kavalergrad


 
Регистрация: 21.11.2014
Москва
Сообщений: 60


Подскажите, пожалуйста, как запустить Автонумерация_СВ.lsp?
Kavalergrad вне форума  
 
Непрочитано 31.10.2023, 18:52
#39
VVA

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


Kavalergrad, Как использовать лисп, опубликованный на форуме
код в #37 - это реакторы, поэтому достаточно загрузить. Имя блока - "св", таг атрибута - светильник
Цитата:
(setq *blockname* "св" ;; Name of Block to be Updated
*blocktag* "светильник" ;; Attribute Tag to be Updated
)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Автоматическое изменение атрибутов блоков

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массовое редактирование свойств атрибутов блоков kgb Программирование 11 13.06.2023 14:39
Как поменять цвет атрибутов уже вставленных в чертёж блоков? МишаИнженер Программирование 5 09.10.2012 20:55
Тормозит команда расчленения набора блоков batmax Программирование 4 31.08.2010 17:37
Автоматическое заполнение атрибутов блоков. TheBuTeK Программирование 8 24.12.2007 17:22