|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
В показанном варианте вызова функции как такового не происходит. Это просто объявления двух функций, одна из которых используется внутри другой. Фактически, первый вызов был тут:
Код:
Цитата:
magiker, как я понял, у тебя сложность с формированием списка. Для этого есть две полезные функции: cons и append. Cons - добавление в список элемента на первое место, append - слияние списков в один. Примеры: Код:
- если второй аргумент не является списком или nil (nil по сути есть пустой список), то создастся точечная пара. Примеры: Код:
Код:
|
||||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Цитата:
Код:
Дело в том, что сначала код загружается в память. Оперативную. Опеределённые программистом функции вносятся в список лисп-символов (на равне например со стандартными символами setq или тот же defun и т.п.), а потом уже происходит выполнение этого кода. Как-то так я всё это себе представляю. Хотя может быть мы вообще о разных вещах говорим. Добавлено: Вот кстати для наглядности. В смыле, что имел ввиду, говоря, что функция вносится в список лисп-символов. Цитата:
Последний раз редактировалось Makswell, 30.04.2010 в 09:36. |
|||
|
||||
Регистрация: 29.04.2010
Сообщений: 15
|
Do$, Makswell, спасибо за советы. Со списками разобрался более-менее. Теперь у меня есть список вида ( (х1.у1) (х2.у2) (х3.у3) ... ) А как из точек, описанных в этом списке, построить линию? И не совсем понятно, что лучше использовать - _.line или _.pline
|
|||
|
||||
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
"_none" это опция привязкию По русски "Ничего". Попробуй вместо "_none" "_non". Геоникс случайно не установлен?
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 15.01.2010
Сообщений: 254
|
Нашел lisp...
Код:
Т.е. если, например, отрезок имеет начало в т. (548;762) и конец в (987;759), то сначала выравнивание по горизонтали, а затем - по точкам (550;760) - (985;760). Зачастую попадаются чертежи, выполненные без привязки или нарушенной ортогональностью |
|||
|
||||
magiker, Убери "_none" совсем. А еще лучше покажи листинг того, что делаешь
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 29.04.2010
Сообщений: 15
|
VVA, опишу тогда все с самого начала для большего понимания. Дана функция, заданная параметрически, т.е.
x = Fx(t) y = Fy(t) Надо построить график этой функции На текущий момент код имеет такой вид Код:
Ну и совсем уж идеальный вариант - добавить функцию для рисования осей координат с делениями. И чтоб оси были одного цвета, а график чуть толще и другого цвета З.Ы. АвтоЛИСП, равно как и АвтоКАД, вижу впервые в своей жизни, так что за кривой код строго не судите |
|||
|
||||
magiker, Вроде как так
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 02.05.2010 в 13:13. |
||||
|
||||
Регистрация: 29.04.2010
Сообщений: 15
|
Спасибо, все работает. Только немного непонятно с толщиной (весом) линии. Пробовал разные значения - разницы так и не увидел. В чем подвох? )
И еще такой вопрос - как удалить все что нарисовано, очистить лист? С удалением разобрался, а вот с толщиной линии все еще не понятно. Разницы не вижу хоть убей Последний раз редактировалось magiker, 02.05.2010 в 20:40. |
|||
|
||||
Цитата:
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 03.05.2010 в 18:04. Причина: Орфография |
||||
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
Добрый день!
Пополняю ряды чайников! Начал изучение лиспа с разбора кода, сделанного VVA. Весь файл находится в сообщении по этой ссылке: http://forum.dwg.ru/showpost.php?p=179141&postcount=1 пока что заткнулся на вот этой строке (выделено красным): Код:
1. ssnamex - извлекает примитив из набора по порядковому номеру 2. cadr - извлекает второй элемент из списка, который даёт (ssnamex ss) 3. mapcar - повторяет п. 2 с каждым элементом набора ss 4. listp - проверяет, является ли списком то, что получилось в результате п.3. заткнулся на функции vl-remove-if - не понял как работает. То есть через командную строку прогнал, посмотрел что на выходе даёт, но не понял как. в "Visual Lisp и секреты адаптации AutoCAD" (издание 2001 г.) читаю: "Удаляет из списка все элементы, возвращающие Т при проверке тест-функцией" тест-функция - здесь listp по этому описанию выходит, что эта функция удаляет из списка как раз те элементы, которые нам нужны, чего на практике не происходит.
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. Последний раз редактировалось kha, 04.05.2010 в 18:34. |
|||
|
||||
Неверно. Найди разницу между функциями ssnameX и ssname
Цитата:
Цитата:
Цитата:
Функция vl-remove-if применяет тестовую ф-цию listp к каждому элементу списка, возвращенноно ф-цией п.2 и удаляет из списка те элементы, у которых listp вернула истину. Т.е. те элементы, которые являются списками, в том числе и nil - пустой список. Код:
то, на шаге 4 он принял бы вид (<Имя объекта: 7ef835f0> <Имя объекта: 7ef834d8>) Два последних элемента списка vl-remove-if удалит, так как если к ним применить listp, то она вернет истину.
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 05.05.2010 в 09:18. |
||||
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
VVA: спасибо за разъяснения, всё понял!
Буду копать дальше, потом выложу этот лисп с подробными пошаговыми комментариями. Ну и если возникнут вопросы по ходу изучения - буду писать сюда
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |