ADN Club > AutoLisp / VisualLISP и DCL
Создание мультивыносок
АлексейТ:
Прошу помогите кто ни будь!
Я пытаюсь создать лисп превращающий выбранный текст или мультитекст в
мультивыноску, но видать из за скудности моих познаний в данной тематике
не удаётся преодолеть ошибочку (пишет ошибка неверный список)!
--- Код - Auto/Visual Lisp [Выбрать] ---Привожу текст искомого лиспа:(defun c:vin (/ vin lst t1 t2 t3 t4) (setq t1 (ssget "_:S")) (setq t2 (ssname t1 0)) (setq t3 (entget t2))(setq t4 (nth 1 (assoc 1 t3))) (setq vin (getpoint)) (VL-cmdf "_mleader" vin t4 ""))
Александр Ривилис:
Приветствую на форуме!
1. Создание одинаковых сообщений в разных ветках форума запрещено (п. 4.2. Правил).
2. Эта строка точно неверна. Проверь её:
--- Код - Auto/Visual Lisp [Выбрать] ---(setq t4 (nth 1 (assoc 1 t3)))
АлексейТ:
Александр если я не использую функцию nth то возвращается список (1 . "тект")-это если ещё убрать команду _mleader , а вместе с этой командой возвращается сообщение что "В команду послан неверный тип
nil".
Потому то я логично поразмыслив и решил что функцией nth изыму сам "текст", но увы не так не так не работает.
P.S.^По поводу задвоения тем приношу свои извенения стыдно признаться но я вообще впервые пользуюсь услугами форумов.
Александр Ривилис:
--- Цитата: АлексейТ от 28-04-2015, 14:10:16 ---Александр если я не использую функцию nth то возвращается список (1 . "тект")-это если ещё убрать команду _mleader , а вместе с этой командой возвращается сообщение что "В команду послан неверный тип
nil".
--- Конец цитаты ---
В этом случае нужно пользоваться функцией (cdr), а не (nth), так как у тебя не обычный список, а точечный.
Вообще же есть большая тема на dwg.ru о создании мультивыносок: http://forum.dwg.ru/showthread.php?t=27965
АлексейТ:
Благодарю!
Непременно изучу!
Навигация
Перейти к полной версии