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

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

Как из командной строки ввести значение в пустующий атрибут блока?

Ответ
Поиск в этой теме
Непрочитано 30.03.2012, 02:25 #1
Как из командной строки ввести значение в пустующий атрибут блока?
mikmik
 
Регистрация: 14.11.2009
Сообщений: 125

Ситуация: AutoCAD 2011, Windows 7 Pro 64bit. Из командной строки командой "-insert" вставляю блок, содержащий пустые значения атрибутов. Затем пытаюсь командой "-attedit" ввести значения в пустующие атрибуты, каковых в блоке 4 штуки. Разумеется, безуспешно. Можно, конечно воспользоваться командой "attedit" без "-", но как вводить в диалоговое окно значения на автопилоте я не знаю. И с написанием макросов я к сожалению не знаком.

Вопрос: Можно ли и как из командной строки ввести значение в пустующий атрибут блока? (желательно одной строкой)

Зачем оно мне надо: В чертёж съёмки местности нужно вставить блоки отметки уровней, и в них внести отредактированные в Экселе данные.
Просмотров: 4561
 
Непрочитано 30.03.2012, 08:00
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,829


Поскольку тема не в программировании, попробуй экспрессовские команды _attout, _attin.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.03.2012, 11:08
#3
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,093


Еще вопрос в эту тему. Как ввести значение в атрибут, если он погашен, а работаешь в Акаде LT 2010, соответственно, ET и прочий LISP недоступны? Т.е ввести значение нетрудно, но как его включить? Редактирование описания блока и применение суровой команды attsync не рассматриваем, т.к. на многих других экземплярах того же блока одноименные атрибуты должны остаться погашенными

Последний раз редактировалось kp+, 30.03.2012 в 11:18.
kp+ вне форума  
 
Автор темы   Непрочитано 30.03.2012, 13:36
#4
mikmik


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
попробуй экспрессовские команды _attout, _attin
Попробовал. Нравится. Пытаюсь понять как оно работает. Спасибо.

Возник вопрос: в строке "-insert <имя блока>; 25; 25; 0;" есть возможность ввести "Enter" вместо ";" и как это делается? (это я так пытаюсь одной строкой вставить блок в чертёж)
mikmik вне форума  
 
Непрочитано 30.03.2012, 13:57
#5
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,093


а зачем? ; как раз и означает enter. А вот пробел после ; не нужен. Он, кстати, тоже равносилен enter в таких макросах.

PS по поводу работы с атрибутами в LT нет соображений?
kp+ вне форума  
 
Автор темы   Непрочитано 30.03.2012, 14:58
#6
mikmik


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
; как раз и означает enter
Не работает. Даже если убрать пробел который
Цитата:
Сообщение от kp+ Посмотреть сообщение
тоже равносилен enter в таких макросах
Выскакивает диалоговое окно в котором запрашивается имя файла (автокад ожидает от меня имя файла содержащего блок?)
Максимум чего удалось добиться, так это ввода состоящего из двух строк: "-insert <имя блока>" и "25 25 0", что тоже уже прогресс.
mikmik вне форума  
 
Непрочитано 30.03.2012, 15:09
#7
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,093


Ловите рабочий макрос (установка в нужный слой)

_-layer _make "<Ваш любимый слой>" _color <Ваш любимый цвет> "<Ваш любимый слой>";;_-insert "<Ваш любимый блок>";_s <Ваш любимый размер>;_r <Ваш любимый угол поворота>;;
kp+ вне форума  
 
Автор темы   Непрочитано 30.03.2012, 15:34
#8
mikmik


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


_-insert "<TRP0000>";_s <25>;_r <0>;; - а в ответ: "invalid block name"
_-insert "TRP0000";_s 25;_r 0;; - а в ответ: "invalid block name"
_-insert "TRP0000" 100,100,100 _s 25 _r 0 - (100,100,100 - координаты вставки блока) а в ответ: "invalid block name"
_-insert TRP0000;100,100,100 _s 25 _r 0 - (100,100,100 - координаты вставки блока) а в ответ диалоговое окно "Substitute block name" и в нем поле для ввода "New block name:" с подсказкой внизу: "A block name can be letters, numbers, '$', '_', or '-'"

Такое впечатление, что ";" или "100,100,100" воспринимается автокадом как часть имени блока

Кстати, это всё запускалось из командной строки Copy/Paste. А что такое макрос и куда и как его вставлять мне не известно. (Гусаров прошу помолчать)

Последний раз редактировалось mikmik, 30.03.2012 в 15:44. Причина: Уточнение
mikmik вне форума  
 
Непрочитано 30.03.2012, 15:41
#9
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,093


Забыл сказать:
1) макрос адаптирован под кнопку (прямо в командную строку такое вставлять нельзя);
2) место установки блока должен указать пользователь;
3) угловые скобки означают, что там надо ввести свои данные. Сами угловые скобки убрать! Должно быть _-insert "TRP0000"

Последний раз редактировалось kp+, 30.03.2012 в 15:51.
kp+ вне форума  
 
Автор темы   Непрочитано 30.03.2012, 15:45
#10
mikmik


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


мне не достаточно _-insert "TRP0000". Мне нужно _-insert "TRP0000" в определённые координаты и один за другим без интеракции с клавиатурой

1) макрос адаптирован под кнопку (прямо в командную строку такое вставлять нельзя);
2) место установки блока должен указать пользователь;
3) угловые скобки означают, что там надо ввести свои данные. Сами угловые скобки убрать! Должно быть _-insert "TRP0000"

Тогда это не мой случай. Но всё равно спасибо. С вашей помощью мне удалось сократить команду до двух строк ввода.

Последний раз редактировалось mikmik, 30.03.2012 в 16:17.
mikmik вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как из командной строки ввести значение в пустующий атрибут блока?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
Редактирование блока, используя значение его атрибутов Mazai Программирование 14 19.01.2009 20:49
При растягивании/поворачивании грисп динамического блока перестало показывать значение параметра Red Nova Динамические блоки 2 02.10.2008 14:57
как программно ввести значение по умолчанию Victorovich Программирование 3 02.07.2008 13:15
Как ввести значение в POPUP_LIST руками????????7 mmax Программирование 1 11.08.2006 02:09