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

Владимир Azarko известен още като VVA

Намерили сте полезни за себе си Lisp код и искате да го използвате. Можем да различим три стъпки:

  • запазване на код на компютъра си

  • Качване на файл

  • стартиране на приложението

Забележка: AutoLISP програма може да се управлява само от пълната версия на AutoCAD, те не работят под AutoCAD LT. (С изключение на случаите на изтегляне на допълнителни приложения като LT Extender и други подобни, които са специално проектирани, за да стартирате Lisp и (или) прилагането ARX в AutoCAD LT среда.)


* Запазване на кода на вашия компютър

С курсора изберете този код и го копирате в клипборда кликнете с десен бутон и изберете Copy (или Ctrl + C).
Стартирайте "Notepad" и поставете в нашия код, използвайки ^ Редактиране на меню >> Поставяне (или Ctrl + V):


(Defun C: OFF2 (/ г OBJ вх ADOC * грешка * връщане определя Flag)

(Defun * грешка * (MSG) (VLA-EndUndoMark ADOC))

(VI-натоварване-ком) (setq ADOC (VLA-да-activedocument (VLAX-да-акад-обект))

установява (VLA-Get-слоеве ADOC)) (VLA-StartUndoMark ADOC) (setvar "CMDECHO" 0)

(Ако (нула * OFF2 *) (* setq OFF2 * (ABS (getvar "OFFSETDIST"))))

(Ако (zerop * OFF2 *) (setq * OFF2 * 1)) (setq г (getvar "UNDOCTL"))

(Условие ((= г 0) (VL-cmdf "_.UNDO" "_all"))

Отмяна "" _Control "" _all "))

(Т нула)); _ край на секунда

(Princ "\ п Количеството на изместване").

(Initget 6) (ако (нула (setq г (getdist))) (setq г * OFF2 *))

(Setq * OFF2 * г връщане 0 Flag т)

(Initget "Отмяна Отказ J излизане излизане T Y D _Undo Отмяна Отмяна Отмяна излизане излизане излизане излизане")

(Setq OBJ (entsel (strcat "\ н Изберете обект ["

(Ако (не (zerop отмените)) "Отказ /" "")

(Условие ((= OBJ "Отмяна") (ако (не (zerop връщане)) (progn

(VI-cmdf "_UNDO" "_B") (setq връщане (1- връщане))) (сигнализира "Излишно е вече затвори")))

((= Obj "Изход") (setq Flag нула))

((Null OBJ) (ако (= (getvar "ERRNO") 52) (setq Flag нула) (принц "*** *** минало")))

(T (setq вх (VLAX-ename-> VLA-обект (кола OBJ)))

(Условие ((= (VLA-получите заключване (VLA-т установява (VLA-да-слой вх))): VLAX-вярно)

(Alert "на заключен слой!"))

((VLAX-метод, приложим-р вх 'Отместване) (VL-cmdf "_UNDO" "_M") (setq връщане (1+ връщане))

(VLA-компенсира вх г) (VLA-компенсира вх (- 0 г)))

(T (предупреждава "Не можеш да се създаде обект като този")))))

(Initget "Отмяна Отказ J излизане излизане T Y D _Undo Отмяна Отмяна Отмяна излизане излизане излизане излизане"))

(Princ "\ nNaberite OFF2 командния ред"))

След като добавя кода в бележник, трябва да имаме нещо като това:



^ Изтегляне на файла фъфлене

На следващо място, стартира AutoCAD и изберете Tools >> Avtolisp >> Изтегляне (Tools >> AutoLISP >> Load) или тип в _appload на команден ред.
Ние трябва да видите диалогов прозорец, както е показано по-долу:

Използвайте следното за зареждане off2.lsp:

  1. Намерете папката, където сте записали фъфлене файла.

  2. Изберете файла, който искате да изтеглите от списъка на файла.

  3. Щракнете върху бутона Upload.
    (Ако всичко мине добре, трябва да видите "off2.lsp качена успешно")

  4. Щракнете върху бутона Close, за да завършите командата.


Командата или функцията?


Първо трябва да се определи това, което имаме: команда или функция?
Малко теория.
В описанието на практически всеки код, има ред като

и след това след това нещо написано там. Така че това е, което той казва е името на функцията.
Ако първият символ е C:. функцията е готов да се нарича от командния ред. Ако не е, тогава е необходимо да извикате функция чрез затваряне на името му в скоби.
Например, там е функция

Неговата кауза (при условие, че това е натоварване) може да бъде директно от командния ред:

И действието ще бъде изпълнена
Но това:

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

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