|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,430
|
Как минимум - в объявлении функции. "/" должен отделяться пробелами с обеих сторон.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектирование а/дорог Регистрация: 03.07.2013
СПб
Сообщений: 388
|
Цитата:
*** если повернуть Ваш файл в 3д , сразу видно какие отметки вылетают из диапазона высот. Их можно удалить рамкой. Заодно будет понятно что блок собран "своеобразно" (отметка текста и отметка точки разнесены по оси Z) *** еще вспомнил про _mapclean Последний раз редактировалось Linkshunter, 05.03.2025 в 16:42. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,430
|
Для автоматического выполнения анонимной функции
----- добавлено через ~2 мин. ----- Тема плавно переходит в разряд дубля "Научите лиспу на примере..."
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 16.04.2016
Сообщений: 107
|
Цитата:
Цитата:
Подправил, результат тот же. ![]() Код:
|
|||
![]() |
|
||||
как mapcar может сработать если есть функция, ooooчень сомнительная и НЕТ списка? поэтому и аргументов не хватает. этот кусок лиспа просто шедеврален по своей бессвязности)
ведь очевидно, что должно быть как-то так Код:
__________________
K Lisp |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,430
|
Offtop: Ну блин, я ж сразу сказал, что писал насухую, без проверок. ЕМНИП, вообще чуть ли не с телефона.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 16.04.2016
Сообщений: 107
|
Мне часто приходится обрабатывать данные так называемой "Съемки". В свое время такие "съемки" сразу объявлялись браком. Теперь условия изменились, появились "специалисты", с гордостью нажимающие кнопки и объявляющие себя "геодезистами". Так вот, на предоставляемых ими "съемках" попадаются моменты, когда в одной точке наложены 2-5 пикетов. Если высоты этих пикетов отличаются незначительно, построение поверхности из 3д-граней вылетает. Ну, а если (бывает и такое) разброс высот достигает 10 м и более, то совсем швах. Так что цель одна - убрать лишнее.
|
|||
![]() |
|
||||
Регистрация: 16.04.2016
Сообщений: 107
|
Строго не судите. Наверно, можно как-то оптимизировать. Может кто подскажет?
Код:
Алексей, самое главное, что вы указали нужное направление. А уж как я это попытался реализовать, тут вы ни причём. Последний раз редактировалось 1958, 06.03.2025 в 12:36. |
|||
![]() |
|
||||
07 (cons (mapcar '+ '(0 0 0) (trans (cdr (assoc 10 (entget ename))) 1 0)) ename)
если нужны 3d координаты, то (mapcar '+ '(0 0 0)... не нужна, она ничего не изменит, в предыдущем варианте координаты с её помощью приводились к 2d то есть должно стать 07 (cons (trans (cdr (assoc 10 (entget ename))) 1 0) ename)
__________________
K Lisp |
||||
![]() |
|
||||
Сергей812,
почему с вашим каждым приходом в тему, имеющую отношение только к лиспу мы всенепременно ежекаждый раз скатываемся в .net? это ведь какбэ совсем другое))) ----- добавлено через ~5 мин. ----- 1958, а как вообще нужно сравнивать блоки. по заголовку вроде как в плане, то есть 2d?
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 16.04.2016
Сообщений: 107
|
Была задача найти дубли блоков и пометить их. Кулик Алексей aka kpblc написал прекрасный код. И подумал, что можно как-то этот код переделать для удаления лишних блоков, а маркировку оставить для блоков, совпадающих в плане, но отличающихся по высоте - тут выбор за пользователем, что оставить, что удалить.
|
|||
![]() |
|
||||
Регистрация: 16.04.2016
Сообщений: 107
|
Спасибо, интересно. Но тут выделяются (маркируются) все дубли.
Я собрал вариант, где сначала удаляются дубли боков в пределах 0.1, а затем маркируются дубли блоков, совпадающих в плане, но с большим отлетом по высоте. Код:
|
|||
![]() |
|
||||
Offtop:
Цитата:
В них есть MAPCLEAN с возможностью находить накладывающиеся объекты - помечать их или удалять повторяющиеся. И не только блоки. Работает очень быстро. И позволяет в разных вариантах-режимах находить-исправлять еще много что, находить-исправлять сразу различные случаи и т.д. Почему Autodesk не включил этот CLEAN в базовый AutoCAD - необъяснимо. В MAPCLEAN нет ничего специального. Кстати, примерно месяц назад в рассылках Autodesk говорилось о добавлении неких проверок в AutoCAD.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Очистка рисунка от "пустых" блоков | Makswell | Готовые программы | 15 | 26.10.2022 15:24 |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Поиск блоков пересекающих полилинию | tujn08 | Программирование | 80 | 13.03.2019 00:08 |
Канализационный лоток на плане полов или на плане фундаментов? | Виталька Паустовский | Основания и фундаменты | 3 | 09.12.2009 11:51 |
VBA: утечка памяти при вставке блоков | Mikha | Программирование | 13 | 03.04.2009 09:18 |