| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
31.03.2011, 12:21 | #1 | |
Помогите сделать сортировку списка атрибутов блока
Регистрация: 24.03.2011
Сообщений: 134
|
||
Просмотров: 5275
|
|
||||
КИП, АСУ ТП, слаботочка Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422
|
привет. скопируй еще раз код, так, чтобы можно было прочесть, что у тебя в запросе. И еще - уточни, что за перечень составляет программа, откуда он берется?
Я так понял, у тебя много блоков Рум3, из них берутся атрибуты, сортируются, и их значение вставляется в уже отсортированном виде как тексты? |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Wertgan, Если хочешь быстрый ответ, то дай пример списка (списков), которые ты получаешь и пример в каком виде их хочешь получить в итоге.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 24.03.2011
Сообщений: 134
|
Вот так хотелось бы (это собственно для экспликции помещений) : Нижнее подчеркивания - это вместо пробелов))
______________________________________________ Марка_ Площадь, м2 _______________________________________________ А.02.12.02______ 24 А.02.12.12______ 12 Б.03.02.01______ 23 Б.04.02.12______16 ___________________________________________________ А делает вот так Сортировка по марке (это первый атрибут в блоке) отсутствует (( Б.04.02.12_____ 16 А.02.12.12_____ 12 А.02.12.02_____ 24 Б.03.02.01_____ 23 _____________________________ Собственно программа может выводить в столбики значения атрибутов из блоков с любым именем,( надо только убрать фильтр на ssget) и выводить любые атрибуты. Их порядок извлечения в см. возле переменных att1 и att2 Вот у меня загвоздка с правильной сортировкой по первому столбцу - это att1 - первый атрибут блока |
|||
|
||||
Регистрация: 24.03.2011
Сообщений: 134
|
Так просто не вышло. Тут видимо нужен алгоритм. Так как блоки на чертеже выбираются секущей рамкой в хаотичном порядке, потом из каждого блока нужно получить значение первого атрибута, отсортировать по этому значению, а затем последовательно извлекать и печатать как текст в цикле.
Последний раз редактировалось Wertgan, 01.04.2011 в 16:40. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Ну и мой вариант. Я предположил, что имеется 2 списка. lst_att1 - для атрибутов att1 и lst_att2 для атрибутов att2
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
инженер-проектировщик КИПиА Регистрация: 30.08.2008
Минск
Сообщений: 159
|
подниму эту тему еще раз, т.к. ничего ближе не нашел
нужно изменить порядок следования аттрибутов в контейнере блока - отсортировать например по алфавиту TagString пишу такой код (для любого блока с кол-вом аттрибутов > 1 ) : Код:
Код:
Код:
как сделать аналог результата BATTMAN ? |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Мне кажется это разные вещи. Ты управляешь порядком прорисовки, как команда ПОРЯДОК
А в окне свойств последовательность отображается в порядке создания блока Почему бы не пересоздать блок под тем же именем с нужным порядком атрибутов?
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
инженер-проектировщик КИПиА Регистрация: 30.08.2008
Минск
Сообщений: 159
|
ну... ситуация такая:
когда меняешь последовательность посредством BATTMAN - поля, которые ссылаются на атрибуты (ID) экземпляра целевого блока - просто {как бы меняются местами} - то есть новых объектов - не создается, а если переопределить блок - естественно - все поля "полетят" если sortEntsTable - не то, то куда копать? .... и, было как-то, пробовал таким вот образом поменять последовательность, и потом в определенном порядке "проапдейтить" документ, + вродебы сохранить в dxf и переоткрыть (какой-то такой бубен) и получалось таки в итоге ) такое чувство что что-то упускаю __________________________________________________________________________ и так, буду отвечать сам себе проанализировал ситуацию таким вот кодом Код:
вроде бы все просто, но с точки зрения ООП (с инженерной стороны) мне этот факт слегка взорвал мозг для подтверждения - небольшой тест-код - установка порядка аттрибутов "как на чертеже сверху вниз" Код:
Последний раз редактировалось kakt00z, 04.05.2015 в 11:28. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связь атрибутов блока с ячейками таблицы | serg01 | AutoCAD | 29 | 24.09.2021 18:15 |
Назначение свойств атрибутов блока без attsync | Кулик Алексей aka kpblc | Программирование | 9 | 15.08.2017 06:32 |
При вставке блока не запрашиваются значения атрибутов | Redya | AutoCAD | 5 | 18.04.2014 16:15 |
Помогите сделать нелинейный расчет | MAXIMKA79 | Расчетные программы | 19 | 14.12.2009 14:48 |
изменение свойств атрибутов блока | elena_din | AutoCAD | 8 | 12.12.2005 14:16 |