ПредишенСледващото

В този урок ще разгледаме как да управлявате програмата на диалогов прозорец LISP.

Като пример, ние ще използваме, създадени в диалоговия прозорец урок предишния. "Диалоговия прозорец"

И веднага да започнете с кода, който контролира диалоговия прозорец.

Пример фъфлене програма, AutoCAD

Фиг. 1. "диалоговия софтуер за контрол на кода".

диалоговия прозорец Управление на LISP програма се извършва на няколко етапа:

диалоговия прозорец Файл за изтегляне

Първо, трябва да изтеглите на DCL-файла, съдържащ желаното диалог.

Ако диалогов прозорец се зарежда, тази функция връща поредния номер на заредения DCL-файла в работата на сесия с AutoCAD система.

С помощта на setq за присвояване на оператора запомня този брой в променлива dcl_id.

Ако не се зареди диалоговия прозорец, функцията връща отрицателно число.

Ако името на файла в аргумент е без пътека, AutoCAD система се опитва да намери файла в папката Support Когато придружаващите файлове.

Добавяне на пътя към помощните файлове.

Не е да се напише пълния път до нашия диалогов прозорец, нека добавим пътя до папката, в нашето "D: \ MyLisp» в начина на достъп до файловете за поддръжка на AutoCAD. й папка подкрепа Made.

За да направите това, кликнете върху бутона "Прилагане" в диалоговия прозорец на "Опции", за кутията. Виж. Фиг. 2.

Пример фъфлене програма, AutoCAD

Фиг. Бутон 2. Прилагане

отваря "Настройки" прозорец. Вж. Фигура 3.

Пример фъфлене програма, AutoCAD

Фиг. 3. "Добавяне на път за подкрепа на файл"

Тя отидете в раздела "Файлове".

Щракнете върху [+] в предната част на елемента "Подкрепа File пътя".

След това кликнете върху бутона "Добави". След това върху бутона "Browse ...". "Преглед на папка" отваря прозорец.

Намираме папка «D: \ MyLisp» и натиснете OK.

нова линия «: \ MyLisp D» се появява в маршрутите за достъп до спомагателните файлове.

Пример фъфлене програма, AutoCAD

Фиг. 3. "Пътят на поддръжка на файл"

Щракнете върху OK. Сега AutoCAD знае къде да търси файла си и вместо пълния път до него, достатъчно, за да напишете само името му.

Отваряне на диалоговия прозорец и да провери наличието на диалог.

Тази функция се отваря диалогов прозорец, и се връща T (True), ако диалогът със същото име в този файл там.

И се връща Nil ако диалогът не може да бъде намерен.

Нека за по-добро разбиране на линия

замени функцията (new_dialog «mp_paral» dcl_id) връщане стойност Те.

Ще (ако (не T) (изход)) - ако не изляза Т. С други думи, освен ако диалоговия прозорец Отвори, за да завърши програмата.

Ако всичко върви добре, тя ще се отвори диалогов прозорец, в работен прозорец AutoCAD. Виж. Фиг. 5.

Пример фъфлене програма, AutoCAD

Фиг. 5. диалоговия DCL

LISP програма ще бъде на пауза и изчакайте за въвеждане на текст.

Въведете стойностите в "дължината", "ширина", "височина" и натиснете един от двата бутона. (OK или Отказ). AutoCAD се връща в програмата LISP.

Описание на действието при натискане на бутоните и затваряне на диалоговия прозорец.

За описание на действията, които се изпълняват програмата, като щракнете върху бутоните, използвани action_tile функция. В общи линии, това изглежда така:

Така следния израз

За потребителски дефинирана функция (raz_paral) ще бъдат обсъдени по-късно.

Функция (done_dialog 1) - затваря диалоговия прозорец и изпраща цифрова стойност, която може да се прочете функция (start_dialog)

В следващия ред

(Start_dialog) чете с всеки диалогов прозорец стойност цифровата е затворена

Setq - той възлага на променлива DDI.

Качване на диалоговия файл

Функция (unload_dialog dcl_id) - разтоварва с пореден номер dcl_id диалог.

Defun функция.

За да създадете потребителска функция е функция defun. В общи линии, това изглежда така:

Дефинирани от потребителя функция (raz_paral) (размер на карето).

Кодът създава функция (raz_paral) е показана на Фиг. 6.

Фиг. 6. "Потребител функция raz_paral»

Функция (get_tile «eb_Dl«) - пише в съдържанието на диалоговия прозорец с eb_Dl код. Връща стойност низ (ако стои в поле 100. връща "100").

За да се превърне низ до цяло число с помощта на функцията (atoi <строка>)

По този начин, ред

Чете съдържанието на полето "Дължина" (код на полето eb_Dl), тя се превръща в цяло число, и го съхранява (с помощта на setq функция) на променлива DL.

В него е записано съдържанието на полето "ширина" и го съхранява в променлива Sh.

В него е записано съдържанието на "височина" поле и го съхранява в променливата Здравейте.

Функция (raz_paral) - не съдържа аргументи и променливи на временни работници. Ако променливи Dl, Sh, Hi посочите като работници, в края на стойностите на функцията на променливите ще бъдат изтрити от паметта. И имаме нужда след края на функцията (raz_paral), тези променливи запазват своите стойности.

След функцията е била създадена, тя може да се нарече навсякъде в програмата чрез набиране (raz_paral).

Дефинирани от потребителя функция (mp_kub Dl Sh Hi).

Нека да се превърне в програмата, създадена в урок? "Пример за прост програми на LISP" в потребителските функции. Виж. Фиг. 7.

Пример фъфлене програма, AutoCAD

Фиг. 7. "Потребител функция mp_kub»

За да направите това, премахване на "C:"

Добавянето аргументи Dl Hi Sh.

И излага аргументи в програмата вместо броя 200, както е показано на фигура 7.

В резултат на това, ние получаваме потребителска функция, както е показано на фиг. 8.

Пример фъфлене програма, AutoCAD

Фиг. 7. "Потребител функция mp_kub»

След mp_kub променливи функцията P1 P2 P3 P4 p5 p6 P7 р8 ние не се нуждаем. И така, те не се съхраняват в паметта, да ги добавите като временни работници променливи.

За да се обадите на тази функция, трябва да изберете

Обща програма LISP с диалогов прозорец.

Общо програма LISP с диалогов прозорец ще се появи, както е показано на фиг. 9.

Пример фъфлене програма, AutoCAD

Фиг. 9. "Обща програма"

Mp_paral софтуерен код на програмата:

Изтеглете диалогов прозорец Mp_paral.dcl (размер на файла: 392 байта)

Изтеглете Mp_paral.lsp програма (големина на файла: 781 байта)

Той създава потребителски функция, наречена «mp_paral».

префикс "C:" The означава, че тази функция може да се използва като стандартен командването AutoCAD.

Трябва само да въведете името в командния ред на AutoCAD.

(/ Dcl_id чеп Dl Sh Hi) - временни работни променливи, използвани в програмата.

Освен това, има създаване на потребителска функция mp_kub (обсъдено по-горе).

След това, създаването на потребителска функция raz_paral (обсъдени по-горе).

Програмата след това контролира диалогов прозорец (обсъдени по-горе).

Ако променливата DDI = 1 да изпълнява функция (mp_kub Dl Sh Hi)

Частично DDI = 1. ако даден потребител в диалогов прозорец чрез натискане на бутона "ОК".

Ако потребителят кликне върху бутона "Отказ", променливата DDI = 0 и функцията (mp_kub Dl Sh Hi), няма да бъде изпълнена.

Функция (Princ) изпълнява мека изход.

Последно ")" - означава функцията на крайната mp_paral.

Изтеглете и стартирайте mp_paral програма.

За да проверите работата на програмата:

Създаване на нов файл Фиг. 10.

Пример фъфлене програма, AutoCAD

Фиг. 10. "Създаване на нов файл"

Ние го отпечатате или копирате текста на програмата от сайта.

Запазете файла в «D: / MyLisp» папка с името «mp_paral».

На следващо място, се зареди програмата и отидете на AutoCAD. Виж. Фиг. 11

Пример фъфлене програма, AutoCAD

Фиг. 11. "Изтегляне на програма"

В командния ред и натиснете въведете mp_paral . Виж. Фиг. 12.

Пример фъфлене програма, AutoCAD

Фиг. 12. "командния ред"

Отворете диалоговия прозорец "Box". Вж. Фигура 13.

Пример фъфлене програма, AutoCAD

Фиг. 13. "диалог"

Той допълни полето "дължината", "ширина", "височина" и кликнете върху OK.

В командния ред се появява: "Избор на базова точка:". Кликнете някъде в прозорец AutoCAD работа и тя ще се направи кутия. Виж. Фиг. 14.

Пример фъфлене програма, AutoCAD

Фиг. 14. "Кутия"

По този начин, в тази статия ще погледна пример за създаване на диалоговия прозорец LISP програма в.

  • Как да се справим с диалоговия прозорец на LISP програма.
  • Как да добавите пътя до файловете за поддръжка на AutoCAD.
  • Как да създавате и използвате потребителски дефинирани функции.

всичко, което имам;

Беше ли трудно да се осъществява този урок?;

където имате трудности?

Ако желаете да получавате новини от моя сайт. Абонаменти.

Докато се срещнем отново.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!