Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2021-06-30 | 59 |
5.00
из
|
Заказать работу |
|
|
Несколько выполняемых совместно и связанных между собой LISP -программ можно объединить в один проект. Каждый такой проект может работать в исходных текстах или в компилированных файлах с расширением FAS. Компиляция проекта в единый FAS - файл дает преимущества по скорости загрузки и выполнения.
Новый проект создается по команде Project - New Project. После введения имени проекта открывается диалоговое окно Project Properties с двумя вкладками (рис.5.2).
Рис. 5.2. Диалоговые окна Project properties
Проекты открываются по команде Project - Open Project. Окно проекта содержит перечень файлов и панель инструментов с командами, аналогичными командам в меню (рис.5.3). Файлы открываются двойным щелчком на их имени. Загрузить весь проект можно, щелкнув по кнопке Load Project FAS. Можно работать также с каждым файлом в отдельности.
Рис. 5.3. Открытие файлов LSP из окна проекта
Другой вид приложений - VLX -приложения, в состав которых могут входить не только LSP -файлы, но и DSL -файлы диалоговых окон, FAS -файлы и текстовые TXT -файлы. Все включаемые компоненты собираются в единый файл приложения с расширением VLX. Для создания нового VLX -приложения нужно вызвать мастера по команде File - Make Application - New Application Wizard (рис.5.4). Выбор режима, определяющего тип приложения, возможен из двух вариантов: SIMPLE или EXPERT. Простое приложение может состоять только из LSP и FAS -файлов. В сложном приложении могут присутствовать также DSL, PRJ и TXT -файлы.
Рис. 5.4. Вызов мастера создания VLX-файлов
Загрузить файл можно по команде File - Load File, либо с консоли с помощью функции Load, либо в сеансе AutoCAD.
Помимо примитивов, в рисунке всегда присутствует неграфическая информация: описания блоков, таблицы слоев, видовых экранов, типов линий, размерных стиле и пр. Все они хранятся в базе данных примерно в таком же виде, как примитивы.
|
Для доступа к табличным объектам в языке AutoLISP используют функции: tblnext, tblobjname, tblsearch. В качестве названий таблиц в этих функциях могут фигурировать только следующие текстовые строки:
· BLOCK - таблица описаний блоков;
· LAYER - таблица слоев;
· LTYPE - таблица типов линий;
· STYLE - таблица текстовых стилей;
· DIMSTYLE - таблица размерных стилей;
· UCS - таблица именованных систем координат;
· VIEW - таблица именованных видов;
· VPORT - таблица конфигураций видовых экранов;
· APPID - таблица имен приложений.
Рассмотрим на примерах схему использования этих функций.
(setq listlay1 (tblnext "LAYER" T)) - возвращает список с данными первого слоя рисунка, например, такого типа:
((0. "Layer") (2. "0") (70. 0) (62. 7) (6. "Continuous")).Это список точечных пар. DXF -коды означают:
· 0 - имя таблицы;
· 2 - имя слоя;
· 6 - тип линий примитивов слоя BYLAYER;
· 62 - цвет слоя по умолчанию;
· 70 - состояние слоя.
Для примитивов подобный список возвращает функция entget.
(setq listlay2 (tblnext "LAYER")) - возвращает список с данными второго слоя рисунка, например, такого типа:
((0. "Layer") (2. "Inner") (70. 4) (62. 4) (6. "Dashed")).Еслизапуститьфункцию (setq lay2name (tblobjname "Layer" "Inner")), тоонавозвратит <Entity name:14ab234>. Теперь с помощью функции entget можно получить тот же список, что и для listlay2 в предыдущем примере.
С помощью этих функций можно проанализировать наличие в чертеже таких элементов, как описания блоков, пользовательские системы координат, текстовые стили.
Свойствами, аналогичными таблицам, обладают словари. Существуют словари стилей мультилиний, групп, таблиц, растровых изображений, вкладок листов. Пользовательские приложения могут создавать в чертеже свои словари.
Операции над словарями и их элементами осуществляют функции: dictadd, dictnext, dictremove, dictrename, dictsearch, namedobjdict. Здесь нет операции модификации записи. Поэтому при необходимости нужно вначале удалить старую запись. Затем добавить в словарь новую.
|
Файлы AutoLISP можно загрузить либо непосредственно в AutoCAD, либо в среде Visual LISP. Все файлы процедур должны иметь расширение. LSP. Однако для безопасности и ускорения работы процедуры AutoLISP можно компилировать в файлы проекта с расширением.PRJ или.VLX. Программа сначала загружает одноименные файлы с расширением.VLX. Если такого файла нет, то программа ищет файл. PRJ. Если и его нет, то загружается файл. LSP. Однако, если файл LSP более новый, чем другие, то он загрузится в первую очередь.
Загpузить файл "Circle. LSP " в AutoCAD можно следующими способами:
· из командной строки выражением LISP (load "circle");
· командой appload - откроетсяокно Load/Appload Applications. Если файл будет использоваться постоянно, то его нужно добавить в набор Start Suit с помощью кнопки Content. Эту операцию можно выполнить путем перетаскивания пиктограммы файла в окне Load/Appload Applications. Процедура будет загружаться при каждом запуске программы AutoCAD;
· командой Tools - AutoLISP - Load Application - откроетсядиалоговоеокно Load/Appload Applications;
· командой Tools - Load Application - откроетсяокно Load/Appload Applications.
Если файл находится в каталоге, не включенном в список маршрутов поддержки, то необходимо задать полный маршрут файла:
(load "c:/Programm Files/AutoCAD 2007/Support/Circle") или(load "c:\\Programm Files\\AutoCAD 2007\\Support\\Circle")Обычно все процедуры AutoLISP сохраняют в одном каталоге. Этому каталогу создают маршрут доступа к файлам поддержки по команде Tools - Options - Files - Support File Search Path - Add - Browse.
Программа AutoCAD автоматически загружает четыре файла AutoLISP. Первые два - системные ACAD2010. LSP и ACADDOC2010. LSP. Два других файла предназначены для пользователей: ACAD. LSP и ACADDOC. LSP. Пользователи могут загружать в эти файлы любое количество процедур.
При открытии нескольких чертежей можно по -разному организовывать процедуры AutoLISP в зависимости от того, применяются ли они ко всем чертежам или к чертежу, открытому первым. Файл ACAD. LSP загружается только для первого чертежа. Файл ACADDOC. LSP загружается при открытии каждого чертежа.
Порядок загрузки файлов:
· ACAD2010. LSP
· ACAD. LSP
· ACADDOC2010. LSP
· ACADDOC. LSP
Файлы AutoLISP, загруженные для одного конкретного чертежа со своими переменными, не будут доступны в остальных чертежах. Для совместного использования функций в нескольких чертежах вместо команды (load "circle") нужно применить команду (vl-load-all "circle"). Действие функций файла будет распространяться не только на все открытые чертежи, но и на все чертежи, которые будут открыты в данном сеансе.
|
Упражнение
Создайте приветствие на экране. Загрузитев файл C:\Programm Files\AutoCAD2010 \Support\acad. lsp такуюпроцедуру:
(defun c:tex (/) (command "-view" "_top" "_vscurrent" "_2dwireframe" "_regen") (entmake (list '(0. "TEXT") '(8. "0") '(100. "AcDbText") '(10 0.0 0.0 0.0) '(40. 2.5) '(1. "Hello") '(7. "Standard") )) (command "_zoom" "_e"))(c:tex)Проанализируйте каждую группу списка свойств текстового примитива.
Ключевые термины
Сущность объекта (entity) - список параметров объекта в базе данных.
Имя сущности (entity name) - параметр сущности с кодом DXF, равным -1.
Набор объектов - совокупность объектов, выделенных по команде ssget (Selection Set Get - получение набора выделения).
Файлы инициализации - четыре файла AutoLISP, автоматически загружаемые в AutoCAD. Для пользователей предназначены два файла: ACAD. LSP и ACADDOC. LSP.
Проект - несколько выполняемых совместно и связанных между собой LISP -программ.
Краткие итоги
Любой объект AutoCAD описывается в базе данных программы списком своих параметров. С помощью функций доступа и модификации возможно редактирование этих параметров и изменение объекта.
Вопросы
1. Какие элементы образуют структуру языка AutoLISP?
2. Какие элементы образуют структуру данных, используемых в процедурах?
3. Как получить информацию об объекте AutoCAD?
4. Какие функции организуют ввод данных пользователем?
5. Как работают процедуры с функциями доступа и модификации?
6. Как создать FAS - и VLX -приложения?
Внимание! Если Вы увидите ошибку на нашем сайте, выделите её и нажмите Ctrl+Enter.
© Национальный Открытый Университет "ИНТУИТ", 2021 | www.intuit.ru
Национальный Открытый Университет "ИНТУИТ": www.intuit.ru
Валерий Пакулин
|
|
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!