Предыстория возникновения
этой странички и темы в целом тут
В продолжение темы на предмет выявления не только глюков,
но и совместимости и "дружелюбности" к настройкам
пользователя программ сборника "Довески" возникло
следующее предложение Александра
Оконечникова дополнить известный файл ai_utils.lsp.
" С моей стороны предлагается
его небольшая доработка для расширения возможностей
(см в конце: ai_table_sort) для примера того (одно из
возможных направлений), как можно было бы достраивать
"Довески". Причем речь идет не о тысячах функций, которыми
ежедневно пользуются программисты, а действительно хороших,
универсальных и многозадачных."
Здесь будут собираться все присылаемые LISP-функции
для сборника "Довески".
Цель выделения и публикации функций:
обсуждение самих функций,
доработка при необходимости,
использование функций в новых программах,
использование функций как стандартных утилит сборника.
Для обсуждения используйте форум,
гостевую книгу или свяжитесь
с автором напрямую.
Программа запоминает значения
системных переменных измененных во время выполнения
лисп программ или лисп выражений введенных в командной
строке или консоли редактора Vlisp и восстанавливает
их значения после завершения работы этих лисп программ
(выражений) Программа не прошла достаточного тестирования
, поэтому неизвестно какое влияние она оказывает на
работу других программ. Для работы применены временные
(transient) реакторы которые не сохраняются в файле
чертежа.(программу необходимо запускать стандартными
методами).
Режимы работы программы:
1.Восстанавливать переменные во всех случаях
2.Восстанавливать переменные только при выходе из Lisp
программы по esc
3.Выводить имена измененных переменных без их восстановления
Введите нужный режим работы [1/2/3]: 1
На запрос нужно ввести 1 2 или 3
В процессе работы Вы можете изменить режим работы программы
повторно вызвав команду (recover-sysvar2)
Жду Ваших отзывов по
удобству использования, пожеланий по усовершенствованию,
сообщений о некорректной работе.
Эта функция, построенная
на известной, но малоиспользуемой команде CAL, позволяет
производить вычисления всех тригонометрических и обратных
им функций, делать перевод из градусов в радианы и обратно,
разобраться с логарифмами, экпонентами, корнями, модулем
и округлениями. Надеюсь, что эта функция избавит многих,
особенно начинающих, от необходимости "изобретать велосипед".
MATHEM - библиотека функций
вычислений:
$co_s - Вычисление косинуса угла, заданного в градусах
$Dist - Вычисление расстояния между двумя точками
$GetH - Вычисление световой высоты по стрелке прогиба
поверхности
$GetRound - Округление в сторону увеличения
$GetStrl - Вычисление стрелки прогиба поверхности
$Parax - Определение основных параксиальных характеристик
линзы
$Rad_Gr - Перевод радианы-градусы
$si_n - Вычисление синуса угла, заданного в градусах
$ta_n - Вычисление тангенса угла, заданного в градусах
ocrugl - Округление вещественного числа до целого
INPUT - библиотека функций ввода-вывода:
$GetAns - Ввод строки из списка допустимых значений
$GetAnswer - Ввод строки с вариантом "по умолчанию"
$GetPnt - Ввод точки с вариантом "по умолчанию"
$GetTxt - Выделение первого слова
$GetVal - Ввод вещественного числа с вариантом "по умолчанию"
$GetVal_i - Ввод целого числа с вариантом "по умолчанию"
TxtFile - Вывод текста из файла на чертеж
USEFUL - библиотека полезных
функций --- Для рисования---
ChCol - Циклическое изменение цвета
DrawWmf - Формирование WMF-файла (A4)
LayOn - Функция создания слоя
MidPt - Середина между точками
PtShow - Установка указателя на точку
PurgeA - Удаление слоев, стилей
RegSnap - Очищение экрана, установка привязок
ShowPt - Показ точек на экране
ShowPline - Рисование полилинии по списку точек
ShiftXY - Сдвиг точки по Х и У
ShiftP - Полярный сдвиг точки (в радианах)
ShiftP_g - Полярный сдвиг точки ( в градусах) --- Разные функции ---
$ale - Счетчик для тестирования программы
CheckSave - Проверка на сохранение файла чертежа
FewView - Функция разбивает основной вид на подвиды
PriExp - Вывод значения с примечанием
PriX - Вывод имени переменной и значения её
Ret_Urn - Возвращение данных из подпрограммы
VarsGet - Запись параметров чертежа в список
VarsSet - Установка системных переменных
Wait - Пауза с выводом сообщения
ZoomS - Установка необходимого увеличения
ZomAsk - Опрос и установка необходимого увеличения
ZoomVw - Команда запрашивает и устанавливает
увеличение