|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
30.09.2016, 17:19 | #1 | |
Lisp. Не могу взорвать вложенные блоки
Отопление и вентиляция
Москва
Регистрация: 31.10.2008
Сообщений: 445
|
||
Просмотров: 2912
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
А если внутри блока солиды... А если он вставлен еще и не с равными масштабами... Уже разбирал: http://autolisp.ru/2014/07/29/explode-vs-vla-explode/
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Ты не учитываешь вариант, что разбития не произошло. И все равно удаляешь вхождение. Точнее, пытаешься: мне достаточно будет заблокировать слои - и программа работать не будет.
Кстати, а зачем ты два раза повторяешь одно и то же?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Отопление и вентиляция Регистрация: 31.10.2008
Москва
Сообщений: 445
|
в перый раз ропверяет вложенные элементы в блоках, во второй ищет сам блок.
если у этих блоков один префикс, то тем более они не нужны ) |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Меня ты явно не услышал. В блок загони 3Д-солид, вставь его с неравными масштабами внутрь другого блока и выполни свою функцию. Это раз. Второе: есть такая штука, repeat называется. Третье: попробуй пошагово выполнить свой код. Что-то я подозреваю, что во второй цикл (точнее, в vla-explode) ты и не зайдешь. И последнее: слои пофигу? Ошибки выполнения тоже?
В качестве первого приближения, написано без тестирования, исключительно в иллюстративных целях (поэтому критика не принимается, вот такая я дрянь ): Код:
Ну, а очистку сам сделаешь
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.06.2011
Сообщений: 8
|
Алексей, а могли бы прокомментировать, тема интересная. У меня этот код не выполняется, появляется сообщение:
Команда: (dwgru-explode-and-erase) ; ошибка: слишком мало аргументов Что может быть не так? запускаю в AutoCAD 2014 SP1 |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Так а имя блока кто будет указывать?
http://dwg.ru/pub/9
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.06.2011
Сообщений: 8
|
Не понимаю, как это делается. В программировании в лиспе я 0. Как лиспы использовать читал, другие устанавливал без проблем. Но коды в этой теме какие-то особые, похоже, не полные. Как прикрутить к ним нужные блоки не понимаю.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
(dwgru-explode-and-erase (vla-get-effectivename (vlax-ename->vla-object (car (entsel "\nSelect block : ")))))
Примерно так
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.06.2011
Сообщений: 8
|
Выбор работает хорошо. Спасибо. Но вот с лиспом (или с моим автокадовским файлом) что-то не так. После выполнения лиспа блок 1 уровня взорван, внутренние блоки остались целыми и часть элементов просто исчезает. А хочется, чтобы взрывались все внутренние блоки (в том числе с многоуровневым вложением), как статичные, так и динамические, блок 1 уровня оставался целым. И совсем было бы круто обрабатывать все блоки в чертеже за раз. Вот такая у меня мечта.
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Бетонные блоки у дороги - расстояние | Apelsinov | Прочее. Отраслевые разделы | 9 | 10.09.2014 11:29 |
Autolisp Шифрование LISP файлов | mikls | LISP | 4 | 07.06.2014 16:16 |
Динамические блоки при копировании перестают быть динамическими. | *Voland* | Динамические блоки | 11 | 04.07.2012 10:51 |
LISP. Не могу поставить диаметр окружности | Буджум | LISP | 7 | 21.10.2009 09:54 |
Lisp. Изменение свойств у ячеек таблицы. Не могу докопаться до vla объекта. | Kirzaa | LISP | 2 | 21.09.2009 10:32 |