Разница между ‘ и function
Просматривая чужие коды, можно наткнуться на странное применение ' и function - их ставят "как бог на душу положит". Вот примеры вполне адекватных кодов:
1 | (mapcar '1+ '(1 2 3)) |
1 | (mapcar (function 1+) '(1 2 3)) |
Код без ошибок – возможно ли?
Коды, которые Вы будете разрабатывать, должны быть не только удобны и обладать приемлемым быстродействием, но и быть безошибочными. Что подразумевается под безошибочностью?
Все достаточно просто: в любом случае, после завершения работы функции (корректного или некорректного - это неважно) AutoCAD должен принять вид, который был установлен пользователем до вызова функции. Логические ошибки типа (/ 50. 0.) отследить просто, но как отследить ошибки пользователя? Например, нажатие [Esc] в самый неподходящий момент?
Есть несколько вариантов.
Далее
О форматировании кодов
На сайте будет представляться некоторое количество кодов. Чтобы избежать всяких-разных нехороших ситуаций, хотелось бы обозначить правила именования функций и переменных, а также оформления кодов.
Далее
Полезности в редакторе VLIDE, часть 2
Как и было обещано ранее, продолжаем разговор.
Несмотря на "продолжаемость" разговора, здесь я буду рассказывать только про те клавиатурные сочетания, которыми сам пользуюсь постоянно.
Далее
Полезности в редакторе VLIDE
Известно, что для написания кода LISP или DCL можно пользоваться разными средствами. Особо продвинутые программисты способны писать код и в блокноте (notepad), и в Notepad++. Но, может, не стоит изобретать велосипед и попытаться работать в специально разработанной для этого среде?
Далее
Зачем этот сайт?
Сайт планируется сделать как пояснение языку AutoLISP и его расширению VisualLISP: коды, разбор функций LISP, вопросы по работе с ActiveX и т.п.
Почему именно lisp?
Ну, во-первых, язык достаточно простой и в то же время достаточно мощный. В отличие от VBA / .NET / arx коды, написанные с использованием lisp, как правило, не требуют никакой переделки независимо от версии AutoCAD - это во-вторых. В третьих, lisp-коды, как правило, могут работать и внутри CAD-систем, отличных от AutoCAD (BricsCAD, zwCAD...). И, наконец, в-четвертых, сайт только начинается, что дальше будет - неизвестно никому
Обязательное дополнение: подавляющее большинство информации из разряда "As Is" и "imho". Если у Вас есть опровержения, дополнения, уточнения и т.п. - прошу, высказывайтесь.
Архив Alaspher’a
Петр Лоскутов, профессиональный программист на AutoLISP, в свое время на сайте uniip.ru выкладывал свою библиотеку lisp-функций. К сожалению, сайт изменили и "достучаться" до этих интереснейших функций невозможно. Но не все так плохо.
Далее
X vs Y
Пост рожден обсуждением в Skype и мелькнувшей там ссылкой "Правила боя". Так сказать, собственное видение ситуации.
Рано или поздно каждая фирма и каждый пользователь встает перед выбором - какое программное обеспечение выбрать для своих целей? Естественно, возникает желание провести, так сказать, соревнование между разными программными продуктами. Я бы хотел сказать, почему это практически невозможно. Рассматривается вариант с широко распространяемым, то есть не написанным на заказ, программным обеспечением.
Далее
Создание слоев на основе txt-файла
Иногда встречаются ситуации, в которых необходимо быстро и абсолютно точно создать несколько десятков / сотен / тысяч слоев с заданными заранее установками. Настройки хранятся в файле txt либо csv, разделитель полей - символ табуляции или ";".
Если первый символ строки ";", то строка исключается из обработки (комментарий).
Пример содержимого файла:
1 | ИмяСлоя 1 1 1 2 hidden By Default None 1 0 |
1 2 | Последовательность данных: Имя|Исключен|Исключен|Исключен|Цвет|Тип линии|Вес линии|Исключен|Печатается| Остальные столбцы исключаются |
Логическое поле "Печатается" может содержать 0 (переводится как false, т.е. непечатаемое); любое другое значение переводится как true.
Цвет слоя может быть только числовым от 1 до 255.
Далее