|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
SSGET - порядок следования элементов
инженер-проектировщик КИПиА
Минск
Регистрация: 30.08.2008
Сообщений: 159
|
||
Просмотров: 5472
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,407
|
Сортировать можно: преобразовываешь набор в список элементов, и потом vl-sort несколько раз
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
А зачем несколько раз???
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,407
|
Сначала сортировка по одной координате, потом - по второй, и последний раз - по третьей.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Лисп конечно быстр со списками, но ИХМО написать проверку посложнее, но однопроходную - не проверял, но что-то типа:
Код:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
![]() Ты ждёшь готовое решения(функцию) или подсказки в конкретных вопросах?
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
1.
Цитата:
3. Формируешь новый набор из отсортированного списка
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
КИП, АСУ ТП, слаботочка Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422
|
kakt00z,
как сортировать, тебе описал верно Дима_ (самую важнужю часть кода - условие сортировки). А порядов в ssget наборах все-таки зависит от точки вставки - я экспериментировал и получил такой результат. ПРичем, сортировка идет по всем осям. ПО Y точно - сверху вниз (в убывающем порядке), по остальным осям - наверное также. Как раз недавно сделал прогу для печати всех форматок чертежа, с сортировкой по координатам, чтобы проект печатался в нужном порядке. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
По моему в ssget еще играет роль через какие опции формировался набор (например если линией выбирать - то он по ней и выдает), но я считаю так - раз это не документированно, значит может отличаться в зависимости от версии (как в уже выпущенных, так и в будующих) - так что, по хорошему, правильней все равно сортировать по нужным параметрам (но иногда конечно лениво).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 03.05.2009
Сообщений: 112
|
Разные способы сортировки точек
|
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
я не мот
![]() Логично, кэп! Лично я не советую Цитата:
и вообще не понятно что именно и для чего сортировать. И наверняка задача уже не раз решена, но так, как она не озвучена, то трудно что-то реальное советовать |
|||
![]() |
|
||||
Цитата:
а вот моя функция сортировки, наверняка далеко не всё идеально, поэтому постеснялся выкладывать в Библиотеку функций [IMG]http://s018.***********/i518/1202/70/565d9a2b6dc5.jpg[/IMG] Код:
__________________
Почему все вдруг становятся умными, когда уже не надо? Последний раз редактировалось Disney, 07.02.2012 в 08:12. Причина: добавил функцию сортировки |
||||
![]() |
|
||||
инженер-проектировщик КИПиА Регистрация: 30.08.2008
Минск
Сообщений: 159
|
Ух как тут все активно было)))))
безмерно благодарю ответивших ![]() а ответ то был прост... как я понял... набор соритировать ... нецелесообразно ![]() 2 gomer - раз ответил - значет мот :-P а вообще, извиняюсь за недопиСки 2 Disney - внимание ![]() еще раз всем спасибо |
|||
![]() |
|
||||
Регистрация: 25.02.2013
Сообщений: 2
|
Доброго времени суток, господа. Интересует пара вопросов по данной функции:
1) Произведен выбор функцией SSGET и начинается перебор: как прервать цикл на Лиспе (или пропустить ненужную выборку. (на паскале это функции break и continue)?? 2) Почему при записи в строковую переменную stroka возникает ошибка. Автокад пишет, что текст (который я записываю в переменную) не является функцией. Может я что напутал с типом переменных?? код: Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 25.02.2013 в 20:57. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Цитата:
тебе надо или добавить progn ... или объеденить два setq в одно. Забудь в лиспе про этот метод раз и навсегда (а лучше не только в лиспе). Устанавливай флаг выхода и вперед, а вобще что while, что setq являются атавизмами лиспа и используются, либо в очень ограниченных случаях связанных с ограничениями автолиспа, либо "паскалевцами" потому как им "так удобней" - особенно когда не знают как по другому. Мой совет - или работай с автокадом из паскаля (delphi), или пиши на лиспе по лисповски - то что написанно у тебя - чесание правого уха левой ногой - неэффективно с любой точки зрения.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 25.02.2013
Сообщений: 2
|
Цитата:
Я всегда писал только на паскале. Лисп для меня пока сложен и непонятен. вот разбираюсь, как могу... |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание дополнительных параметров Visibility Set в динамических блоках. | Supermax | Программирование | 716 | 22.07.2024 11:04 |
Случайный эксцентриситет | p_sh | Прочее. Архитектура и строительство | 14 | 22.07.2009 11:32 |
Проблема с функцией ssget | Scorpio_1986 | Программирование | 4 | 26.05.2009 10:07 |
Нумерация объемных элементов при моделировании грунта в SCAD | Den_Den | SCAD | 11 | 20.11.2008 04:27 |
Lisp: Список элементов в слоях | ALFMario | LISP | 4 | 29.04.2008 17:26 |