|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как автоматически добавить текст/атрибуты блока к уже существующему блоку?
Проектировщик AutoCAD
Гент
Регистрация: 15.03.2011
Сообщений: 71
|
||
Просмотров: 11766
|
|
||||
Регистрация: 07.02.2007
Мъ
Сообщений: 323
|
Здравствуйте. Позвольте тему не создавать, а продолжить существующую.
Возможно ли в автокаде создать блок из текста, чтобы при копировании этого блока, новый будет прибавлять к себе цифру? Короче говоря, хочу сделать блок, чтобы нумеровать штампы, не заморачиваясь. Вставил в один штамп - номер 1. Скопировал, вставил в другой штамп - номер 2. Таким образом, хочу все штампы пронумеровать одним копированием блока. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Automatically Label Attributes от Lee Mac, оно?
|
|||
![]() |
|
||||
Регистрация: 07.02.2007
Мъ
Сообщений: 323
|
Да, что то такое мне нужно. Только понятия не имею как ее включить в работу.
Переводчиком перевел, и понял что в этом лиспе нужно ввести свои изменения: (setq *blockname* "block" ;; Name of Block to be Updated *blocktag* "tag" ;; Attribute Tag to be Updated ) В поле *blockname* - я ввожу имя моего блока (допустим Page_name) а вот в поле *blocktag* что вводить? я моему блоку атрибутов не задавал, не умею ими пользоваться. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Чтобы создать атрибут, надо:
1. В редакторе блоков вызвать команду _attdef. 2. В появившемся окне ввести имя атрибута (его и надо будет ввести в поле *blocktag*). 3. В поле По умолчанию вести значение атрибута (число 1, потому как указанный лисп все равно сделает его первым номером - так задумано автором) - это будет стартовый номер. 4. Задать необходимые свойства атрибута (выравнивание, стиль и проч.), нажать ОК. 5. Закрыть редактор блоков, разумеется с сохранением изменений. 6. В пространстве модели вызвать команду _attsync. Ввести в ком.строке в или _s (опция выбрать/select), выбрать блок, затем нажать Enter. Атрибут появится в установленном месте. Затем в коде лиспа имя атрибута присваиваем переменной *blocktag*, с *blockname* все ясно. Сохраняем лисп-файл, добавляем его в автозагрузку, ну или просто подгружаем, если надо использовать только в текущем сеансе. Всё. Теперь после копирования блока и последующей регенерации (команда _regen) атрибуты примут значения по возрастающей в том порядке, в котором происходило их копирование. Последний раз редактировалось skkkk, 30.07.2013 в 17:44. |
|||
![]() |
|
||||
Регистрация: 07.02.2007
Мъ
Сообщений: 323
|
skkkk Спасибо. Чуть раньше мне уже объяснили как сделать http://forum.dwg.ru/showthread.php?p...22#post1129122 пост 12.
И у меня все получилось. Спасибо Вам за ссылку, это как раз то, что я хотел ![]() |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
У вас там уже есть в блоке Picket два атрибута, надо лишь значения текста присваивать соответствующим атрибутам. Это чисто программная задача, не в тот раздел и ветку запостили.
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как в атрибуты блока автоматически вставить координаты X и Y начальной точки выноски? | МишаИнженер | AutoCAD | 24 | 05.05.2016 15:56 |
Как автоматически обновлять поля блока? | Ax3 | Программирование | 25 | 29.04.2014 16:08 |
3d прямоугольник - добавить через редактирование блока ручку для его растягивания | MaximuS_G | AutoCAD | 9 | 02.12.2011 22:57 |
Полилиния - автоматическая прорисовка от блока к блоку | NEDIS | Программирование | 12 | 22.11.2009 22:30 |