|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Фильтр команды "ssget"
Москва
Регистрация: 04.04.2008
Сообщений: 97
|
||
Просмотров: 11396
|
|
||||
Программист широкого профиля. Регистрация: 08.09.2005
Челябинск
Сообщений: 722
|
Когдато давно я уже задавал этот вопрос и мне ответили , но не могу найти сейчас.
Там есть фильтры с кодом -4, если не ошибаюсь, под которым идут логические OR NOT AND. Забыл как их формировать. Справка AutoCAD 2008 RUS пишет, что данный раздел отсутствует. Если у кого в справке есть этот раздел скиньте пожалуйста сюда. Или хотябы напишите как правильно формируется открывающий и закрывающий список. Нужно срочно. Заранее благодарен. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Лови:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Проектировщик СС Регистрация: 24.06.2008
Минск
Сообщений: 134
![]() |
Logical Grouping of Filter Tests
You can also test groups by creating nested Boolean expressions that use the logical grouping operators shown in the following table: Grouping operators for selection set filter lists The grouping operators are specified by –4 groups, like the relational operators. They are paired and must be balanced correctly in the filter list or the ssget call will fail. An example of grouping operators in a filter list follows: (ssget "X" ’( (-4 . "<OR") (-4 . "<AND") (0 . "CIRCLE") (40 . 1.0) (-4 . "AND>") (-4 . "<AND") (0 . "LINE") (8 . "ABC") (-4 . "AND>") (-4 . "OR>") ) ) This code selects all circles with a radius of 1.0 plus all lines on layer "ABC". The grouping operators are not case-sensitive; for example, you can specify "and>", "<or", instead of "AND>", "<OR". Grouping operators are not allowed within the –3 group. Multiple application names specified in a –3 group use an implied AND operator. If you want to test for extended data using other grouping operators, specify separate –3 groups and group them as desired. To select all circles having extended data for either application "APP1" or "APP2" but not both, enter the following: (ssget "X" ’((0 . "CIRCLE") (-4 . "<XOR") (-3 ("APP1")) (-3 ("APP2")) (-4 . "XOR>") ) ) You can simplify the coding of frequently used grouping operators by setting them equal to a symbol. The previous example could be rewritten as follows (notice that in this example you must explicitly quote each list): (setq <xor ’(-4 . "<XOR") xor> ’(-4 . "XOR>") ) (ssget "X" (list ’(0 . "CIRCLE") <xor ’(-3 ("APP1")) ’(-3 ("APP2")) xor> ) ) As you can see, this method may not be sensible for short pieces of code but can be beneficial in larger applications. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Да просто потому что разработчики справки в ссылке опечатку сделали. Или заготовили ссылку, а нужную страницу не написали. Или написали, да удалили, может быть нечаянно. Понедельник день тяжелый не только у нас.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Скорее всего, это глюк локализации.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Помогите, пожалуйста, разобраться.
У Полещука в книге "AutoLISP и Visual LISP в среде AutoCAD" написано: Цитата:
Код:
Что не так? |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Олег (jr.), а как в твоем варианте выбрать ТОЛЬКО полилинии, проходящие через точку pt?
Do$, не пойму, причем тут погрешность и числа с плавающей запятой? В варианте Полещука выбирается тот примитив, который является самым новым в порядке прорисовки, т.е. самый "верхний". Если его убрать за объекты, выбирается другой примитив, проходящий через эту точку. |
|||
![]() |
|
||||
Ну тогда уж (хотя это всё извращение):
Код:
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
Цитата:
Код:
Последний раз редактировалось Олег (jr.), 18.02.2013 в 20:45. |
|||
![]() |
|
||||
Не должно. Так в лучшем случае будет выбирать если точка рядом с вершиной полилинии. Это если не считать ошибку в знаках у mapcar.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Дизайнер-конструктор Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
![]() |
Подскажите, как поправить код
Написал сам, вроде работает. Не сильно разбираюсь,как сделать: Сейчас программа автоматически находит и печатает ВСЕ рамки-блоки. А хотелось бы задать область (т.е. обвожу часть чертежа, и только там ищутся эти рамочки для распечатки) Код:
__________________
Kiev, Ukraine |
|||
![]() |
|
||||
Дизайнер-конструктор Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
![]() |
Ну во -первых указанием двух точек не всегда годится, т.к. распечатывать надо не всегда то, что лежит внутри прямоугольника. А часто часть чертежей с одного места, часть с другого...
Хотелось бы именно ВЫДЕЛЕННУЮ ЧАСТЬ ЧЕРТЕЖА сделал так: Код:
__________________
Kiev, Ukraine |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Для чего нужны фильтры слоев?Как ими пользоваться? | Aysulu | AutoCAD | 43 | 17.04.2019 10:59 |
Изменение полей (fields) | RomanM | AutoCAD | 20 | 24.08.2016 22:39 |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |
Отображение GRID при выполнении команды PAN REALTIME | MAX-MAX | AutoCAD | 10 | 29.06.2009 18:43 |
Прозрачные команды | Vova | AutoCAD | 17 | 21.06.2006 05:33 |