|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Создание набора с помощью ssget из примитива *TEXT, содержащего любое количество цифр
инженер
Санкт-Петербург
Регистрация: 02.03.2010
Сообщений: 69
|
||
Просмотров: 7976
|
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Самое простое - "если любое количество цифр" в разумных пределах - то использовать "<OR "OR>" c перебором решеток (скажем от # до #####) - ну или фильтровать постфактум.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Пишешь функциию на входе набор, условия отбора; на выходе отфильтрованный набор (я бы наборам предпочел списки - но можно и с наборами - если требуется).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
инженер Регистрация: 02.03.2010
Санкт-Петербург
Сообщений: 69
![]() |
Что-то я не очень понял
(ssget "_C" po1 po2 (list (cons 0 "*TEXT") (cons 8 "Layer002") (cons -4 "<OR") (cons 1 "ПК #+##'.##") (cons 1 "ПК ##+##'.##") (cons 1 "ПК #+##'.##") (cons 1 "ПК ###+##'.##") (cons 1 "ПК ####+##'.##") (cons 1 "ПК #####+##'.##") (cons -4 "OR>"))) А вот это может прокатит? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
ПК е3+45.15 -> (cons 1 "ПК ?#+##'.##")
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
__________________
cadtools |
|||
![]() |
|
||||
Цитата:
создать набор объектов, попавших в секущую рамку, определяемую точками po1 и po2, при этом объект набора должен быть или текстом или на слое "Layer002" или в его dxf-коде 1 должна содержаться строка, отвечающая шаблону "ПК #+##'.##" |
||||
![]() |
|
||||
инженер Регистрация: 02.03.2010
Санкт-Петербург
Сообщений: 69
![]() |
Вот файл - особенного ничего не представляет - создан в целях отладки
Цитата:
Выяснилось, что апостраф '. работать не хочет, а просто . работает Все - разобрался: должен использоваться `, а не ' Последний раз редактировалось Nitrogenium, 15.02.2011 в 14:07. |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Ну вот на вашем чертеже так все работает
Код:
P.S не успел автор сам разобрался
__________________
cadtools |
|||
![]() |
|
||||
Цитата:
Цитата:
"^ПК [0-9]+\+[0-9]{2}\.[0-9]{2}$"
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 15.02.2011 в 17:36. Причина: добавил правило |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ха, да никак. Это регулярное выражение из .NET (мне так кажется)
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
Цитата:
![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
hwd, обрати внимание - в топике рассматривается только AutoLISP и его возможности.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
![]() Я подумал, что для автора не важно, на чём написана Lisp-функция (на Lisp/C++/C# или др.) - важно, чтобы её можно было использовать в Lisp-коде...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
ИХМО - эта радость имеет смысл ТОЛЬКО в содержащим .Net модули проекте под автокад (ну или естественно целиком на нем написанном). Ради одного регеска "прикручивать" версионно зависимую dll я большим удобством назвать не могу - интерфейс с ней больше кода займет чем сама функция фильтрации.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Если не сложно - переведи это на русский, а то у меня возникло смутное подозрение, что ты не в курсе что такое "интерфейс"...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 15.02.2011 в 21:39. |
||||
![]() |
|
||||
инженер Регистрация: 02.03.2010
Санкт-Петербург
Сообщений: 69
![]() |
Цитата:
![]() А вот чисто средствами AutoLisp и VisualLisp это возможно? То есть чтоб был 1 файл *.lsp |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Цитата:
p.s. полемику о полезности регксов разводить не надо - говорим про конкртный случай. з.з.ы. - блин - похоже буква Е на этом ноуте совсем "заплыла".
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Цитата:
Дима_ , насколько мне помнится, тут уже "блистал" на тему "понимания", что это такое, поэтому его мнение на этот счёт можно игнорировать.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Ищу работу Регистрация: 12.06.2010
Сообщений: 35
|
Цитата:
Код:
Цитата:
Но самое полезное, что wild-card patterns (те же, что и в функции wcmatch) можно использовать непосредственно в функции ssget, осуществляя фильтрацию примитивов при создании наборов. Имеющихся возможностей, как правило, вполне достаточно. Последний раз редактировалось Sad Dog, 15.02.2011 в 23:28. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Мне совсем не нравится тон и манера Вашего общения, то что Вы не умеете слушать (читать) других и являетесь счастливым обладателем завышенной самооценки - еще не дает Вам права определять какое мнение заслуживает внимание других пользователей - с этим неплохо здесь справляются други люди с наделенными на то полномочиями - пока больше всех "не игнорируете" мое мнение именно Вы. Я принимаю ко вниманию только аргументированные мнения - коих с Вашей стороны я пока в этой теме не увидел.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Цитата:
Умолкаю.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Sad Dog
![]() Но тем не менее, мне просто интересно Цитата:
например: ПК тра-ля-ля+00.00 или ПК хрень какая-то+00.00
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
инженер Регистрация: 02.03.2010
Санкт-Петербург
Сообщений: 69
![]() |
Цитата:
ПК 3+12.45 -----> 300+12.45 м = 312.45 м Иначе говоря, чтобы пользователь не смог сделать неверный выбор и в набор не попало то, что далее не может считаться, в результате чего работа программы прерывается с ошибкой |
|||
![]() |
|
||||
Так может проще проанализировать текст на корректность после того как отобраны тексты по шаблону?!
|
||||
![]() |
|
||||
Цитата:
Цитата:
Т.е. пикеты: Пк 3+12.45, ПК 3_+12.45, ПК 3+12,45, ПК 3+12.4_ будут считаться не верными, и не войдут в набор, и поперечник по ним не посчитается, и тогда уже объём будет не верным.
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
создание набора с помощью activeX | Composter | Программирование | 3 | 15.05.2009 00:11 |