|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
17.10.2007, 15:56 | #1 | |
Редактирование атрибутов блока (скрытых и постоянных)
преподавание
Москваград
Регистрация: 28.09.2005
Сообщений: 131
|
||
Просмотров: 6605
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
http://dwg.ru/forum/printtopic.php?t=15784
http://my.opera.com/kpblc/blog/show....68?cid=3672098 (поиск по слову _kpblc-block-attr-get-pointer-mask) Оно?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
преподавание Регистрация: 28.09.2005
Москваград
Сообщений: 131
|
Как всегда безукоризненно!
Косяк мой заключался в том, что я тупо вытаскивал атрибуты с помощью vla-getattributes, а надо было бы vla-getconstantattributes! В грандиозном труде Николая Николаевича эта функция не описана, будем учиться читать между строк!
__________________
Добрым словом и пистолетом можно добиться гораздо большего, чем одним добрым словом. |
|||
|
||||
преподавание Регистрация: 28.09.2005
Москваград
Сообщений: 131
|
Уважаемые гуру, поясните ламеру относительно вызова функции уважаемого VVA.
Такой вызов исправно выдает атрибуты и их тэги в виде списка точечных пар. Код:
error: An error has occurred inside the *error* functionbad argument type: VLA-OBJECT nil Код:
__________________
Добрым словом и пистолетом можно добиться гораздо большего, чем одним добрым словом. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Нет, не одного и того же:
entlast -> возвращает ename-указатель на последний созданный примитив entget -> возвращает список, состоящий из указателя и точки, куда ткнул юзер. Для работы сделай так: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
В get-all-atts надо передавать не CBlock, а test1
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Я бы сейчас еще и в if'е строчки поменял местами
Код:
Взять функции _dwgru-conv-ent-to-ename и _dwgru-conv-ent-to-vla то можно записать так Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 05.02.2008 в 13:35. |
|||
|
||||
преподавание Регистрация: 28.09.2005
Москваград
Сообщений: 131
|
В развитие темы:
На выходе получается список вида '(("1" . 1) ("3" . 4) ("4" . 5) ("2" . 3)). Можно ли его одним оператором упорядочить по возрастанию первого элемента точечной пары? Что-нибудь типа: Код:
__________________
Добрым словом и пистолетом можно добиться гораздо большего, чем одним добрым словом. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
#10 Так правильней с точки зрения проверки
#11 Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
У Алексея сегодня интернет быстрее
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Еще замечу, что такая сортировка сортирует строки как строки, т.е
Код:
(("1" . 1) ("11" . 1) ("2" . 3) ("3" . 4) ("4" . 5)) Т.е сначала единицы ("1" и "11") потом двойки и т.д. Если надо сортировать строки как числа (чтобы "11" было в конце), то тут нужен немного иной подход
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
преподавание Регистрация: 28.09.2005
Москваград
Сообщений: 131
|
Спасибо, получилось!
Атрибуты пронумерованы 01, 02, 03 .... 11, 12, дабы не возникала необходимость мучаться с подобным преобразованием. По сути необходимо проводить упорядочивание не самих названий атрибутов, а результата их конвертации в числа, что вдобавок сделать не всегда получится..
__________________
Добрым словом и пистолетом можно добиться гораздо большего, чем одним добрым словом. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
> VVA : В таком случае без DwgRuLispLib уже будет тяжко обойтись...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
#17 Согласен
Цитата:
Сама функция Код:
Код:
(("1" . 1) ("2" . 3) ("3" . 4) ("4" . 5) ("11" . 1)) Как видно, "11" на своем месте PS Наверное надо будет оформить как библиотечную ф-цию PPS Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связь атрибутов блока с ячейками таблицы | serg01 | AutoCAD | 29 | 24.09.2021 18:15 |
Назначение свойств атрибутов блока без attsync | Кулик Алексей aka kpblc | Программирование | 9 | 15.08.2017 06:32 |
изменение свойств атрибутов блока | elena_din | AutoCAD | 8 | 12.12.2005 14:16 |
Редактирование блока | Nata | AutoCAD | 11 | 15.06.2004 08:48 |