Магадан, Омолонская ГРЭ,"Кубака" | |||||
пользователям
AutoCAD 15-18 (Acad 2000 - 2012) |
|||||
обновление 05.11.2004 | СПДС. ПРИМЕРНАЯ СТРУКТУРА LISP ПРОГРАММЫ. |
|
Учиться,
учиться и еще раз учиться.
Мне часто (даже порой чересчур) приходится выполнять демонстрационную графику. И наши боссы любят повторять фразу, которая в вольном переводе на русский звучит как "Даешь наглядность!" (Easy to see, easy to read.), вот и приходится изощряться, как правило выделять текст разного рода рамками. Конечно очень помогала в этом программа из Express, да и старая моя программа BOXTXT тоже выручала. Но... Я решил убить сразу двух зайцев. Задача отрисовки рамок для текста хорошо подходит для демонстрации многих функций AutoLISP, приемов программирования, и организации программы. Предлагается Вашему вниманию программа с условным названием ABC_PRGNAME. При написании программы я старался поподробнее описать действия программы и свои методы. Думаю начинающим программистам, да и остальным, любопытно будет посмотреть на организацию программ по моему стандарту, выработанному путем проб и ошибок за десятилетие. Из кирпичиков (функций и фрагментов кода) можно быстро составить свои программы. Берете темплет, переименуете имена, отсекаете лишнее, добавляете новое, влюбляетесь в свое детище и получаете программную Галатею. Попробуйте добавить обработку MTEXT, сделать проверку на параллельность текста текущей системе координат, подправить ошибку при перемещении текста и рамки с отметкой не равной 0.0 и др. Программу в окончательном варианте можно посмотреть в действии скачав со странички загрузить FA. В состав программы входят следующие файлы, которые можно открыть для просмотра: ABC_PRGNAME.LSP - собственно
программа на языке LISP В голове программы весьма желательно описать следующие выходные данные: ;* имя программы, ABC-общий префикс для комплекса программ разработчика, или иной, конечно ;* перечень ссылочных файлов: функций, файлов данных и др. ;* описание и назначение программы ;* ограничения в функциональности программы, что она не обрабатывает ;* версия AutoCAD ;* автор и его координаты, Email, сайт и пр. В программе использованы следующие соглашения: ;* Имена функций пользователя набираем ЗАГЛАВНЫМИ буквами, ;* а функций LISP - строчными, чтоб не путаться ;* ABC_ - префикс имени функций из файла функций, сразу видно где их искать ;* abc_ - префикс имени переменной, которую необходимо сохранять до закрытия ;* чертежа, как правило основные параметры программы) ;* glob_ - префикс имени переменной, которую необходимо сохранять ;* в течении жизни программы (переменныей вносятся в список за символом ;* / в главной программе) ;* ;* Избыточность комментариев в программе объясняется учебными целями. Команда программы и главная функция находятся в конце файла. Как правило код программы наращивается снизу вверх. При этом легко находятся как главные функции, так и те, которые в работе в настоящий момент. По окончании работы программы в памяти остается только небольшой кусок кода, который загружает программу и передает управлению главной функции. Остальные функции - обнуляются. Подготовительные действия:
Действия по завершению программы:
При условии, что файлы программы размещаются в одном из
каталогов поиска файлов (см.коаманду AutoCAD OPTIONS, Support file search
path), загрузка и запуск программы из меню и иконок организуется следующим
образом (если команда, функция и файлы переименованы, например, в BOXTXT): Запуск из командной строки после загрузки программы - имя команды (программы).
Файлы учебной программы можно скачать отсюда.скачать прямо отсюда. Жду критики.
|
при полном или частичном использовании материалов сайта ссылка на источник обязательна | ©2002-2012 |