|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Цитата:
----- добавлено через ~4 мин. ----- К сожалению, не понял, как wcmatch может мне помочь ((( https://knowledge.autodesk.com/searc...A53AD-htm.html |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,363
|
При работе внутри лиспа полная мощь регулярных выражений обычно не требуется. А для проверки совпадения строки с несложной маской wcmath, как правило, более чем достаточно.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 10,583
|
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,562
|
|
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Да, регулярные выражения мне, пока что, не нужны. Задача, мне кажется, должна решаться проще. Поэтому я и обратился к местным гуру.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 10,583
|
|
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Цитата:
Прошу прощения! в приложенной вами ранее картинке действительно видно искомую строку "%<\AcExpr (A2+B2)>%". Насколько я понял, вы нашли эту строку с использованием утилиты ARXDBG. Как найти ее же с использованием лисп? Последний раз редактировалось tsetse, 12.12.2018 в 10:27. Причина: Добавил комментарий |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 4,963
|
Цитата:
|
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Спасибо за внимание! Но я все же не понял, как достать эту строку.
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,562
|
А Вы и не пытались понять.
Что-то мне говорит, что tsetse, на лиспе вообще не пишет... и пытается получить готовое решение... Даже я, нуб, нубом в лисп (я лисп не знаю от слова совсем) и то, имея подсказки в каком направлении двигаться и форум под рукой, вполне способен написать что-то типа лисп выражения и получит на выходе: Цитата:
|
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Цитата:
Цитата:
Последний раз редактировалось tsetse, 12.12.2018 в 11:35. Причина: Добавлен комментарий |
|||
![]() |
|
||||
5 ряд 1 колонка (4/0)
(setq field_id (vla-getfieldid (vlax-ename->vla-object (car (entsel))) 4 0)) (setq field_string (cdr (assoc 2 (entget (cdr (assoc 360 (entget (vlax-vla-object->ename (vla-objectidtoobject (vla-get-activedocument (vlax-get-acad-object)) field_id))))))))) |
||||
![]() |
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Цитата:
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,562
|
Цитата:
Вам подсказывали, как человеку умеющему писать программы, т.е. рассчитывая на некоторый уровень понимания. Увы, это было ошибкой. Впрочем, Вы получили готовое решение, цель достигнута, обучаться нет смысла. Печально. |
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Благодарю за критику! К сожалению, делать свои решения либо не умею, либо делаю криво, ибо если пишу на lisp, то что-то крайне простое при крайней необходимости. Стараюсь обучаться, начинаю с малого и в основном с готовых примеров. Благодаря вашим советам узнал новые методы и начал понимать структуру dxf. Спасибо! Результаты добавил в шапку
|
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Продолжая тему. Насколько я понял, функция assoc извлекает только первое вхождение по коду. Т.е. если entget выдал нам такую строку
Код:
Как достать второй элемент? Пока я вижу только такой метод, вычеркнуть первый найденный, повторить поиск. Можно ли как то проще? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,363
|
Можно. Используй vl-remove / vl-remove-if / vl-remove-if-not и анализируй результат.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Создание поля (field), ссылающегося на текстовое значение ячейки таблицы. | skkkk | Готовые программы | 124 | 25.03.2022 09:53 |
Перенести данные с таблицы AutoCad в Eccess | Jeneva | AutoCAD | 2 | 23.06.2017 10:11 |
В ячейке одной таблицы есть текст, как сделать чтоб этот текст отображался в ячейки другой таблицы? | Basily | AutoCAD | 2 | 05.02.2017 16:46 |
Как программно узнать координаты ячейки таблицы (для LISP)? | kp+ | LISP | 0 | 15.02.2016 11:41 |
Блокирование высоты ячейки таблицы Autocad | casaatik | AutoCAD | 3 | 15.09.2011 15:40 |