| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
14.12.2016, 14:23 | #1 | |
Как сделать "attsync" для одного или нескольких выбранных блоков?
Шаражпроектхалтурмонтаж
Талды-Париж
Регистрация: 29.10.2004
Сообщений: 5,992
|
||
Просмотров: 5815
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
Ну, определяешь все параметры вхождения (цвет, вес и тип линии, слой, систему координат, точку вставки и т.п.), потом с ее учетом (и не забывая про выравнивания) вычисляешь все необходимые параметры для атрибутов и назначаешь.
Звучит просто, но реализовать - геморройно.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992
|
Кулик Алексей aka kpblc, мне бы только атрибуты на родное место вернуть, остальные параметры не интересуют.
Как до точки расположения атрибута добраться и где хранится информация о точке расположения, заданная при определении блока даже и представить пока не могу. Буду дальше искать, спасибо! |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
Если коротко (а длинно, извини, не получится): находишь указатель на описание блока, проходишь по его примитивам, фильтруешь атрибуты, высчитываешь их точки вставки и выравнивания, а потом уже преобразования выполняешь, ориентируясь на вхождения этого блока.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992
|
roaa, спасибо!
Работает, но при этом происходит ошибка Код:
Код:
Код:
Вот еще нашел программу от Lee Mac: Код:
Последний раз редактировалось Nike, 15.12.2016 в 12:10. |
|||
|
||||
ОПС Регистрация: 29.03.2012
Kazakhstan
Сообщений: 128
|
Nike,
Кое что поправил (пост выше) ...пробуйте. Acad 2017 x32 - проблем нет атрибуты перемещаются в точку вставки блока Последний раз редактировалось roaa, 15.12.2016 в 13:11. |
|||
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992
|
в коде мне не понять что, но при масштабе 1 атрибут попадает не в точку вставки блока, а на свое место, а если при другом масштабе покрутить колесом, то увидем вот что точка вставки блока и ручка атрибута не совпадают
Атрибут первого блока отрабатывается, а затем происходи та же ошибка на строках Код:
AutoCAD 2011 Последний раз редактировалось Nike, 15.12.2016 в 14:14. |
|||
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992
|
Ув. roaa, спасибо!
Однако: Код:
_SENSOR_PRIM_ATT_VLA_LST нашел в предыдущей версии программы, вставил в код. При выполнении выбранный атрибут возвращается на место, затем происходит ошибка: Код:
Код:
То же с attreturnall. (_sensor_att_blk_return (vlax-ename->vla-object (car (entsel)))) не работает: Код:
|
|||
|
||||
ОПС Регистрация: 29.03.2012
Kazakhstan
Сообщений: 128
|
извините, забыл функцию впопыхах
Цитата:
(_sensor_att_blk_return (vlax-ename->vla-object (car (entsel))) <name attribut>) для возврата определенного атрибута (строковая) Команда attreturn выполняется на основе nentsel и зациклен на точное попадание по атрибуту. Поэтому attreturnall предпочтительней для выполнения (на основе ssget). Последний раз редактировалось roaa, 20.12.2016 в 05:41. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
Метки отмены (ИМХО) лучше делать все же в вызываемой команде: http://adn-cis.org/undomarks-lisp.html
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
ОПС Регистрация: 29.03.2012
Kazakhstan
Сообщений: 128
|
чуть не в тему немного переделанный attmove от Aleksandr Smirnov attmove.lsp
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перенос блоков с одного документа на другой | magvd | AutoCAD | 8 | 09.05.2012 21:37 |
При переносе блока из одного файла в другой он пропадает что сделать? | dextron3 | AutoCAD | 8 | 26.10.2011 20:05 |
Как сделать связь с ж\б коллонной и выпусками арматуры из пенобетонных блоков???((( | Сергей454 | Железобетонные конструкции | 14 | 20.08.2011 02:35 |
Как сделать динамический блок из нескольких солид тел? | Scrubber | Динамические блоки | 5 | 22.09.2010 22:29 |
Печать нескольких чертежей из одного файла | myrs | AutoCAD | 19 | 14.06.2008 16:31 |