|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Надо все-таки отдыхать иногда
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 14.05.2015
Сообщений: 33
|
(member <выражение> <список>)
Эта функция просматривает <список> - встречается ли <выражение> и возвращает часть <списка>, начинающуюся с первого найденного <выражения>. Если в <списке> нет <выражения>, MEMBER возвращает nil. Например: (member 'c '(a b c d e)) возвращает (C D E) (member 'q '(a b c d e)) возвращает nil Работает вот так, но возвращает список имен с первого найденного выражения и до конца, а нужно пройтись по списку и выбрать только те имена которые удовлетворяют условию соответствия по ldata: Код:
Нашел решение, функция возвращает список имен примитивов с фильтрацией по ldata и его значению: Код:
ldata - строка ldatavalue -строка пример вызова: (lst_nameobj_ldatavalue ldata ldatavalue) ----- добавлено через ~12 ч. ----- Чего то совсем в тупик зашел, необходимо сравнить элементы списков, и объединить их, может кому не лень поломать голову ![]() Имеем: список 1 - (("строка1" <Имя объекта: ...>) ("строка2" <Имя объекта: ...>) ...) список 2 - (("строка1" "номер1") ("строка2" "номер2") ...) На выходе список - 3: список 3 - (("строка1" <Имя объекта: ...> "номер1") ("строка2" <Имя объекта: ...> "номер2") ...) Примечание: Список 3, полученный объединением элементов списка 1 с строками списка 2 ("номер1", "номер2"), при условии равенства первых строк "строка1"="строка1". Для примера два списка: Код:
|
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
Здравствуйте Уважаемые форумчане!!! Очень нужна ваша помощь!!! Нужно сделать выборку блоков по значению атрибута. Много примерных программ, но что-то никак не получается итог.Помогите пожалуйста чем можете, За любой совет буду благодарна!!!
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
ну так выкладывайте, что не получается)
задача сводиться к двум подзадачам: 1. Получение выборки (ssget) с чертежа с использованием фильтра: тип примитивов - вставка блока, слой - такой-то и т.д. 2. Проход по полученному списку вставок блока, и если в блоке есть указанный атрибут и значение атрибута совпадает с искомым - занести в выходной список. |
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
http://experement.spb.ru/wiki/doku.p...ickselectblock
Программка на этой странице замечательно мне подходит, но почему-то по завершению выборки не происходит(((( Помогите пожалуйста, очень нужно!!! ----- добавлено через ~7 мин. ----- http://experement.spb.ru/wiki/doku.p...ickselectblock Ссылка, по которой можно скачать программку, котоая мне идеально подходит,но по итогу выборки не происходит без какой либо ошибки. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
aaalenaaa, приведи свой код - тогда и можно будет научить. А сделать за тебя и для тебя программу - это в Поиск исполнителей.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
А бы очень-очень хотела научиться сама писать или хотя бы править лисп. А то у меня идей куча, чтоб свою работу в атокаде оптимизировать, а реализовать сложно. Если есть ссылки, что почитать про создание лисп - буду благодарна!!! Даже не для этого примера очень хочу разобраться, но я не программист.
А по этой теме: вот этот лисп как мне кажется должен мне подходить, только выбирать нужно все блоки с одинаковым значением атрибута, и их нужно оставлять выделенными, чтоб можно было править. И еще он почему то не работает.Почему? А то может он мне как раз подойдет. Посмотрите пожалуйста хоть работает он и что делает? Спасибо!!! Последний раз редактировалось aaalenaaa, 21.02.2016 в 16:41. |
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
Код:
Код:
Последний раз редактировалось aaalenaaa, 21.02.2016 в 16:41. |
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
Здравствуйте все!!! Опять я со своей выборкой. http://dwg.ru/dnl/9204 - Вот ссылка на лисп с этого сайта, который идеально мне подходит, но по окончанию операции выборки не происходит. В командной строке написано "выбранных объектов 0". Помогите пожалуйста!!!! Он в формате быстрозагружаемого файла, поэтому не могу открыть его для редактирования.И вот файл, в котором выборку произвожу.)Подскажите, что не так!!! Пожалуйста!!!
|
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
Написала автору, пока не ответил. Но мне по сути менять ничего не нужно, только чтоб работал как в описании. Он и работает, запрашивает все как нужно, а по итогу-выборки нет, и ошибки никакой не пишет-вот в чем вопрос!! Посмотрите пожалуйста, если есть возможность на прикрепленном файле - проверьте пожалуйста как работает!!!1
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Во-первых, что здесь делает C#-код? Во-вторых, научить можно только если есть конкретные вопросы. А у тебя же вопрос (точнее, запрос) только один - сделайте мне программу. Проанализируй ее, пошагово пройди, проверяй значения переменных, интересуйся описаниями и параметрами вызываемых функций - тогда и станет более-менее понятно: какие вопросы задавать и по каким конкретно строкам.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
Спасибо за ответ в любом случае!!!
Что ж вы так строго. Я разбираюсь потихоньку по более простым программам, сравниваю похожие, нахожу где что заменили, что на что влияет. А в конкретном примере программа на сайте есть, менять ее не надо, просто итог ее я не вижу- вот в чем вопрос-запрос -просьба. Мне не нужно, чтоб кто-то ее менял, просто скажите, у вас она работает и в моем примере она может работать? Все запросы она делает верно, и выборку замечательно проводит- а итог Нет выбранных объектов. пока только в этом вопрос! Если эт сложно проверить - так и скажите. Буду дальше искать решение. Спасибо!!! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Проверь функцию sssetfirst и ее параметры.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
Спасибо, посмотрю сейчас!
----- добавлено через ~20 ч. ----- Здравствуйте уважаемые!!! Я все с выборкой - программа по выборке работает хорошо на других файлах, кроме необходимого мне. Я так понимаю проблема в том, что у меня атрибут имеет в названии два слова и между ними пробел, а первое слово входит в состав всех остальных атрибутов. При указании слова для фильтра нужно похоже заменить чем то пробел - подскажите пожалуйста, чем можно заменить пробел??? И правильно ли я определила проблему?? Не судите строго, я только разбираюсь во всем этом))) |
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
Здравствуйте уважаемые!!! Помогите пожалуйста!!! Программа по ссылке http://dwg.ru/dnl/9204 работает прекрасно со всеми моими чертежами, кроме того, который нужен. Нужный мне файл я выгружаю из геокада,через мапинфо. Атрибуты им заданы автоматом. Из них нужно производить выборку по Категории земель, их виды (значения атрибутов) следующие: Земли лесного фонда; Земли сельскохозяйственного назначения и т.п. Так вот, при запуске программы по выборке, она запрашивает блок, спрашивает по какому атрибуту производить выбор и какое значение атрибута искать. Все указываю, нажимаю применить, итог - выбран 1 объект, который я указывала как исходный(((. Ну что не так? Программа в файле, типа *.fas, открыть его я не могу, чтобы посмотреть код. В справке к программе по ссылке есть символы, для обозначения различных знаков, что можно было пыталась вставить вместо пробела в значении атрибута, типа Земли?лесного?фонда, нет итога и все. ((( Или уже скажите мне,чтоб я отстала от этого файла*.fas!!!
|
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
попробуй поискать в этой теме Выбор блоков по значению атрибутов.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 06.01.2016
Сообщений: 12
|
Огромное вем спасибо за ответы-советы.
Подскажите еще,если можете, как запустить вот этот лисп. Код:
Огромное всем спасибо за ответы-советы! Подскажите еще,если можете, как запустить вот этот лисп: Код:
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |