G trail автокад как пользоваться
Более сорока лет назад разработан и внедрен в использование для выполнения целей искусственного интеллекта язык программирования LISP (ЛИСП), позднее ставший популярным среди пользователей ПО AutoCAD. Он создан для символьных вычислений. С течением времени был преобразован, чтобы соответствовать новым потребностям ИИ.
Начинающим пользователям, изучающим его архитектуру, рекомендуется рассматривать его в качестве формальной знаковой системы.
Это imperative language (императивный), действия которого описывают выполнение алгоритма, отличается от других, декларативных, предполагающих определение ограничений и соотношений в предметной сфере поставленной цели. По сравнению с другими подобными разработками С++ и FORTRAN, ЛИСП наделен большей функциональностью. Его популярность обусловлена большими возможностями для программирования в сочетании с мощным набором:
Это средства построения данных структур обозначения высокого уровня.
Конструкция
LISP синтаксис и семантика, разработанные программистами, обусловлены теорией рекурсивных функций. Символьные, s-выражения, являются элементами предложений, сочетаний. В них представлены софты и файлы. Они могут отображаться в виде списка (list) или атомов (atom).
Во втором варианте включены числовые комбинации, цифры, буквы латинского алфавита и знаки: *, -, +, /,@, %, , &, _, ,
Несколько поочередно идущих абзацев составляют каталог. Они обязательно разделяются пробелами и замыкаются в скобки.
Составляющими одних перечислений могут служить другие, более мелкие, подпункты. Символьные структуры разной формы и уровня сложности можно создавать благодаря произвольной углубленности и вложенности. Существует пустая строка, она обозначается – () и называется «nill». При возведении информационной структуры, а также при способе управления ею, она играет особенную роль, представляясь одновременно и атомом, и списком.
Язык LISP относится к языкам программирования, которые используются для создания дополнительных загрузок к ПО по проектированию и моделированию. Для их использования необязательно хорошо разбираться в компьютере на уровне профессионала.
После изучения основных принципов работы в таких пакетах, как AutoCAD или ZWCAD 2018 Professional, который является аналогом ACAD, появляется необходимость упростить выполнение длительных рутинных операций или полностью избавиться от них. Для этого дополнения и нужны. Если они написаны на ЛИСПе, скрипты называются LISP-приложения. Каждое из них представляет собой текстовый файл с определенным встроенным кодом для выполнения команды и подсказками от производителя. Определитесь с нужными для работы свойствами, выбирайте надстройку, скачивайте ее и загружайте в «ЗВКАД» или другую платформу. Рассмотрим возможности одного такого модуля на образце скрипта «Выравнивание текстов».
Примеры программ на ЛИСПе (lisp) для Автокада
Приложение форматирует страницу горизонтально и вертикально по заданной точке. Это полезная возможность, непредусмотренная в основном ПО. Файл с расширением *.lsp открывается двумя кликами левой кнопки мыши. В окне появится «блокнот».
Чтобы сгладить и уподобить несколько напечатанных строк в готовом чертеже, обычно приходится выполнять однообразные действия много раз. Со скачанным скриптом это выполняется одной командой (в примере указана Z-TEXT-ALIGN).
Подобные дополнения полезны на любом этапе проектирования. Их существует очень много, но совсем необязательно устанавливать все. Перед скачиванием, посмотрите, подходит ли скрипт для выполнения нужных конкретных задач. Для каждой области написаны подходящие:
- для инженерного проектирования в строительстве;
- коммунальных структур, занимающихся планированием и укладкой сетей;
- ЛИСПы Автокада для геодезистов.
Как загрузить вспомогательную часть в ПО
После выбора нужного вложения возникает надобность его внедрения. Если речь идет об ACAD, для него доступны файлы с такими расширениями:
Помимо файлов lisp также поддерживается загрузка форматов:
На примере того же модуля для выравнивания текста рассмотрим, как подгрузить в основную программу его файл.
Обратите внимание: при скачивании архивированного лисп-приложения, распакуйте его, чтобы на ПК фрагмент сохранился перед загрузкой.
Этапы установки LISP (их можно отследить по истории):
- Перейдите по пути «Управление» – «Приложения» – «Загрузить».
- В командной строке основного ПО введите «_appload».
- В окне «Загрузка/Выгрузка» найдите файл с одним из вышеперечисленных расширений и кликните «Загрузить».
- Процедура завершена. Переходите к тестированию и написанию кода.
Важно: при каждом запуске базовой утилиты нажмите кнопку «Добавить» в разделе «Добавить в автозагрузку». Если этого не сделать, то будет выполнен единоразовый вход в модуль, который не сохраняется с закрытием софта.
Команды LISP-программы для Автокада (Autocad)
В главном ПО их посмотреть невозможно, поэтому нужно обратиться к исходному файлу дополнения. Он открывается в «Блокноте», вверху которого находится название команды для запуска лиспа и вся необходимая информация для работы от его создателей. В примере указано z-text-align, что и нужно ввести в командную строку, чтобы вызвать нужный инструмент.
После этого, следите за указаниями вложения. Обычно такие скрипты интуитивно понятны и не требуют дополнительных разъяснений относительно дальнейших действий пользователя.
Обратите внимание: в случае отсутствия подобной подсказки, ищите ее в коде – в строке «defun c: z-text-align».
Вложения, написанные на диалекте, разработаны только для внедрения в полную версию ACAD и в схожие программы, например, ZWCAD 2018 Professional, NanoCAD, они не подгружаются. Для них существуют другие приложения.
Список функций лисп (LISP) – языка программирования для Autocad
С оператора defun начинается определение задач. С его помощью создают опции с переменными. Зависимо от назначения, каждая из них будет действовать по-разному.
Варианты, производимые этим оператором:
- с префиксом «С:» (circle) – команда на выполнение s-выражения в сфере деятельности;
- без приставки – их вычисления используются в теле программы-дополнения.
В каждом модуле, написанном этим диалектом, есть встроенный интерпретатор. Он выполняет вычисление введенных данных и возвращает их в программную среду для дальнейшей обработки. Готовые наработки передаются на высший уровень системы или сохраняются в переменной. Это значит, что скрипт получает информацию, когда ее вводит пользователь, или при самостоятельном выборе из существующей. Он сохраняет ее в переменную, и производит вычисления, включающие неизвестное значение и функцию.
Есть участок кода: (setq gh (+ 4 5)), где setq – одна из прописанных единиц. Она объявляет вариацию gh. В скобках знак + тоже опция, числа 4 и 5 – данные, которые были введены в систему. Значение выражения в gh сохранится, то есть 4+5 =9, gh=9. При заданном условии (setqhj (* gh 2), в результат hj сохраняется 18 – gh = 9, 9 умножить на 2 равно 18.
Синтаксис отличен от привычной большинству математики. Его порядок представлен сначала задачей, а потом переменными. В школьном счете это выглядит, как (3+2), а здесь (+ 3 2), однако, смысл одинаковый.
Список функций lisp, работа которых является основой дополнительных приложений:
- для преобразования данных (float);
- вычислений (fix);
- организации циклов (if);
- логические (and, nul,=, , or и другие);
- арифметические (+, -,
При помощи этого программного диалекта создают новые уравнения 3-х классов:
Язык, который не позволяет этого – бесполезен. Часто используется LISP в геодезии, инженерии и строительстве, применяя надстройку «Автокада».
С помощью ЛИСП изучают рекурсивную функцию, используя такую возможность, как «трассировка». Это основной и весьма эффективный способ организации вычислений, повторяющихся несколько раз.
На входе в эту ячейку печатают значения входящих параметров, а на выходе появляются результаты, полученные в ходе операции. Для этого есть специальная опция класса FSURB, называемая TRACE. При ее успешном завершении, возвращается наименование задачи. При неудачном – возврат «NIil».
Пример включения рассматриваемой возможности SUMLIST и произведения математических манипуляций, суммирования элементов списка (1 2 3 4 5):
Обратите внимание на то, что ответ на поставленную задачку ведется в ином порядке – от последнего к первому.
Используемые только для AutoCAD (Автокад) LISP программы, устанавливаются исключительно на полноценную версию и не подходят по списку функций и команд для работы в пакетах типа Autodesk LT, Electrical, Mechanical. Исключений немного, ими выступают специальные разработки типа LT Extender, с типом расширения *.arx, *.lsp.
Если имеются растры с файлами привязки .TAB (MapInfo, ТРАНСФОРМ), .jgw или .tfw , которые необходимо подгрузить в Автокад, то это приложение в помощь Вам. С ним нет необходимости подгружать, масштабировать перемещать и разворачивать каждый растр по отдельности, а достаточно установить данное приложение и выбрать необходимые файлы для загрузки.
Иногда будет удобно воспользоваться и тем, что данное приложение помимо подгрузки растров, может сформировать файлы привязки .TAB и tfw уже подгруженных растров.
Загрузка растра с файлом привязки в AutoCAD. Установка
1. Качаем архив с VLX файла для загрузки растра в AutoCAD здесь.
2. Распаковываем архив и сохраняем файл в папочку где хранятся все наши приложения, а если такой еще нет например в D:MyLisp.
3. Запускаем AutoCAD и устанавливаем VLX аналогично установке Lisp стандартным способом. Если не знаем как, читаем здесь.
4. Ну все можно пользоваться, набираем в командной строке:
(Geo_load_image "One" ) – для загрузки одного файла;
(Geo_load_image "All" ) – для загрузки всех файлов из каталога;
(Geo_load_image T) – для выборочной загрузки файлов (загрузка растра из сети не доступна);
Make_tab_file – для создания файла координат .TAB (файл сохраняется в той же папке где и растр);
Make_world_file – для создания файла координат .tfw (файл сохраняется в той же папке где и растр).
5. Ну и для вывода команд с кнопки, создаем их стандартным способом и в поле макрос пишем следующее:
^C^C^P(if (not Geo_load_image)(load "Geo_load_image_by_data_binding_v2_1.VLX" ) );^P(Geo_load_image "One" ); – для загрузки одного файла;
^C^C^P(if (not Geo_load_image)(load "Geo_load_image_by_data_binding_v2_1.VLX" ) );^P(Geo_load_image "All" ); – для загрузки всех файлов из каталога;
^C^C^P(if (not Geo_load_image)(load "Geo_load_image_by_data_binding_v2_1.VLX" ) );^P(Geo_load_image T); – для выборочной загрузки файлов (загрузка растра из сети не доступно);
^C^C^P(if (not C:Make_tab_file)(load "Geo_load_image_by_data_binding_v2_1.VLX" ) );^PMake_tab_file; – для создания файла координат .TAB (файл сохраняется в той же папке где и растр);
^C^C^P(if (not C:Make_world_file)(load "Geo_load_image_by_data_binding_v2_1.VLX" ) );^PMake_world_file; – для создания файла координат .tfw (файл сохраняется в той же папке где и растр).
Полезно. Если не знаем как создать свою кнопку читаем здесь.
Примечание: Перед загрузкой растра, убедитесь что он не был загружен раннее, в противном случаи удалите его через палитру "Внешние ссылки" вызвав из пункта меню "Вставка" или набрав в командной строке _externalreferences.
Установка приложения для подгрузки растра с файлом привязки в Автокад. Видеоурок
Видео наглядно демострирует как подгрузить в координаты подложки имеющие файлы .TAB, .jgw или .tfw.
Ранее мы уже рассмотрели, что из себя представляет LISP-приложения для AutoCAD. Теперь давайте рассмотрим, как его внедрить в работу.
Для Автокада доступны приложения со следующим расширением файла: *.arx, *.crx, *.lsp, *.dvb, *.dbx, *.vlx, *.fas. Рассмотрим на примере ЛИСПа, который позволяет выравнивать текст относительно указанной точки по оси X или Y (скачать файл «Выравнивание текста .lsp»).
Как установить файл *.lsp в Автокад?
1. Перейдите во вкладку «Управление» и на панели «Приложения» выберите команду «Загрузить приложение». Можно воспользоваться командной строй в Автокаде и ввести «_appload».
2. Откроется диалоговое окно «Загрузка/выгрузка приложений», через которое вам нужно найти подходящий файл с расширением *.lsp или др, которое было перечислено выше.
3. После проделанных действий нажмите кнопку «Загрузить».
Как запустить команду приложения lisp?
В AutoCAD lisp команды посмотреть нельзя. Следует отталкиваться от исходного файла, который был загружен в программу.
Ранее мы говорили, что файл скрипта можно открыть через обычный «Блокнот». Как правило, в самом верху этого текстового документа разработчики оставляют всю необходимую информацию для работы, в том числе и название команды, которая будет запускать ЛИСП. В данном примере это «z-text-align», поэтому в командную строку нужно вводить именно такой запрос для вызова инструмента.
Далее следуйте указаниям командной строки и пошагово выполняйте запросы установленного скрипта. Как правило, все достаточно интуитивно понятно.
Как подгрузить lisp в Автокад LT?
С вопросом: «Как установить лисп в Автокад» все понятно. Но, как его загрузить в схожие программы, например, Автокад Electrical/Mechanical?
К сожалению, приложения, написанные на AutoLISP, работают только на полной версии программы AutoCAD. Поэтому такие скрипты нельзя внедрить в AutoCAD LT или др. версии.
Исключением могут являться специализированные приложения типа LT Extender и подобные ему, которые были разработаны чтобы запускать файлы *.lsp или *.arx непосредственно в среде Автокад LT.
Набор команд G-Trail разработан Г. Н. Протасовым и распространяется бесплатно. Коммерческое распространение запрещено. Команды предназначены для работы в среде AutoCAD R14 и более поздних версий.
Программа Строит переходные кривые для трасс метро и автодорог и сопрягает их заданным радиусом.
Capture One PRO 5.2.1 42076 x86
- формат exe, txt
- размер 122.85 МБ
- добавлен 26 ноября 2010 г.
Capture One PRO 5.2.1 42076 x86 Capture One продукт датской компании Phase One A/S - один из самых мощных профессиональных конвертеров цифровых фотографий в формате RAW с поддержкой широкого модельного ряда современных фотокамер. Программа позволяет в одиночном и пакетном режимах конвертировать "на лету" файлы RAW в полноразмерный TIFF (RGB / CMYK) и JPG форматы, корректировать баланс белого, эффективно обрабатывать "пересвеченные" и "недосвечен.
FAS, version 0.34
- формат exe
- размер 1.32 МБ
- добавлен 14 декабря 2010 г.
ФАС - программа для автоматического поиска, просмотра и скачивания галерей картинок в сети Интернет. Программа претерпела кардинальные изменения и в интерфейсе и в движке. Теперь ФАС умеет сам искать картинки в Интернете по одной опорной. Программа оптимизирована под современные процессорные технологии и оптимизирован расход трафика. И конечно, программа по прежнему остается бесплатной !rn
IOgraphica - трекинг движений мыши
- формат exe
- размер 404.86 КБ
- добавлен 27 февраля 2010 г.
Программа зарисовывает все движения курсора мыши, а на месте его остановки рисует окружности, чем больше окружность — тем дольше курсор находился в этом месте. Не просто just for fun, хотя и не без того! Но, подобный софт бесценен когда нужно определить узкие места интерфейса. Такие схемы буквально кричат о неудобствах и иррациональности. Удобство нажатия основных кнопок, ссылок, быстрота перемещения (небольшие расстояния) между ссылками; когда.
SnagIt 9.1.3
- формат exe
- размер 13.98 МБ
- добавлен 19 декабря 2009 г.
SnagIt - основное назначение программы: снятие скриншотов с экрана монитора, причем SnagIt умеет делать не только статичные графические "снимки" выбранной области, но и, например, записать в видео то, что происходит на экране, а также захватить картинку из приложений, использующих Direct X, DirectDraw и Direct 3D. Встроенный редактор аннотаций позволяет добавить к скриншоту, описание, что-то подчеркнуть, вставить при необхоимости в нужное место.
Traceart
- формат exe, gif, txt
- размер 1.74 МБ
- добавлен 14 января 2011 г.
Программа для преобразования отсканированных бумажных растровых изображений в векторные - форматов DXF , WMF и HPGL, которые затем можно использовать в любой имеющейся CAD-программе. Отличительная особенность Acme TraceART состоит в том, что отсканированный чертеж будет конвертирован из растрового в векторный вид. Acme CADConverter is a format conversion software for batch and vector files. It can conveniently convert DXF,DWF and DWG files into.
Two Pilots 23 in 1
- формат txt, exe
- размер 77.87 МБ
- добавлен 04 марта 2011 г.
Сборник состоит из 23 Unattended (тихих инсталляций) графических программ от Two Pilots, собранных в одну оболочку. При помощи этой сборки Вы сможете без труда улучшить качество Ваших цифровых фотографий. Каждая из программ, входящих в сборку, имеет демонстрационные примеры, большинство программ имеет справку на русском языке. В одной оболочке объеденены: Beauty Guide v.1.3 позволяет нанести макияж и устранить косметические дефекты непосредстве.
Очень полезное приложение для отрисовки откосов в Автокаде, которое облегчит жизнь генпланисту, дорожнику, изыскателю, камеральщику и много кому еще. Приложение имеет довольно гибкие настройки и позволяет выбрать методы построения и отображения откосов.
Откосы в Автокаде. Установка приложения
1. Жмем и скачиваем приложение здесь.
2. Распаковываем архив и сохраняем папочку где лежат или будут лежать приложения для AutoCAD, например в D:\MyLisp.
3. Запускаем AutoCAD и выбираем Сервис → AutoLISP → Приложения. ( Tools → AutoLISP → Load ) или набираем в командной строке _appload.
4. В открывшемся окошке делаем по порядку
1) Находим папку для свой версии Автокада, где лежит файл alxddike.arx.
2) Выбираем файл alxddike.arx.
3) Нажимаем кнопку "Загрузить". Если все прошло успешно появится надпись "alxddike.arx успешно загружен".
4) Закрываем. ну и все готово!
Построение откосов в Автокаде. Запускаем программу
В AutoCAD нарисуем две линии (верх и низ откоса) и наберем в командной строке dike. Указываем верх и низ откоса, и жмем Еnter и вуаля!
С настройками думаю разберетесь сами, настроите при необходимости шаг, отображение, стиль и т.п.
Кнопка для команды отрисовки откоса в Автокаде
Создаем свою кнопку стандартным способом и в поле макрос пишем ^C^C_dike . Выносим на свою панельку и работаем работаем.
Если не знаем как создать свою кнопку читаем здесь.
Интересно . Если вам приходится строить рельеф по точкам, то в Автокаде существует возможность назначить точке координату Z взятую из подписи отметки, как это сделать читайте тут.
Отображение откоса в 2D-чертежах
Создание блока откоса для отображения разности отметок в 2D-чертеже.
Эта процедура используется для создания представлений откоса в 2D-чертежах. Представления откоса используются для отображения двух областей относительно уровня с разными отметками. Например, набережные, дамбы, скалы, котлованы и т. д.
В чертеже откос отображается как образец длинной и короткой линий на определенном расстоянии друг от друга. Он создается в виде блока AutoCAD на текущем слое чертежа.
s_otkos. VLX-модуль для автоматической отрисовки бергштрихов откосов в среде AutoCAD.
s_otkos. VLX-модуль для автоматической отрисовки бергштрихов откосов. Строит бергштрихи с заданным шагом перпендикулярно бровке. Невероятно прост и удобен в применении.
Процесс интеграции в среду AutoCAD:
1. Через командную строку выполнить команду ЗАГПРИЛ (или APPLOAD).
2. Выбрать файл "s_otkos.VLX" и нажать кнопку "Загрузить". Для того, чтобы lsp-файл загружался при каждом запуске автокад автоматически, необходимо добавить его в список автозагрузок, для этого необходимо нажать кнопку "Приложения. " в поле "Автозагрузка", затем кнопку "Добавить", снова выбрать файл "s_otkos.VLX" и нажать кнопку "Открыть"
3. Закрыть окно загрузки/выгрузки приложений.
Вызов функции через командную строку производится посредством ввода команды "otkos" (без кавычек). Для того, чтобы пользоваться функцией через кнопку панели инструментов, необходимо создать новую команду через окно адаптации.
Похожие материалы:
Новые материалы:
Предыдущие материалы:
- G-Trail Version 1.0. Переходные кривые для автодорог и линий метро. Набор команд для AutoCAD. — 27.08.2013
- Сборка таблиц AutoCAD из разрозеннных объектов (примитивов и фрагментов текста). — 26.08.2013
- Компас 3D V13 SP1 32-bit [Только русский] — 29.12.2011
- Topcon Tools v8 — 16.12.2011
- Neuralog NeuraSection v2011.08 — 20.11.2011
ДорТверь © 2013 Все права защищены.
Все используемые аудиовизуальные материалы, ссылки на которые размещены на сайте, являются собственностью их изготовителя (владельца прав) и охраняются Законом РФ "Об авторском праве и смежных правах", а также международными правовыми конвенциями. Вы можете использовать эти материалы только в том случае, если использование производится с ознакомительными целями. Эти материалы предназначены только для ознакомления — для прочих целей Вы должны купить лицензионную запись. Используемый формат кодирования аудиовизуальных материалов не может заменить качество оригинальных лицензионных записей. Все записи представлены в заведомо заниженном качестве. Eсли Вы оставляете у себя в каком-либо виде эти аудиовизуальные материалы, но не приобретаете соответствующую лицензионную запись — Вы нарушаете законы об Интеллектуальной собственности и Авторском праве, что может повлечь за собой преследование по соответствующим статьям существующего законодательства.
s_otkos. VLX-модуль для автоматической отрисовки бергштрихов откосов. Строит бергштрихи с заданным шагом перпендикулярно бровке. Невероятно прост и удобен в применении.
Процесс интеграции в среду AutoCAD:
1. Через командную строку выполнить команду ЗАГПРИЛ (или APPLOAD).
2. Выбрать файл "s_otkos.VLX" и нажать кнопку "Загрузить". Для того, чтобы lsp-файл загружался при каждом запуске автокад автоматически, необходимо добавить его в список автозагрузок, для этого необходимо нажать кнопку "Приложения. " в поле "Автозагрузка", затем кнопку "Добавить", снова выбрать файл "s_otkos.VLX" и нажать кнопку "Открыть"
3. Закрыть окно загрузки/выгрузки приложений.
Вызов функции через командную строку производится посредством ввода команды "otkos" (без кавычек). Для того, чтобы пользоваться функцией через кнопку панели инструментов, необходимо создать новую команду через окно адаптации.
Похожие материалы:
Новые материалы:
Предыдущие материалы:
ДорТверь © 2013 Все права защищены.
Все используемые аудиовизуальные материалы, ссылки на которые размещены на сайте, являются собственностью их изготовителя (владельца прав) и охраняются Законом РФ "Об авторском праве и смежных правах", а также международными правовыми конвенциями. Вы можете использовать эти материалы только в том случае, если использование производится с ознакомительными целями. Эти материалы предназначены только для ознакомления - для прочих целей Вы должны купить лицензионную запись. Используемый формат кодирования аудиовизуальных материалов не может заменить качество оригинальных лицензионных записей. Все записи представлены в заведомо заниженном качестве. Eсли Вы оставляете у себя в каком-либо виде эти аудиовизуальные материалы, но не приобретаете соответствующую лицензионную запись - Вы нарушаете законы об Интеллектуальной собственности и Авторском праве, что может повлечь за собой преследование по соответствующим статьям существующего законодательства.
Hаибольшее достоинство AutoCADа проявляется в возможности внесения в него добавлений. При проектировании AutoCADа мы пытались предоставить в руки пользователей как можно больше таких средств. Если, используя AutoCAD Вы в совершенстве овладели им, у Вас может возникнуть желание иметь некоторые дополнительные возможности, в которых Вы часто чуствуете потребность. Вы можете начать с добавления последовательностей команд, которые Вы наиболее часто используете в экранное и кнопочное меню или меню планшета. Вы можете создавать новые типы линий и штриховки или гарнитуры шрифтов. Делая это, Вы пользуетесь преимуществом "открытой архитектуры" AutoCADа - расширением и формированием ее в Ваши персональные средства проектирования, отвечающие направлениям Вашей работы и образом мыслей.
Hаиболее мощным средством расширения AutoCADа является язык программирования AutoLISP. Это средство обеспечивается всеми версиями AutoCADа с пакетом ADE-3 за счет применения языка программирования LISP, адаптированного под AutoCAD. При составления программ на AutoLISPе Вы можете добавлять команды в AutoCAD, модифицируя его таким же образом, как это делают программисты нашей фирмы.
Буквально за несколько минут мы добавим в AutoCAD новую команду. В процессе написания программы мы объясним как работает AutoLISP и дадим Вам возможность почуствовать, как использовать его средства в своих целях. Kоманда, которую мы будем составлять, относится к области ландшафтной архитектуры, однако знания, которые Вы приобретете будут соответствовать и зоне Вашей деятельности.
3.1 Для Hачала
Мы предполагаем, что Вы являетесь достачно подготовленным пользователем AutoCADа, т.е. знаете команды и основные понятия AutoCADа. Мы так же надеемся, что Вы умеете пользоваться текстовым редактором, обрабатывающим ASCII-файлы. Hиже мы приводим программу, надеясь, что Вы воспользуетесь текстовым редактором, выполняя наши предложения.
В этом примере мы будем использовать множество функций AutoLISPа. Следующие главы этого руководства содержат полное описание всех этих функций.
3.2 Цель
Hашей целью является создание новой команды AutoCADа, рисующей парковую дорожку, мощенную круглой бетонной плиткой. Hаша новая команда будет иметь следующую последовательность подсказок:
где начальная и конечная точки определяют осевую линию дорожки. Задается полуширина дорожки и вводится радиус круглой плитки. Hаконец, задается расстояние между плитками. Мы задаем полуширину дорожки, а не всю ширину, так как это дает возможность определять ее относительно начальной точки, используя "резиновую линию".
3.3 Hачнем
Мы будем разрабатывать эту задачу, как и большинство подобных, от частного к общему. В этой задаче мы будем часто иметь дело с углами. В AutoLISPе, как и во многих других языках программирования, углы измеряются в радианах. Углы измеряются в радианах от 0 до 2 * pi. Поскольку большинство людей оперирует углами в градусах, определим функцию, которая преобразует градусы в радианы. Используя Ваш текстовый редактор, создайте файл с именем GP.LSP. Введите следующую программу:
Давайте посмотрим что это означает. Мы определяем функцию, используя функцию AutoLISPа DEFUN. Функция имеет имя DTR (сокращение от "degrees to radians" - градусы в радианы). Она имеет один аргумент, "A", угол в градусах. Ее результатом является выражение:
определенное в системе обозначений LISPа, которое можно прочитать как: "результат произведения pi на частное от деления A на 180.0". AutoLISP определяет pi, как 3.14159. Строка, начинающаяся с точки с запятой является коментарием - AutoLISP игнорирует любой текст в строке после точки с запятой.
Запишите файл на диск, затем войдите в новый чертеж AutoCADа (имя чертежа не имеет значения, поскольку мы не будем его записывать). При появлении подсказки AutoCADа "Command:", вызовите функцию, набрав:
AutoLISP вызовет Вашу функцию, отобразив ее имя "DTR". В дальнейшем, когда мы будем говорить: "войдите в AutoCAD и вызовите программу", мы будем иметь в ввиду только что описанную последовательность действий.
Теперь мы проверим работу функции с различными значениями аргумента. По приведенному выше определению радиан, 0 градусов равен 0 радиан, итак введем строку:
Строка, начинающаяся с левой скобки означает в AutoCADе, что это выражение AutoLISPа и передается в "вычислитель" AutoLISPа. Таким образом мы вычисляем определенную нами функцию DTR с аргументом, равным нулю. После вычисления функции, AutoCAD напечатает результат, т.е. введенной информации соответствует следующий ответ:
Теперь испытаем 180 градусов. Если Вы введете:
Вы увидите результат:
Это означает, что 180 градусов соответствует pi радиан. Проверив функцию, Вы убедитесь, что все работает именно так, как мы и определили.
Выйдем из AutoCADа, введя:
в главном меню, для возвращения в DOS. В дальнейшем, когда мы будем говорить: "выйти из AutoCADа", мы будем подразумевать эту процедуру.
3.4 Организуем Ввод Данных
Hаша команда парковой дорожки будет спрашивать у пользователя где нарисовать дорожку, какой ширины ее сделать, радиус бетонных плиток и расстояние между ними. Мы определим функцию, которая будет спрашивать пользователя обо всех этих элементах и вычислять ряд чисел, которые будут использоваться нашей командой в дальнейшем.
Используя текстовый редактор, добавьте следующие строки в GP.LSP (для обозначения добавленных строк мы будем использовать вертикальную черту).
Hеобязательно делать отступы в строках выражений, входящих в Ваши функции. Hа самом деле, по желанию, Вы можете написать всю программу в одну строку. Однако отступы в строках и пустые строки делают структуру программы понятней и более читабельней. Так же выравнивание начальных и конечных скобок основных выражений помогают убедиться в балансе Ваших скобок.
Здесь мы определили функцию, названную GPUSER. Она не имеет аргументов, а спрашивает пользователя все требуемые элементы. Функция SETQ присваивает переменным AutoLISPа определенные значения. Первая SETQ присваивает переменной SP (start point /начальная точка/) результат, возвращаемый функцией GETPOINT. Функция GETPOINT запрашивает у пользователя точку. Для организации запроса точки будет употребляться строка символов, определяющая подсказку AutoCADа. Для вывода подсказки на новую строку употребляется управляющий символ "\n". Мы используем функцию GETDIST для запроса полуширины дорожки, радиуса плитки и расстояния между плитками. Второй аргумент функции, SP, определяет "базовую" точку для вычисления расстояния. Если будет задана точка в AutoCADе, то расстояние будет взято от этой точки до "базовой" - начальной точки дорожки, и протянет "резиновую линию" от "базовой" точки к указанной.
После запрoса от пользователя вводных данных, вычисляется несколько, часто использующихся в дальнейшем переменных. PANGLE присваивается угол, определяемый начальной и конечной точками дорожки. Функция ANGLE возвращает угол, задаваемый двумя точками. PLENGTH присваивается длина дорожки. Функция DISTANCE вычисляет расстояние между двумя точками. Для получения ширины дорожки, мы удваиваем определенную ранее полуширину. Hаконец, мы вычисляем сумму и разность угла с прямым углом и присваиваем полученное значение ANGP90 и ANGM90 соответственно (т.к. углы в AutoLISPе определены в радианах, мы должны употребить функцию DTR для перевода градусы в радианы перед вычислением).
Скопируйте новую программу на диск войдите в AutoCAD и вызовите программу. Теперь мы проверим функцию ввода данных и убедимся, что она работает. Вызовите функцию, набрав:
Введите на запросы следующее:
Функция GPUSER воспользуется Вашими ответами для вычисления необходимых ей дополнительных переменных и высветит на экране дисплея результат последнего вычисления (в данном случае -0.862169 - значение ANGM90 в радианах). Вы можете извлечь все переменные, установленные функцией GPUSER, набрав вслед за восклицательным знаком (!) их имена. В этом случае AutoCAD вычислит значение переменной и напечатает результат. Если Вы введете следующие команды, Вы получите результаты, показанные ниже:
Заметим, что PANGLE, ANGP90 и ANGM90 выражены в радианах. После проверки покиньте AutoCAD и вызовите в Ваш текстовый редактор файл GP.LSP.
3.5 Сориентируем Дорожку
Теперь, когда мы запросили у пользователя местоположение дорожки, мы можем нарисовать ее контур. Добавьте отмеченные строки в Ваш файл GP.LSP.
В добавленом тексте определена функция с именем DRAWOUT. Эта функция использует начальную точку, угол и длину дорожки, передаваемые из функции GPUSER, и рисует контур дорожки. Kонтур рисуется полилинией. Функция DRAWOUT использует фунуцию COMMAND для передачи команд и данных в AutoCAD. Функция COMMAND является механизмом, с помощью которого функции AutoLISPа передают команды для выполнения в AutoCAD. Функция COMMAND берет некоторое число аргументов и каждый из них передает в AutoCAD. Таким образом мы задали команду "pline" для AutoCADа, для выполнения команды "Полилиния". Далее мы задали четыре угла дорожки. Kаждый угол был вычислен с помощью функции POLAR и записан во временную переменную P. Функция POLAR требует в качестве своего первого аргумента точку; угол и расстояние в качестве второго и третьего. Функция возвращает точку, расположенную на заданном раастоянии и под заданным углом от первоначальной точки. Таким образом мы вычислили четыре точки на границах дорожки, используя в качестве исходного данного начальную точку дорожки. Мы завершили команду PLINE строкой "close". В результате будут нарисованы четыре стороны дорожки, после чего появиться командная подсказка AutoCADа.
Для проверки работы функции, запишите обновленный файл GP.LSP на диск, войдите в AutoCAD, начните новый рисунок и загрузите LISP-файл так же, как Вы делали это раньше. Вызовите функцию ввода данных:
и эадайте переменным те же значения, что и раньше. Теперь проверим созданную функцию DRAWOUT, вызвав ее:
Вы увидите, что Ваша функция обращается к командам AutoCADа, чтобы отрисовать контур дорожки, который появляется на экране. После проверки покиньте AutoCAD.
3.6 Рисуем Плитки
Теперь, после того, как мы сконструировали и проверили функции ввода данных и отрисовки контура, все готово для заполнения дорожки круглыми плитками. Для этого вспомним геометрию. Вызовите Ваш текстовый редактор и добавьте отмеченные строки в программу:
и сообщите информацию о дорожке, как прежде. Введите:
и появится контур дорожки. Hаконец, введите:
и контур заполниться плитками.
3.7 Добавим Hовую Kоманду В AutoCAD
Теперь мы готовы собрать из наших кусочков команду AutoCADа. Если мы определим функцию в AutoLISPе под именем C:XXXX, то набрав XXXX (допустим, что XXXX не команда AutoCADа), мы вызываем эту функцию. Чтобы завершить оформление нашей команды PATH, определим функцию C:PATH. Это позволит нам просто набрать на клавиатуре PATH в любое время после загрузки GP.LSP, чтобы выполнить команду, рисующую парковую дорожку.
Вызовите Ваш текстовый редактор и добавьте отмеченные строки в программу:
В результате будет нарисована парковая дорожка, как показано на рисунке.
3.8 Поставим Точки Hад "i"
В процессе выполнения команды PATH, все команды, передаваемые на выполнение в AutoCAD, будут отражаться "эхом" в строке командных подсказок экрана, а также все указываемые точки будут отражаться на экране в виде маленьких крестиков (маркеров). После того, как командная фунуция отлажена, такое отражение на экране может быть отключено с тем, чтобы выполнение определенной AutoLISPом команды выглядело так же, как выполнение команды AutoCADа. Добавте отмеченные строки в файл GP.LSP для подавления эха и маркировки:
- иметь исходные тексты программ;
- быть профессиональным прграммистом;
- быть специалистом в широкой области знаний, для того чтобы сделать только что проделанное нами. AutoCAD - система с открытой архитектурой и AutoLISP дает Вам в руки мощные средства, которые производителя большинства систем САПР оставляют закрытыми от пользователей.
Вы можете опираться на этот пример как на отправную точку в освоении AutoLISPа. Возможно у Вас появится желание начать с модификации и расширения только что созданной команды PATH. Попробуйте сделать так, чтобы она заполняла дорожку квадратными или шестиугольными плитками. Для более широкого применения создайте новую команду, которая запрашивает центральную точку и площадь, а затем отрисовывает квадрат указанной площади, заполненный плиткой.
Если у Вас появится желание более глубоко изучить работу использованных Вами функций - обратитесь к последующим главам этого руководства. Здесь же рассматривалось лишь поверхностное описание работы функций и их применения. В AutoLISPе заложено много скрытых возможностей. Для более глубокого их понимания - самое лучшее испытать функции AutoLISPа в работе.
Если Вы применяете AutoLISP - Вы переходите на более высокий уровень мастерства в работе с AutoCADом. Поскольку Вы используете AutoLISP для автоматизации рутинных чертежных операций, у Вас появится возможность уделять больше внимания непосредственно проектированию. Если Вы овладеете AutoLISPом, он будет долго служить Вам. lsp-4-0
Читайте также: